我試着寫這種形式的make
規則:在切換到目錄之前,在目錄中尋找依賴關係?
lib%.so: computations/%.h
make -C computations/ -f makefile $<
輸出:
make -C computations/ -f makefile computations/test.h
make[1]: Entering directory `/home/shai/csm/csm2/src/computations'
make[1]: *** No rule to make target `computations/test.h'. Stop.
make[1]: Leaving directory `/home/shai/csm/csm2/src/computations'
make: *** [libtest.so] Error 2
好,似乎它看起來%.h
切換後庫。沒有biggie,我只是嘗試刪除
lib%.so: %.h
make -C computations/ -f makefile $<
但現在它根本不承認規則!
輸出:
[email protected]:~/csm/csm2/src$ make libtest.so
`make: *** No rule to make target `libtest.so'. Stop.
是make
用腦子玩?如何改變依賴關係使其停止識別目標?
順便說一下,我只是注意到這是一個奇怪的規則。它更新依賴項,而不是目標。這不是「make」應該如何使用的。 – eriktous 2011-04-06 14:19:38