以下终端命令将编译和链接我的.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 –