BUILT_DIR = /tmp/obj
SRC = /source/dir
/tmp/obj/%/builtin.o : $(SRC)/%/*.c
gcc $^ -o [email protected]
但是你要知道:通配符隱含規則的先決條件
爲了使圖案應用規則,它的目標模式必須考慮文件的名稱和它的所有先決條件(模式替換後)相匹配必須命名存在或可以製作的文件。
如果我執行make /tmp/obj/hfa/builtin.o
,使會抱怨:
make: *** No rule to make target
/tmp/obj/hfa/builtin.o」。 Stop.`
我怎樣才能修改Makefile,以滿足我的要求?
製作只會在這種情況下抱怨,因爲沒有'/來源/目錄/ HFA/*。C'文件。由於不存在'.c'文件,因此不存在目標模式匹配,因此隱式規則不匹配。你的要求是什麼? – 2013-03-22 05:02:56
我在'/ source/dir/hfa /'中有'hfa.c' – 2013-03-22 06:40:03
你使用什麼版本的Make? (如果您不知道,請嘗試'make -v'。) – Beta 2013-03-22 12:19:08