Makefile 中 -g、-o、-c、-f 、-D、-Wall、-L、含义

一、-g

可执行程序包含调试信息,目的是为了给 GDB 工具调试程序使用。

二、-o

指定输出文件名,如不指定 -o,默认输出文件名为 a.out。

1
如:gcc hello.c -o hello                   // 指定编译出来的文件名为 hello

三、-c

只编译不链接,产生 .o 文件,不产生可执行文件。

四、-f

编译用其它文件名书写的 Makefile。

1
如:make -f ./scripts/Makefile.build      // 这里的 Makefile.build 就是一个其它文件名书写的 Makefile

五、-D

执行 gcc 过程中给程序中添加宏定义。

1
gcc test.c -o test -D   CONFIG_MODE_OUTPUT

六、-Wall

编译后显示所有警告。

七、-L

因为我们在链接时常常要用到一些第三方库,Makefile 在链接的时候使用选项 “-L” 来指定库所在的目录。

1
LIBPATH := -lgcc -L /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm     // 数学库 LIBPATH 所在目录