最简单的makefile

NAME=main

$(NAME).exe : $(NAME).obj

 

$(NAME).obj : $(NAME).cpp

 

要点:

  1. exe在前,obj在后。因为nmake判断$(NAME).obj,如果不是最新的,就更新obj,然后创建exe。这里,分号前叫做“target”,分号后叫做“dependent”。
  2. 这还不是最简单的,这里使用了宏NAME。对宏的引用是$(),如果宏是单个字符,也可以不加()

 

NAME=main

$(NAME).exe : $(NAME).obj

@echo "link exe is ok"

$(NAME).obj : $(NAME).cpp

 

  1. 添加了@echo "link exe is ok",主要解释@的用法:不显示自身,所以显示的是:

link exe is ok

而不是

echo "link exe is ok"

"link exe is ok"

 

  1. 如果交换一下$(NAME).obj : $(NAME).cpp和$(NAME).exe : $(NAME).obj的位置,即

 

$(NAME).obj : $(NAME).cpp

 

$(NAME).exe : $(NAME).obj

 

exe将不会被编译,似乎nmake只执行第一行,然后由依赖关系再去执行其他。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值