0

假设我有一个像这样的 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

我的最终解决方案如下:</p>

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
4

2 回答 2

0
both : target debug

target debug : src1.c src2.c
    gcc $(CFLAGS) -o $@ $^

debug : CFLAGS += -g
于 2013-01-11T09:47:01.140 回答
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)
于 2013-01-14T04:13:05.290 回答