makefile粗略解释

如以下makefile文件

all: data voice


data:
@ (cd data ; $(MAKE) all)


voice:
echo "Running a training/synthesis perl script (Training.pl) in background...."
/usr/bin/perl scripts/Training.pl scripts/Config.pm > log 2>&1 &


clean: clean-data clean-voice


clean-data:
@ (cd data ; $(MAKE) clean)


clean-voice:
rm -rf models stats edfiles trees gv mspf voices gen proto configs


distclean: clean
@ (cd data; $(MAKE) distclean)
rm -f scripts/Config.pm
rm -f Makefile
rm -f config.log
rm -f config.status
rm -rf autom4te.cache


.PHONY: data voice clean distclean


其中target……: prerequisites……

……command……

如编译all需要data 和voice

而data不需要什么,但是会执行@ (cd data ; $(MAKE) all),如果make执行的命令前面加了@字符,则不显示命令本身而只显示它的结果; 只输出命令执行的结果,出错的话停止执行。如果在rm前面加-表示出错的话忽略错误,继续执行,因为有可能rm的文件为空

.PHONY后面跟的表示伪目标,这里all才是最终目标


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值