linux之make与makefile

make是一个命令,Makefile是一个文件(可大写也可以小写)

Makefile里面放的是依赖关系和依赖方法

 

 

新建一个makefile文件,在Makefile里写:

hello:hello.c

    gcc hello -o hello.c       //必须以table开头

保存退出

 

生成可执行:

直接make,然后./hello就可以执行

make hello.c
./hello

 

Makefile很重要,会不会Makefile,说明了一个人是否具备完成大型工程的能力

 

清理项目(clear):

继续在makefile 里写:

hello:hello.c

    gcc hello -o hello.c

clean:

    rm -f hello

默认运行的时候,从上到下,只生成hello(没有clean,clean不依赖任何文件)

如果要使用clean就直接用make clean命令。

 

伪目标:总是被执行

伪目标也是目标。为什么要用伪目标?

因为现在生成(编译)工程的方式是直接make,清理就直接make clean,

但规定如果要想第二次编译,必须保证修改过源代码。

如果想要他总是去编译(不修改也可以编译),那么我们在最前面加入.PHONY就可以总是被执行。

把clean设置成伪目标:

hello:hello.c

    gcc hello -o hello.c

.PHONY:clean         //把后面的标签变成伪目标

clean:

    rm -f hello

 

也可以吧hello设置成伪目标:

.PHONY:hello

hello:hello.c

    gcc hello -o hello.c

.PHONY:clean         //把后面的标签变成伪目标

clean:

    rm -f hello

所以.PHONY就是定义之后可以总是被执行。

 

总结:

1、make是一个指令。Makefile是一个文件,放的是依赖关系。

2、依赖方法前必须用Tab开头,之后放依赖方法。

3、.phony定义伪目标,总是可以被执行

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页