posts - 23, comments - 0, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Makefile学习

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);
}










只有注册用户登录后才能发表评论。


网站导航: