在Makefile中我们可以通过宏定义来控制源程序的编译。只要在Makefile中的CFLAGS(变量名随意)中通过选项-D来指定你于定义的宏即可。
如:
CFLAGS += -D _YUQIANG
在编译的时候加上此选项就可以了: $(CC) $(CFLAGS) $^ -o $@
例如:
Makefile文件内容为:
CC = gcc RM = rm CFLAGS += -D _YUQIANG TARGETS := myapp all:$(TARGETS) $(TARGETS):main.c $(CC) $(CFLAGS) $^ -o $@ clean: $(RM) -f *.o $(RM) -f $(TARGETS)
main.c文件的内容为:
#include <stdio.h> int main() { #ifdef _YUQIANG printf("Hello Yu Qiang, How are you?/n"); #else printf("Sorry to lost you. /n"); #endif return 0; }
执行:make clean all
执行:./myapp
输出结果:Hello Yu Qiang, How are you?