Makefile 中各种函数列举(进行 ing)

1.wildcard : 扩展通配符    notdir : 去除路径    patsubst :替换通配符

举例:有文件  /a.c   /b.c   /home/a.c   /home/b.c  /home/k.o

src=$(wildcard *.c ./home/*.c)
file=$(notdir $(src))
obj=$(patsubst %.c,%.o,$(src) )

src= a.c b.c   /home/a.c   /home/b.c 

file= a.c b.c  a.c b.c 

obj= a.o b.o /home/a.o  /home/b.o

2.find   目录   -name   文件     查找目录下  文件具体位置  绝对位置

3.dirname  获取对应的目录     basename   去掉文件名的目录和后缀(好像是linux的不是Makefile)

举例:  dirname  /etc/init.d/rcS    => /etc/init.d 

     dirname  /etc/init.d           =>/etc

     basename   /home/abc.k/a.c => a

     basename /home/abc.k/   =>abc.k

   $(dir /etc/init.d/rcS )           => /etc/init.d
   $(dirname /etc/init.d/rcS )           => "" 

4.  lastword   firstword  如字面意思   分别为取最后一个单词和第一个单词

5.make    -C $(aaa) M=$(bbb) 

 -C表示跳转到aaa下的读取下面的Makefile

  M=  表明执行后跳转到bbb目录下

原文地址:https://www.cnblogs.com/cyyljw/p/11316058.html