1. 程式人生 > >關於makefile中變量的多次賦值以及override指令

關於makefile中變量的多次賦值以及override指令

順序 使用 += 令行 所有 命令 也不會 makefile err

1 基本原則如下

1.1 原則1

變量的普通賦值是有先後順序的,後面的賦值會覆蓋掉前面的賦值。

1.2 原則2

使用的時候,用的是其前面最後的賦值,就算其後面有使用了override指令的賦值也不會影響這條原則。

1.3 原則3

當使用了override指令定義賦值了變量後,其後對該變量的所有的賦值都是無效的。但是override之前的所有的賦值都是有效的。使用的時候是往前最近原則。

2 override變量、命令行參數和普通變量之間的屏蔽關系

override變量會屏蔽命令行參數,除非用+=;

override變量會屏蔽其後面出現的所有的普通變量的賦值,但是不會屏蔽其前面出現的普通變量的賦值;

命令行參數會屏蔽掉所有的普通變量,只要命令行參數中賦值了,make會忽略掉Makefile中對該變量的賦值。

關於makefile中變量的多次賦值以及override指令