我的makefile正在编译我的程序以进行调试。我的意思是它将-g -D DEBUG
传递给编译器。我希望能够通过-nd
传递 n ot d ebug或-p
进行 p 生成从编译器中删除调试标志。要做到这一点,我需要一些方法将其置于make语法中:“如果MAKEFLAGS不是 nd 然后将CFLAGS设置为-g -D DEBUG
,否则将其留空”
我该怎么做?
答案 0 :(得分:1)
如果你关心的只是-nd
,那就可以了:
ifeq (,$(findstring nd,$(MAKEFLAGS)))
FOO = -g -D DEBUG
endif
如果你也关心-p
,那就不那么干净了:
FOO = -g -D DEBUG
ifneq (,$(findstring nd,$(MAKEFLAGS)))
FOO =
endif
ifneq (,$(findstring p,$(MAKEFLAGS)))
FOO =
endif