Makefile中的静态模式和多目标规则

  • 静态模式太好用了,主要是为了便捷的生成多目标。
  • 普通Makefile如下:
target ... : prerequisites ...
	command
	...
	...

command通过prerequisites 生成target 。
command 中 $^ 表示所有的prerequisites文件 , $< 表示第一条 prerequisites文件 , $@ 表示target 。

  • 静态模式如下:
    <targets ...>: <target-pattern>: <prereq-patterns ...>
            <commands>
            ...

targets中有多个目标,执行这一块时,依次将targets中的每个元素作为target-pattern。prereq-patterns为每一个target-pattern的prerequisites 。
所以生成多目标时,可以这样写:

$(TARGETS):%.out:%.c $(INC_SRC)
        @ echo CXX/LD -o $@ $< 
        @ $(CC) $^ $(CCFLAGS) -o $@ $(INCLUDES) $(LIBS)

其中%为通配符, %.c的功能是将target-pattern的后缀.out改为.c 。
%.c $(INC_SRC)为prereq-patterns , $(INC_SRC) 指include文件和lib文件下的.c文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值