在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 ;
}
执行:make clean all
执行:./myapp
输出结果:Hello Yu Qiang, How are you?