以下終端命令將編譯和鏈接我的.c和.s的文件在Linux如何編寫Makefile以將C代碼與Arm彙編代碼鏈接?
rm *.o
gcc -c printS.c -o printS.o
as lab8.S -o lab8.o
gcc lab8.o printS.o -o lab8test
我從來沒有寫過一個make文件,我想這樣的事情值得的。任何幫助表示讚賞。
以下終端命令將編譯和鏈接我的.c和.s的文件在Linux如何編寫Makefile以將C代碼與Arm彙編代碼鏈接?
rm *.o
gcc -c printS.c -o printS.o
as lab8.S -o lab8.o
gcc lab8.o printS.o -o lab8test
我從來沒有寫過一個make文件,我想這樣的事情值得的。任何幫助表示讚賞。
你會作出任何補充文件的方式。我確信有很多例子和網頁。
ideally_the_result : dependencies
<tab>the commands
<tab>the commands
<tab>the commands
所以
printS.o : printS.c
gcc -c printS.c -o printS.o
,併爲每個你所使用的命令的規則。我建議你把最後一個第一所以它是默認的,如果你沒有對化妝品
也
clean :
rm -f *.o
rm -f lab8test
命令行選項來覆蓋清理(使清潔)
這是超級簡單的方式,只是工作。從那裏你可以挖掘各種各樣的(特定於程序,gnu make vs其他)特殊角色,這些特殊角色意味着要制定更復雜的規則。
這是非常有幫助的。有一些例子,但我只是不確定鏈接彙編文件時它是否工作不同。 –
認爲makefiles與編譯或鏈接無關,它只是一個用於運行程序的腳本語言。程序可以是任何東西,不必與工具鏈相關。可以讓一個程序解析一個執行FFT並創建一個gnuplot格式的數據文件的音頻文件,然後另一個規則將該數據文件並調用gnuplot來生成一個png。 –
看到這個問題:http://stackoverflow.com/questions/4827618/compiling-c-file-with-assembler-file-dependencies#4827835 –