目录
前言
本文只涉及cflags、ldflags、libs,关于makefile文件非常建议看看大神写的系列博客《跟我一起写Makefile》:
跟我一起写 Makefile(一)_haoel的博客-CSDN博客
一、CFLAGS
指定.h文件路径,如:CFLAGS=-I./include I../test/include。
CFLAGS表示用于C编译器的选项,CXXFLAGS表示用于C++编译器的选项
CFLAGS标志参数说明
类别 | 名称 | 说明 |
编译选项 | -S | 只是编译不汇编,生成汇编代码 |
-E | 只进行预编译,不做其他处理 | |
-g | 在可执行程序中包含标准调试信息 | |
-o file | 把产生文件输出到file里去 | |
-v | 打印出编译器内部编译过程的命令行信息和编译器的版本 | |
-I dir | 在头文件搜索路径列表中添加dir目录 | |
-L dir | 在库文件的搜索路径列表中添加dir目录 | |
告警和出错选项 | -ansi | 支持符合ANSI标准的C程序 |
-pedantic | 允许发出ANSI C标准所列的全部警告信息 | |
-pedantic -error | 允许发出ANSI C标准所列的全部错误信息 | |
-w | 关闭所有告警 | |
-Wall | 允许发出gcc提供的所有有用的报警信息 | |
-werror | 把所有的告警信息转化为错误信息,并在告警发生时终止编译过程 | |
优化选项 | -On | n是代表优化级别的整数 |
体系结构选项 | -mcpu=type | 针对不同的CPU使用相应的CPU指令。可选择的type有i386、i486、pentium及i686 |
-mieee-fp | 使用IEEE标准进行浮点数的比较 | |
-mno-ieee-fp | 不使用IEEE标准进行浮点数的比较 | |
-msoft-float | 输出包含浮点库调用的目标代码 | |
-mshort | 把int类型作为16位处理,相当于short int | |
-mrtd | 强行将函数参数个数固定的函数用ret NUM返回,节省调用函数的一条指令 |
二、LDFLAGS
编译器的优化参数,也可指定库文件位置,如:LDFLAGS=-L/usr/lib
三、LIBS
要链接的库文件,如:LIBS=-lpthread