请问这个makefile文件中这一行是什么意思?

题主想要读懂下图的makefire文件,但是不理解标蓝的那一行的“($TARGET)”是什么意思及语法,也不太理解TARGETS += -D__F1__这样的操作是在干什么,请求帮助!
img

$(TARGET)用来存放编译参数,在每个开关打开时,对应加上-D__F1__

-D 这个是g++的宏定义,相当指定在main.cpp定义宏 __F1__,这样的话可以控制其他包含有这个宏的文件在编译是否生效

我猜测这些宏已经在头文件中声明过,你可以检查一下f1.cpp等其它文件是不是定义过 __F1__ __F2__ 这些宏

是不是你C语言文件中的一个全局变量?

不是的不是的,题目整体是这样的,上面的makefile是答案,但是题主看不懂

img

img

img

TARGET是一个常量,这个常量在前文应该是有定义的,比如TARGET=1,加$符号就是表明,TARGET是一个常量1,而不是一个字符串。在解释时TARGET会用1来替代。至于TARGET具体是什么,你可以看看上下文