makefile介绍1.0

Posted lovejobs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile介绍1.0相关的知识,希望对你有一定的参考价值。

1.gcc参数

-o指定生成文件名

-c只编译不链接

2.makefile标准格式

CC=gcc    #编译器变量,#代表注释
SRCS=main.cpp\#源文件变量
    a.cpp    b.cpp    c.cpp
OBJS=$(SRCS:.cpp=.o) #将SRCS中的.cpp全部替换为.o文件

EXEC=myapp#可执行文件编程

start: $(OBJS)#依赖文件
    $(CC) -o $(EXEC) $(OBJS)
.cpp.o: #每一个源文件和对应的目标文件
    $(CC) -o [email protected] -c $< #编译生成对应源文件的目标文件


clean:
    rm -rf $(OBJS)#删除中间文件

 3.makefile当要编译的多个文件中有发生改变的,则只重新编译和链接发生改变的文件,其他的文件不用重新编译,加快了编译速度

4.上文2中的makefile为一个标准的makefile文件格式,当有新增加的文件时,只要在SRCS=后面添加一个源文件,后面其他内容不用改变。

5.make不关心.h文件,.h文件由编译器管理,如果.h文件发生变化,那么需要将原来的.o文件删除进行重新编译链接

6.makefile是根据.cpp和.o文件的最后修改图日期判断.cpp文件是否需要编译,如果.o文件不存在,则make失去判断条件,一定会编译.cpp文件

以上是关于makefile介绍1.0的主要内容,如果未能解决你的问题,请参考以下文章

Makefile

makefile中的Cflags用法

为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误

Linux Kernel Makefiles介绍

使用带有 NMake 样式 Makefile 的 clang-cl 无法回显

python+spark程序代码片段