标签:
1.Makefile的文件名
你可以使用别的文件名来书写Makefile,比如make.linux,如果要指定特定的Makefile,你可以使用make的“-f”和“--file”参数,如
make -f make.linux 或 make --file make.linux
2.在Makefile使用include关键字可以把别的Makefile包含进来,
include <filename> //filename可以是当前操作系统Shell的文件模式(可以保含路径和通配符)
在include前面可以有一些空字符,但绝对不能是Tap键开始。include和<filename>可以用一个和多个空格隔开
例:举个例子,你有这样几个Makefile:a.mk、b.mk、c.mk,还有一个文件叫foo.make,以及一个变量$(bar),其包含了e.mk和f.mk
include foo.make *.mk $(bar)
等价于:
include foo.make a.mk b.mk c.mk e.mk f.mk
3.lpr与lp来产生打印作业
lpr [-p printer队列] [-# 打印份数] -U [username] file
指定 hp_p2015 这部打印机来打印 /etc/passwd 这个档案
[root@www ~]# lpr -P hp_p2015 /etc/passwd
4.Makefile中多目标
“$@”自动化变量,表示目前规则中多有的目标的集合
bigoutput littleoutput : text.g
generate text.g -$(subst output,,$@) > $@
-$(subst output,,$@)中的"$"表示执行一个Makefile的函数,函数名为subst,后面的为参数。
"$@"表示目标的集合,就像一个数组,"$@"依次取出目标,并执行命令
5.subst这是一个替换函数,有三个参数,第一个参数是被替换字串,第二个参数是替换字串,第三个参数是替换操作作用的字串。
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
$(subst $(space),$(comma),$(foo)) //这个函数也就是把$(foo)中的空格替换成逗号,
标签:
原文地址:http://www.cnblogs.com/Caden-liu8888/p/5613049.html