Posted on 2010-07-16 20:01
beauty9235 閱讀(274)
評論(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);
}