Skip to content
目录

构建(编译)

您可以全局性的指定编译源文件时采用的编译方式,如:独立编译、静态编译等。也可以单独为目标(target)指定构建配置。

对于未指定构建配置的目标将采用全局的构建配置。

全局配置

project:
  # ......
build:
  compiler: 独立编译

在上述配置中,指定了全局默认的构建配置采用的编译方式为“独立编译”,您可以指定其他的编译方式

编译方式

支持的编译方式如下:

  • 黑月编译
  • 黑月汇编
  • 黑月C++
  • 黑月MFC
  • 静态编译
  • 独立编译

特定目标配置

您可以在targets下配置若干构建目标,对目标的输出文件名、编译方式等做出说明。

配置格式如下:

projects:
  # ......
targets:
  - name: <目标的名称>
    description: <目标的描述>
    source: <目标的源文件路径>
    build:
      compiler: <编译方式>
    output: <输出文件名> # 当使用相对路径时,将相对于构建输出目录
    package: false # 是否为易包
    hooks: # 构建生命周期相关脚本
      pre-build: <编译该目标前执行的脚本>
      post-build: <编译该目标前之后的脚本>
  - name: ...
    ...

构建生命周期相关脚本

ebuild将对目标的构建拆分成了若干生命周期,您可以在生命周期中指定执行一些代码。比如编译完成后,您可以使用脚本将输出文件复制到某处,或者对文件创建副本等。

ebuild在执行这些脚本时也会传入一些额外的环境变量,用于在脚本中获得当前构建目标的一些信息。

目前的生命周期主要有:

  • pre-build: 在编译目标之前执行
  • post-build: 在编译目标之后执行

本开源软件受 MIT 协议保护