如何编写Makefile以使用Arm汇编代码链接C代码?

时间:2017-04-12 01:57:41

标签: c assembly makefile arm

以下终端命令将编译并链接linux中的.c和.s文件

rm *.o
gcc -c printS.c -o printS.o
as lab8.S -o lab8.o
gcc lab8.o printS.o -o lab8test

我从来没有写过一个make文件,我认为这样的东西值得一试。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

与制作任何make文件的方式相同。我相信那里有很多例子和网页。

printS.o : printS.c
    gcc -c printS.c -o printS.o

所以

clean : 
   rm -f *.o
   rm -f lab8test

为您正在使用的每个命令制定规则。我建议你把最后一个放在第一位,这样如果你在make

上没有命令行选项就是默认值

        int b[1000];
        int i;
            for (i = 0; i < 1001; i++) {
            b[i] = i + 352 ;
            } //put values into array

        int n = sizeof b / sizeof b[0];

        clock_t start = clock();
        merge_sort(b, n);
        clock_t end = clock();

        double elapsed1 = ((end - start) / CLOCKS_PER_SEC);// seconds elapse
        printf("Time elapsed for merge 1000: %f\n", elapsed1);

覆盖清理(清理干净)

这是一种非常简单的方法。从那里你可以挖掘各种(使程序特定,gnu make vs others)特殊字符,这意味着要制定更复杂的规则。