2012-03-16 128 views
1

是否可以寫模式規則,如:的Makefile模式規則

%.o: %.c %.h 
    <some action> 

所以它接受的不是一個而是任意數量的頭,因爲我有:

main.o: main.c $(HEADERS) 

所以doesen't適合到標準的隱式規則,因爲許多.h文件,這是main.c依賴的,所以有可能做一個隱式規則,它可以接受這樣的輸入,或者我應該只寫

$(CC) $(CFLAGS) $(DEFINE_OPT) $(INCLUDE) -c $< 

明確嗎?

+0

你使用什麼版本的Make? – Beta 2012-03-16 16:27:59

+0

我使用的是GNU Make 3.81 – Andna 2012-03-17 10:06:42

回答

0

在gnumake的,你可以寫

main.o: $(HEADERS) 

和內置的隱含規則會工作。如果你想自動處理依賴關係,Advanced Auto-Dependency Generation比GNUMake手冊中的要好。