1.1 包含其他Makefile
include $(PRJ_ROOT)/ruler/Makefile.mk
这行代码包含了另一个Makefile,这在大型项目中很常见,用于模块化和组织配置。$(PRJ_ROOT)/ruler/Makefile.mk
: 这是被包含的Makefile文件的路径。这里使用了Make的变量$(PRJ_ROOT)
,这是一种常见的做法,用来指向项目的根目录。这样做可以让路径变得更灵活且易于维护,因为如果项目根目录发生变化,只需修改PRJ_ROOT
的定义即可,而无需改动每个include
语句中的具体路径。ruler
目录下假设存放的是项目构建规则相关的文件,Makefile.mk
是其中的一个规则文件。
1.2 编译目标控制
##############################################################
# compile target control
##############################################################
SK_BUILD_BIN = YES
SK_BUILD_LIB = NO
SK_BUILD_BIN = YES
: 启用二进制文件的构建。SK_BUILD_LIB = NO
: 禁止库文件的构建。这些变量控制哪些类型的输出应该被构建。
1.3 输出头文件和包含目录
##############################################################
# output include file and include dir
##############################################################
OUT_INC_FILE =
OUT_INC_DIR = $(PRJ_ROOT)/include