[Linux] 第九章 make / makefile
Linux哲学体系
* make命令和makefile文件
* 使用patch和tar命令来发布软件
* 开发环境
*1, 多个源文件带来的问题
@1,make的选项和参数
-k : make命令发现错误之后仍然继续执行。
-n : 作用是让make命令输出将要执行的操作步骤,而不真正执行。
-f : 告诉make命令把哪一个文件作为makefile文件。
@2,依赖关系
myapp : main.o 2.o 3.o
main.o: main.c a.h
2.o : 2.c a.h b.h
3.o : 3.c b.h c.h
makefile文件中的注释以 # 号开头。
makefile文件中的宏
@3,内置规则
$ make foo
$ cc foo.c -o foo
@4,... makefile文件和其子目录 ...
*2 源代码控制
如果你做的不是一个简单的项目,特别是项目的开发人员不止一个时,为了
避免文件修改的冲突并跟踪对源文件所作出的修改,对源文件改动方面的管理,
就变得非常重要,UNIX中有几个被广泛使用的用于管理源文件的系统。
SCCS -> RCS -> CVS -> Subversion (SVN)
*3 软件发布
RPM,Debian Linux(dpkg), tgz.
* make命令和makefile文件
* 使用patch和tar命令来发布软件
* 开发环境
*1, 多个源文件带来的问题
@1,make的选项和参数
-k : make命令发现错误之后仍然继续执行。
-n : 作用是让make命令输出将要执行的操作步骤,而不真正执行。
-f : 告诉make命令把哪一个文件作为makefile文件。
@2,依赖关系
myapp : main.o 2.o 3.o
main.o: main.c a.h
2.o : 2.c a.h b.h
3.o : 3.c b.h c.h
makefile文件中的注释以 # 号开头。
makefile文件中的宏
@3,内置规则
$ make foo
$ cc foo.c -o foo
@4,... makefile文件和其子目录 ...
*2 源代码控制
如果你做的不是一个简单的项目,特别是项目的开发人员不止一个时,为了
避免文件修改的冲突并跟踪对源文件所作出的修改,对源文件改动方面的管理,
就变得非常重要,UNIX中有几个被广泛使用的用于管理源文件的系统。
SCCS -> RCS -> CVS -> Subversion (SVN)
*3 软件发布
RPM,Debian Linux(dpkg), tgz.