安装和编译
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)
Make可以从一个名为Makefile的文件中获得如何构建程序的知识
基本概念
make 命令
定义C/C++编译选项,C++使用C++11标准
CFLAGS :=
C++FLAGS := -std=c++11
Makefile 文件: 显示规则,隐式规则,变量定义,文件指示,注释
1.Makefile的核心是规则 rules
2.依赖关系和依赖方法 target prerequisites
依赖方法通过规则中的命令(commands)来定义的
3.变量规则以及特殊变量
$@ 代表目前的目标
%这样的通配符
[=]和[:=]符号的区别 [:=]必须先定义然后再使用
自动选择编译源文件 “伪目标
make 如果 target 文件不存在,
或是 target 文件依赖的 .o 文件(prerequities)的文件修改时间要比 target 这个文件新,
就会执行后面所定义的命令 command 来生成 target 这个文件
编译器gcc、源文件SRC、头文件INC、目标文件OBJ、编译选项CFLAGS 和链接选项LDFLAGS、LIBS等
以及伪目标clean、compile、debug的执行规则
示例
执行文件包含2个源文件
main.c sin_value.c
一般步骤: 先进行目标文件的编译 在链接成执行文件,并加入libm数学库,产生可执行文件
示例 makefile
LIBS = -lm
OBJS = main.o sin_value.o
CFLAGS = -Wall
#每个.cpp生成一个对应的目标文件
objs/%.o : src/%.cpp
main:${ONJS}
gcc -o $@ ${OBJS} ${LIBS}
clean:
rm -f $(OBJS)
基本命令方式
目标: 依赖文件
<tab>命令
标签:文件,target,命令,make,makefile,C++,编译,Linux
From: https://www.cnblogs.com/ytwang/p/18600362