Makefile入门
1 手动编译链接 我们知道源文件生成可执行文件的过程可能需要一些依赖文件(头文件或者其他源文件)。[2]中提到对于C语言,产生可执行程序包括这样的步骤: 1 预处理源文件(.c) 替换预处理命令(如 #define) 展开头文件(.h,包括静态链接库的头文件)到引用的源文件 2 依次编译处理过的源文件,然后进行汇编,生成对应的目标文件(.o) 3 链接(静态链接)目标文件和静态链接库(静态链接库的源文件生成的目标文件,.a),生成可执行的二进制文件。 我们假设这里有三个c文件: hello.c #include<stdio.h>//sys lib head file int main() { int a=33; int b=22; printf("Min value is %d\n",min(a,b)); printf("Max value is %d\n",max(a,b)); return 0; } max.c int max(int a,int b) { return a>b?a:b; } min.c int min(int a,int b) { return a<b?a:b; } 很明显,hello.c编译必须依赖max.c和min.c。我们手动编译生成可执行文件,并执行: fsj@ubuntu:~/templates$ ls hello.c max.c min.c fsj