7.2.使用 FLAVORS
要声明一个具有多个 flavor 的 Port,需要在其 Makefile 中添加 FLAVORS
。FLAVORS
中的第一个 flavor 是默认的 flavor。
技巧
同时定义
FLAVOR
为FLAVOR?= ${FLAVORS:[1]}
有助于简化 Makefile 的逻辑。
重要
为了将 flavor 与总是大写字母的选项区别开来,flavor 名称只能包含小写字母、数字和下划线
_
。
示例 1:基本的 Flavors 用法
如果某个 Port 有一个“精简版”从属 Port,那么可以移除该从属 Port,并将该 Port 转换为 flavors,如下所示:
示例 2:另一种基本的 Flavors 用法
如果某个 Port 有一个 -nox11
从属 Port,那么可以移除该从属 Port,并将该 Port 转换为 flavors,如下所示:
示例 3:更复杂的 Flavors 用法
7.2.1. Flavors 辅助机制
为了简化 Makefile 的编写,提供了一些 flavors 的辅助机制。
以下这些辅助机制会设置对应变量的值:
flavor_PKGNAMEPREFIX
flavor_PKGNAMESUFFIX
flavor_PLIST
flavor_DESCR
以下这些辅助机制会追加到对应变量中:
flavor_CONFLICTS
flavor_CONFLICTS_BUILD
flavor_CONFLICTS_INSTALL
flavor_PKG_DEPENDS
flavor_EXTRACT_DEPENDS
flavor_PATCH_DEPENDS
flavor_FETCH_DEPENDS
flavor_BUILD_DEPENDS
flavor_LIB_DEPENDS
flavor_RUN_DEPENDS
flavor_TEST_DEPENDS
示例 4:为特定 flavor 设置 PKGNAME
由于所有的包必须具有不同的包名,因此 flavors 必须修改各自的包名,使用 flavor_PKGNAMEPREFIX
和 flavor_PKGNAMESUFFIX
可以轻松实现:
最后更新于