Makefile入门

make常用命令

make -f

执行 make 命令时,它会去当前目录下查找名为Makefile的文件,可以使用-f 选项指定文件,不再使用名为Makefile的文件

make -C

可以使用-C 选项指定目录,切换到其他目录里去

 make变量赋值

自动变量

$@:代表当前规则的目标文件名

$<:代表第一个依赖文件的文件名

$^:代表所有依赖文件的列表,去重后按顺序列出

$?:依赖项中,所有比目标文件时间戳晚的依赖文件,依赖文件之间以空格分开

$*:	表示目标文件的名称,不包含目标文件的扩展名

$+:	表示所有的依赖文件,这些依赖文件之间以空格分开,按照出现的先后为顺序,其中可能 包含重复的依赖文件

 预定义变量

-I<directory>:指定头文件搜索路径

-L<directory>:指定库文件搜索路径。

-l<library>:链接指定的库,例如 -lm 链接数学库

AR	生成静态库库文件的程序名称	ar
AS	汇编编译器的名称	as
CC	C 语言编译器的名称	cc
CPP	C 语言预编译器的名称	$(CC) -E
CXX	C++语言编译器的名称	g++
RM	删除文件程序的名称	rm -f
ARFLAGS	生成静态库库文件程序的选项	无默认值
ASFLAGS	汇编语言编译器的编译选项	无默认值
CFLAGS	C 语言编译器的编译选项	无默认值
CPPFLAGS	C 语言预编译的编译选项	无默认值
CXXFLAGS	C++语言编译器的编译选项	无默认值
FFLAGS	FORTRAN 语言编译器的编译选项	无默认

CFLAGS := -Wall -O2 -g
CFLAGS += -I $(shell pwd)/include

export LDFLAGS="-L/path/to/lib -lmylib"
gcc $CFLAGS -o output input.c $LDFLAGS


CFLAGS 是用于设置 C/C++ 编译器选项的环境变量。它可以用来指定编译过程中的各种选项,如优化级别、警告级别、头文件包含路径等。

LDFLAGS 是用于设置链接器选项的环境变量。它可以用来指定链接过程中的各种选项,如库路径、库文件等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay-juice

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值