From f625bf277c88e0a21fab0a1e19de619dc0faec24 Mon Sep 17 00:00:00 2001 From: Dima Zavin Date: Thu, 16 Sep 2010 00:25:16 -0700 Subject: [PATCH] core: Add a phony package definition This allows one to declare a meta-package that depends on a list of modules. This is extremely useful for vendor provided prebulit libraries where there is a big list of libraries/binaries to include. Specifying that list in multiple places would be error prone and eventually lead to very annoying bug hunts. With a fake package, one does: LOCAL_MODULE := my_fake_package LOCAL_REQUIRED_MODULES := LOCAL_MODULE_TAGS := optional include $(BUILD_PHONY_PACKAGE) Change-Id: Idcfe91f6f2d6d886aba094981a70690e5a808bfc Signed-off-by: Dima Zavin --- core/config.mk | 1 + core/phony_package.mk | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 core/phony_package.mk diff --git a/core/config.mk b/core/config.mk index b283b8c92..51a5d9c7c 100644 --- a/core/config.mk +++ b/core/config.mk @@ -61,6 +61,7 @@ BUILD_EXECUTABLE:= $(BUILD_SYSTEM)/executable.mk BUILD_RAW_EXECUTABLE:= $(BUILD_SYSTEM)/raw_executable.mk BUILD_HOST_EXECUTABLE:= $(BUILD_SYSTEM)/host_executable.mk BUILD_PACKAGE:= $(BUILD_SYSTEM)/package.mk +BUILD_PHONY_PACKAGE:= $(BUILD_SYSTEM)/phony_package.mk BUILD_HOST_PREBUILT:= $(BUILD_SYSTEM)/host_prebuilt.mk BUILD_PREBUILT:= $(BUILD_SYSTEM)/prebuilt.mk BUILD_MULTI_PREBUILT:= $(BUILD_SYSTEM)/multi_prebuilt.mk diff --git a/core/phony_package.mk b/core/phony_package.mk new file mode 100644 index 000000000..e6c0b6ee8 --- /dev/null +++ b/core/phony_package.mk @@ -0,0 +1,18 @@ +LOCAL_MODULE_CLASS := _FAKE_ + +ifneq ($(strip $(LOCAL_SRC_FILES)),) +$(error LOCAL_SRC_FILES are not allowed for phony packages) +endif + +ifeq ($(strip $(LOCAL_REQUIRED_MODULES)),) +$(error LOCAL_REQUIRED_MODULES is required for phony packages) +endif + +.PHONY: $(LOCAL_MODULE) + +$(LOCAL_MODULE): $(LOCAL_REQUIRED_MODULES) + +ALL_MODULES += $(LOCAL_MODULE) +ALL_MODULES.$(LOCAL_MODULE).CLASS := _FAKE_ + +PACKAGES := $(PACKAGES) $(LOCAL_MODULE) -- 2.11.0