假设我有一个像这样的make文件。我可以通过make
获得正常构建,并通过make debug
获得调试版本。但是如何编写目标以便我可以在make both
这样的命令中获得正常构建和调试构建?
DST := /data/result
debug: CFLAGS += -DDEBUG -g
debug: DST = /some/dir
target: src1.c src2.c
gcc -bla -bla -o target
cp target $(DST)
debug: target
我的最终解决方案如下:
DST := /data/result
debug: CFLAGS += -DDEBUG -g
debug: DST = /some/dir
target: src1.c src2.c
gcc -bla -bla -o target
cp target $(DST)
debug: target
both:
make debug && make clean && make all
答案 0 :(得分:0)
both : target debug
target debug : src1.c src2.c
gcc $(CFLAGS) -o $@ $^
debug : CFLAGS += -g
答案 1 :(得分:0)
NORMAL := /data/result/target
DEBUG := /some/dir/target
$(NORMAL) $(DEBUG): src1.c src2.c
gcc -bla -bla $(CFLAGS) $^ -o $@
debug: $(DEBUG)
$(DEBUG): CFLAGS += -DDEBUG -g
both: $(NORMAL) $(DEBUG)