题主想要读懂下图的makefire文件,但是不理解标蓝的那一行的“($TARGET)”是什么意思及语法,也不太理解TARGETS += -D__F1__这样的操作是在干什么,请求帮助!
$(TARGET)用来存放编译参数,在每个开关打开时,对应加上-D__F1__
-D 这个是g++的宏定义,相当指定在main.cpp定义宏 __F1__
,这样的话可以控制其他包含有这个宏的文件在编译是否生效
我猜测这些宏已经在头文件中声明过,你可以检查一下f1.cpp等其它文件是不是定义过 __F1__
__F2__
这些宏
是不是你C语言文件中的一个全局变量?
不是的不是的,题目整体是这样的,上面的makefile是答案,但是题主看不懂
TARGET是一个常量,这个常量在前文应该是有定义的,比如TARGET=1,加$符号就是表明,TARGET是一个常量1,而不是一个字符串。在解释时TARGET会用1来替代。至于TARGET具体是什么,你可以看看上下文