0
說我在我的Makefile以下規則:製作:編譯規則.c文件
foo: foo1.c foo2.c head1.h head2.h
gcc -o [email protected] foo1.c foo2.c
正如你所看到的,在這種情況下 - 因爲在大多數情況下─的.c文件中的規則對應到您傳遞給gcc的.c文件。我的問題是,是否有一個變量可以傳遞給一個Makefile來評估「規則中的所有.c文件」?
就個人而言,我使用以下命令:
CFILES=$(filter %.c,$^)
foo: foo1.c foo2.c head1.h head2.h
gcc -o [email protected] $(CFILES)
,但我不知道這是正確的方式...
這是一個選項,但考慮一個Makefile,其中有許多這些行。你會使用CFILES1,2,3等,它會變得更加混亂。我在看'make'是否有本地的方式來做到這一點。在我看來,這是'make'擁有的一個非常合理的特性。 – 2013-02-09 13:43:50
make需要爲每個隱式規則配置一組這樣的過濾器,甚至開始這個工作(並且由於它無法在這種情況下自動應用這些過濾器,無論如何,我不知道這會甚至會有意義打擾)。 – 2013-02-10 13:31:13