make & Makefile!
make及makefile
make命令简介:
要使用make,首先需要写一个makefile文件. 描述了软件包中各文件的关系,提供更新每个文件的命令。
如:
gcc module1.o module2.o -o exel
可以这样写Makefile文件:
exel:module1.o module2.o
gcc module1.o module2.o -o exel
复杂化为:
module1.0:module1.c module1.h
gcc -c moduel1.c
Makefile文件的格式如下:
目标:依赖项列表
【命令】
#表示注释,\作为后接换行符来换行
命令行首需要空格,为一个制表位。
Makefile文件推荐首字母大写,安放在源程序相同的目录下。
shell使用make命令时,默认对Makefile第一行目标进行维护。层层递进。
make程序也可以指定要维护的目标:
make module1.o
也可以制定自己取名字的Makefile:
make -f filename
Makefile中的环境变量:
用条件语句把前面的Makefile重写一遍:
OBJS=module1.o module2.o
C=-c
exel:$(OBJS)
gcc $(OBJS) -o exel
module1.o:module1.c module1.h
gcc C mdoule1.c
某些默认变量具有特殊含义。参看
博客
.
伪目标
Makefile文件中存在这种情况:有的目标存在只是为了形成一条规则。
如:
all:exel1 exel2 exel3
作用:
可以维护全部exel
如:
clean:rm -f exe*
作用:
中间文件清理
条件语句
主要三个关键字:ifeq, else, endif
ifeq( $(VAR), 1)
gcc -o exe1 module
else
gcc -o exe2 module
endif
调试make
通过-d选项打印调试信息。
没有评论:
发表评论