0
過濾我有一個像就規則
app.o: app.c b.c a.c h.h file.list
我使用規則$^
上做的所有依賴一些動作生成規則。 但我想根據依賴文件擴展名進行篩選。 我該怎麼做?
我希望變量
k = (which contain only .c file from dependency list)
過濾我有一個像就規則
app.o: app.c b.c a.c h.h file.list
我使用規則$^
上做的所有依賴一些動作生成規則。 但我想根據依賴文件擴展名進行篩選。 我該怎麼做?
我希望變量
k = (which contain only .c file from dependency list)
如果您正在使用GNU讓,比
$(filter %.c,$^)
會做的伎倆(過濾器返回從列表中匹配給定模式的所有單詞,過濾返回不匹配的)。如果您使用的是一些更原始的化妝,你將不得不訴諸
APP_O_C_DEPS = app.c b.c a.c
APP_O_NONC_DEPS = h.h file.list
app.o: $(APP_O_C_DEPS) $(APP_O_NONC_DEPS)
...
注:變量使工作方式可以讓你說
c_deps = $(filter %.c,$^)
app.o: app.c b.c a.c h.h file.list
something $(c_deps)
,它會擴展到.c當前目標的依賴關係。