1命令
有两份Makefile,第一份指向第二份。
编译时候使用的命令是make
清理命令是make clean
只编译自带的客户端是make redis-cli
只清理自带的客户端是make redis-cli clean
可执行文件redis-cli来自anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o,入口main在 redis-cli.o
2设置控制台日志颜色
CCCOLOR="\033[34m"
LINKCOLOR="\033[34;1m"
SRCCOLOR="\033[33m"
BINCOLOR="\033[37;1m"
MAKECOLOR="\033[32;1m"
ENDCOLOR="\033[0m"
3-makefile中自带的变量
无需声明直接使用
-
CC
:C 编译器的命令,默认值是cc
。 -
CXX
:C++ 编译器的命令,默认值是g++
。 -
AR
:用于创建静态库的命令,默认值是ar
。 -
LD
:用于链接目标文件的命令,默认值是$(CC)
。 -
RM
:用于删除文件的命令,默认值是rm -f
。 -
CFLAGS
:用于 C 编译器的编译选项。 -
CXXFLAGS
:用于 C++ 编译器的编译选项。 -
LDFLAGS
:用于链接器的选项。 -
CPPFLAGS
:用于 C/C++ 预处理器的选项。 -
LIBS
:要链接到目标的库文件。 -
MAKE
:Make 工具的命令,默认值是make
,用于递归调用 Make。 -
SHELL
:用于执行命令的系统 shell,默认值是/bin/sh
。 -
MAKEFILE
:当前正在使用的 Makefile 文件名。 -
CURDIR
:当前工作目录的路径。 -
SUFFIXES
:文件后缀列表,用于确定文件的类型。 -
VPATH
:指定寻找源文件的路径列表。 -
MAKECMDGOALS
:包含了在命令行上指定的目标列表
无需声明直接使用
4-生成依赖关系
cc -MM
-include