簡體   English   中英

減少Makefile冗余

[英]reduce Makefile redundancy

我目前有一個Makefile,它處理可以單獨構建的一小組文件。 每組3個文件的命名方案和結構相同; 標頭,實現和測試驅動程序。 我將有更多的團體,如下面的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM