参考文档:跟我一起写makefile
make是一个命令工具,是一个解释 makefile 中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,比如:Delphi 的 make,Visual C++的 nmake, Linux 下 GNU 的 make。可见,makefile 都成为了一种在工程方面的编译方法。
源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。在编译时,编译器只检测程序语法,和函数、变量是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成 Object File。而在链接程序时,链接器会在所有的 Object File 中找寻函数的实现,如果找不到,那到就会报链接错误码(Linker Error),在 VC 下,这种错误一般是:Link 2001 错误,意思说是说,链接器未能找到函数的实现。你需要指定函数的Object File。
#main : main.o
# cc -o main main.o
#main.o : main.c
# cc -c main.c
main:
cc -o main main.c
clean:
rm *.o main