我想從文件系統的其他位置運行makefile。我如何傳遞makefile的位置?使用「make」命令指定「makefile」的路徑
如果我站在「/」中,並且我想運行一個能夠抵抗「/ dir/dir2/dir3/makefile」的makefile,我該如何將它添加到make命令中?
我想:
make --file=dir/dir2/dir3/makefile
,但它並沒有奏效。
我想從文件系統的其他位置運行makefile。我如何傳遞makefile的位置?使用「make」命令指定「makefile」的路徑
如果我站在「/」中,並且我想運行一個能夠抵抗「/ dir/dir2/dir3/makefile」的makefile,我該如何將它添加到make命令中?
我想:
make --file=dir/dir2/dir3/makefile
,但它並沒有奏效。
所有相對路徑in makefile將相對於您的當前目錄而不是makefile的目錄。
假設你明白這一點,並且你想要做的事情仍然有效,那麼你需要-f
標誌來指定要使用的makefile。 (這是在手冊頁,手冊和--help
輸出。)
相反,如果你的意思是你要cd
到別處,並運行make那麼也許你正在尋找(cd /some/path && make)
?
也許cd建議最合適。我想,不同之處在於我是否希望編譯的文件與make文件位於同一個文件夾中(這將是cd示例),或者如果我希望文件與我站在同一個目錄中。我對嗎? – theva 2015-01-20 20:29:47
不僅如此。如果你在makefile中有一個規則說'foo:foo.c'會在當前目錄下創建一個文件'foo',但是也會在當前目錄下查找'foo.c',並且它不會在那裏。 – 2015-01-20 20:31:08
我一直在弄亂我的Makefile,試圖讓'make'識別我在其中指定的'CFLAGS'參數。但它似乎並沒有將這些參數傳遞給'make'。所以我刪除了我的本地'Makefile',並再次運行'make',並繼續運行相同的命令('cc -o ex4.c -o ex4')。我試圖通過'CFLAGS'傳遞'-g -Wall'。有一些主''Makefile'掛在我的操作系統?! – mecampbellsoup 2015-06-03 19:16:02
可能重複[在Unix中,我可以在目錄中運行'make'而不先cd到該目錄?](https://stackoverflow.com/questions/453447/in-unix-can-i- run-make-in-a-directory-without-cding-to-that-directory-first) – Flynsee 2017-09-15 02:43:29