之前接触过给一个project写makefile文件,积累些资料如下。
================
编译多文件的方法
1. 分别编译,再进行连接。
如有:main.c information.c get-places.c 三个文件,先对他们分别进行编译
----------------------------------------------------------------------------------------
$gcc -c main.c //生成目标文件main.o
$gcc -c information.c //生成目标文件information.o
$gcc -c get-places.c //生成目标文件get-places.o
然后再连接。
$gcc -lm -Wall -g -o executable_name main.o information.o get-places.o
----------------------------------------------------------------------------------------
如有:main.c information.c get-places.c 三个文件,先对他们分别进行编译
----------------------------------------------------------------------------------------
$gcc -c main.c //生成目标文件main.o
$gcc -c information.c //生成目标文件information.o
$gcc -c get-places.c //生成目标文件get-places.o
然后再连接。
$gcc -lm -Wall -g -o executable_name main.o information.o get-places.o
----------------------------------------------------------------------------------------
2. 用#include命令
----------------------------------------------------------------------------------------
main.c文件
#include "information.c"
#include "get-places.c"
----------------------------------------------------------------------------------------
编译连接命令:$gcc -Wall -g -lm -o execatable_name main.c
这时候是作为一个文件来编译和连接的,因为这些函数包含在同一文件中,不再是作为外部函数被文件调用了。
--------------------
跟我一起写Makefile
http://blog.csdn.net/haoel/archive/2004/02/24/2886.aspx
--------------------
例解autoconf和automake生成Makefile文件
http://www.ibm.com/developerworks/cn/linux/l-makefile/
本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则。
--------------------
多文件项目和GNU Make工具
http://www.upsdn.net/html/2005-06/508.html
本文将首先介绍为什么要将你的C源代码分离成几个合理的独立档案,什么时 候需要分,怎么才能分的好。然后将会告诉你 GNU Make 怎样使你的编译和连 接步骤自动化。对于其它 Make 工具的用户来说,虽然在用其它类似工具时要 做适当的调整,本文的内容仍然是非常有用的。