[Makefile] 第四章:大型项目中的makefile

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

1.4 目标名称定义

1.5 子目录编译控制

1.6 源文件收集

1.7 依赖的头文件和库

1.8 平台特定配置

1.9 最后再次包含外部Makefile

相关推荐

  1. [Makefile] 大型项目makefile

    2024-07-19 13:26:07       18 阅读
  2. <span style='color:red;'>Makefile</span>

    Makefile

    2024-07-19 13:26:07      51 阅读
  3. 影响 Makefile 变量值方式

    2024-07-19 13:26:07       31 阅读
  4. Linux .PHONY 和 all 在 Makefile 作用

    2024-07-19 13:26:07       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 13:26:07       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 13:26:07       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 13:26:07       57 阅读
  4. Python语言-面向对象

    2024-07-19 13:26:07       68 阅读

热门阅读

  1. 前端传值到后端,后端解析为科学计数法

    2024-07-19 13:26:07       17 阅读
  2. 2024 年 6 大 SwaggerHub 替代方案

    2024-07-19 13:26:07       17 阅读
  3. PHP 与 1688 详情 API 接口的完美对接

    2024-07-19 13:26:07       18 阅读
  4. 在状态流图中重用自定义C代码

    2024-07-19 13:26:07       18 阅读
  5. element导出.csv

    2024-07-19 13:26:07       22 阅读
  6. 2024年预测智能家居未来十年发展趋势(必看)

    2024-07-19 13:26:07       21 阅读