Posted on 2010-07-16 20:01
beauty9235 阅读(266)
评论(0) 编辑 收藏
lxq@lxq:~/tmp$ tree
.
|-- Makefile
|-- bin
| `-- Makefile
|-- hello
| |-- Makefile
| |-- hello
| `-- hello.c
`-- tmp
3 directories, 5 files
cat Makefile
SRCBASE := $(shell pwd) #获取当前目录
ELEASEDIR := $(shell (cd $(SRCBASE)/.. && pwd -P))
print:
echo ${ELEASEDIR}
install: all
install -d ${ELEASEDIR}/tmp
$(MAKE) -C ./hello clean #切换到hello目录执行clean目标
$(MAKE) -C ./hello hello #切换到hello目录执行hello目标
$(MAKE) -C ./hello $@ #切换到hello目录执行install目标
all clean:
ifneq ($(wildcard hell),) #如果有hell这个文件就执行里面的动作
$(MAKE) -C ./bin $@ #切换到hello目录执行all\clean目标
endif
.PHONY: all clean install
cat hello/Makefile
clean:
ifneq ($(wildcard hello),)
rm hello
endif
hello:
gcc -o hello hello.c
install:
-cp hello ../bin/
cat hello/hello.c
#include <stdio.h>
int main()
{
printf("hello");
exit(0);
}