2012-10-11 44 views
1

GNU make中靜態模式規則上下文中可以使用通配符嗎?例如:GNU Make:靜態模式規則中的通配符

$(BUILD_DIR)/$(DEPENDENCIES) : */%.d : $(SOURCE_DIR)/%.c 
     ... 
+0

請參閱[通配符](http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_25.html)功能 – tomahh

+1

不是這樣,沒有。星號不起作用。 (如果我認爲它是'DEPENDENCIES',那麼目標名稱也不是。)但是,你可能會得到你想要的效果。你能告訴我們關於makefile的更多信息嗎? – Beta

回答

1

離開$(SOURCE_DIR)/%.c關閉靜態模式規則,並在單獨的行中輸入的依賴關係。也許:

# Tell make "build/f.d: source/f.c" for each source file 
$(foreach _,${srcs},$(eval ${BUILD_DIR}/$(notdir $_): $_)) 

${BUILD_DIR}/${DEPENDENCIES}: ${BUILD_DIR}/%.d: 
    ... 

這回答了這個問題,雖然我分享@測試版的意見,這不是你想要的。

相關問題