八:第一期Linux学习之Linux下makefile的语法
(1):makefile的规则格式
目标:依赖的文件集合
命令1
命令2
。。。。。
eg:
main:main.o input.o calcu.o
gcc -c main main.o input.o calcu.o
编译生成main.o input.o calcu.o文件,然后将这些文件链接成一个叫main的可执行文件。
main:main.o input.o calcu.o
gcc -c main main.o input.o calcu.o
main.o:main.c
gcc -c main.c
input.o:input.c
gcc -c input.c
calcu.o:calcu.c
gcc -c calcu.c
clean:
rm *.o
rm main
以上代码中有五条规则,clean是清零规则。
可以用变量将比较复杂的输入替换掉。( o b j e c t ) 上 面 的 代 码 等 同 于 如 下 代 码 : m a k e f i l e 模 式 规 则 和 自 动 化 变 量 的 优 势 : o b j e c t m a i n . o i n p u t . o c a l c u . o m a i n : (object) 上面的代码等同于如下代码: makefile模式规则和自动化变量的优势: object main.o input.o calcu.o main:(object)上面的代码等同于如下代码:makefile模式规则和自动化变量的优势:objectmain.oinput.ocalcu.omain:(object)
gcc -c main $(object)
%.o:%.c
gcc -c $<
clean:
rm *.o
rm main