我有,我想我的Makefile編譯的文件列表,一個列表中爲每個源語言:makefile編譯源列表中的文件
CFILES= Src/Application/main.c Src/Core/data.c Lib/routines.c
ASFILES= Src/Application/startup.s Lib/sqrt.s
我希望所有的輸出在一個目錄:
OBJDIR= output
我該怎麼做等價的:
output/main.o : Src/Application/main.c
cc -c -o output/main.o Src/Application/main.c
output/data.o : Src/Core/data.c
cc -c -o output/data.o Src/Core/data.c
output/routines.o : Lib/routines.c
cc -c -o output/routines.o Lib/routines.c
output/startup.o : Src/Application/startup.s
as -o output/startup.o Src/Application/startup.s
output/sqrt.o : Lib/sqrt.s
as -o output/sqrt.o Lib/sqrt.s
的食譜是在其列表中的每個文件相同。
輸入文件有各種不同的目錄,僅僅列出它們的文件名並使用搜索路徑找到它們是不可接受的,它們的顯式路徑必須被使用。
輸出文件名是源文件名的基名,擴展名變爲o。不同源語言的列表之間沒有重複的基名。
我不想列出目標文件,這應該從源列表派生。
我正在使用gnu make,但爲便攜式解決方案提供了獎勵點數。
感謝您嘗試。不幸的是,這並不能幫助我,因爲它使用VPATH。正如我在問題中所說的,我需要使用每個文件明確給定的路徑。 – Tom