makefile中定义宏进行编译

来源:互联网 发布:linux系统上网 编辑:程序博客网 时间:2024/06/12 01:00

最近编译了一个h.264的开源软件,发现其中一个错误是没有定义变量,详细查看了下该文件时选择编译的,即采用了#ifdef USE_DISPLAY则编译该段代码,如果没有则不进行编译。此处,我们在源文件中没有进行定义,而是在makefile中进行定义的,下面写个小的测试代码,如下所示

#include <stdio.h>int main(){#ifdefUSE_DISPLAYprintf("define USE_DISPLAY macro!\n");#elseprintf("not define USE_DISPLAY macro!\n");#endifreturn 0;}

在makefile中定义宏USE_DISPLAY,定义方法是-DUSE_DISPLAY,如下所示

.PHONY: allCC = gccRM =rmCFLAGS = -DUSE_DISPLAYTARGETS := myappall : $(TARGETS)$(TARGETS) : main.c$(CC) $(CFLAGS) $^ -o $@clean:$(RM) -f *.o$(RM) -f $(TARGETS)




原创粉丝点击