Makefile QA
Table of Contents
Chapter 1
首先看下 Makefile 代码,这个 makefile 是我为 hadoop 写的:
build:
@echo "building..."
@hadoop com.sun.tools.javac.Main $(src).java
@jar cf a.jar $(src)*.class
@echo "build success"
clean:
@-rm *.class
@-rm *.jar
@echo "deleted .class .jar files"
传递参数我们在上面的例子中可以看到 $(src) 这个用法,通过他我们就可以传递参数了:
make build src=WordCount
- 命令失败后继续执行在 clean 中,我们看到了在 rm 命令之前,有一个
-
号,它就完成了这种功能。 @command
当我们想要输出一条命令的信息的时候,如果在 echo 前不加 @,当前的命令也会显示,例如:
@git push origin master
如果不加@,makefile 执行的时候,git push origin master 这行也会显示。
Makefile : Clock skew detected 错误(link) 在 makefile 所在目录执行:
find . -exec touch {} \;