我想设置一个变量 $(CFLAGS2) 来根据我制作的目标保存不同的值。具体来说,我想要一个使用“-g -Wall”编译我的项目的目标,以及另一个使用“-O3”编译的目标
我试过这样:
CC=gcc
COPT=-c $< -o $@ $(CADD) $(CFLAGS) $(CFLAGS2)
.PHONY: opti
.PHONY: debi
opti: seto
make hammingtest
debi: setd
make hammingtest
.PHONY: seto
seto:
$(eval CFLAGS2 := -O3)
.PHONY: setd
setd:
$(eval CFLAGS2 :=-g -Wall)
hamming.o: hamming.cpp hamming.h
$(CC) $(COPT) $(DEFS) $(CFLAGS2)
hammingtest.o: hammingtest.cpp hamming.h
$(CC) $(COPT) $(DEFS) $(CFLAGS2)
hammingtest: hammingtest.o hamming.o
$(CC) -o hammingtest hammingtest.o hamming.o
但是当我执行“make debi”时,它的行为就好像根本没有设置 $(CFLAGS")(与“make opti”相同)我该如何实现呢?