我有一組[文件名] .c格式的文件,其中一些#包括一個關聯的[名稱] .h文件。如果[name] .c或[name] .h被修改,我想要一個makefile目標來重新構建[name] .o。我試過了:如何使Makefile目標取決於只存在的文件?
$(OBJDIR)/%.o : $(SRCDIR)/%.c $(SRCDIR)/%.h
#Implementation of target omitted
但是,對於沒有關聯.h文件的.c文件,請在上述規則上投訴。我嘗試過:
$(OBJDIR)/%.o : $(SRCDIR)/%.c $(wildcard $(SRCDIR)/%.h)
#Implementation of target omitted
這會生成,但修改.h文件不會觸發重建。有沒有什麼原因,我不能用這種方式%?
注:我試圖避免使用makedeps.pl或makefile生成的解決方案(因爲我實際上沒有處理.c或.h文件)。
謝謝,使用.SECONDEXPANSION工作。 –