gpt4 book ai didi

c - 减少 Makefile 冗余

转载 作者:太空狗 更新时间:2023-10-29 15:33:15 26 4
gpt4 key购买 nike

我目前有一个 Makefile 来处理可以单独构建的一小组文件。每组 3 个文件的命名方案和结构相同; header 、实现和测试驱动程序。我将有大约 4 个小组,如下面的 3 个小组。

有哪些冗余性较低的方法来构造此 Makefile,以避免每个组的重复性?

flextest: flex_test.o  flex.o
$(CC) $(CFLAGS) -o $@ $^
flex_test.o: flex_test.c flex.o minunit.h
$(CC) $(CFLAGS) -c $<
flex.o: flex.c flex.h debug.h
$(CC) $(CFLAGS) -c $<

skiptest: skip_test.o skip.o
$(CC) $(CFLAGS) -o $@ $^
skip_test.o: skip_test.c skip.o minunit.h
$(CC) $(CFLAGS) -c $<
skip.o: skip.c skip.h debug.h
$(CC) $(CFLAGS) -c $<

dynatest: dyna_test.o dyna.o
$(CC) $(CFLAGS) -o $@ $^
dyna_test.o: dyna_test.c dyna.o minunit.h
$(CC) $(CFLAGS) -c $<
dyna.o: dyna.c dyna.h debug.h
$(CC) $(CFLAGS) -c $<

最佳答案

如果您和使​​用此 makefile 的任何其他人都在使用 GNU make,则可以使用大量快捷方式。这样的事情应该有效:

%test: %_test.o %.o
%_test.o: minunit.h
%.o: %.h debug.h

all: flextest skiptest dynatest

关于c - 减少 Makefile 冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13371649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com