You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
ifneq (,$(strip $(LOCAL_COPY_HEADERS))) |
|
########################################################### |
|
## Copy headers to the install tree |
|
########################################################### |
|
$(call record-module-type,COPY_HEADERS) |
|
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),) |
|
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_COPY_HEADERS may not be used with host modules >&2) |
|
$(error done) |
|
endif |
|
|
|
# Modules linking against the SDK do not have the include path to use |
|
# COPY_HEADERS, so prevent them from exporting any either. |
|
ifdef LOCAL_SDK_VERSION |
|
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS >&2) |
|
$(error done) |
|
endif |
|
|
|
include $(BUILD_SYSTEM)/local_vndk.mk |
|
|
|
# If we're using the VNDK, only vendor modules using the VNDK may use |
|
# LOCAL_COPY_HEADERS. Platform libraries will not have the include path |
|
# present. |
|
ifdef BOARD_VNDK_VERSION |
|
ifndef LOCAL_USE_VNDK |
|
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS >&2) |
|
$(error done) |
|
endif |
|
endif |
|
|
|
# Create a rule to copy each header, and make the |
|
# all_copied_headers phony target depend on each |
|
# destination header. copy-one-header defines the |
|
# actual rule. |
|
# |
|
$(foreach header,$(LOCAL_COPY_HEADERS), \ |
|
$(eval _chFrom := $(LOCAL_PATH)/$(header)) \ |
|
$(eval _chTo := \ |
|
$(if $(LOCAL_COPY_HEADERS_TO),\ |
|
$(TARGET_OUT_HEADERS)/$(LOCAL_COPY_HEADERS_TO)/$(notdir $(header)),\ |
|
$(TARGET_OUT_HEADERS)/$(notdir $(header)))) \ |
|
$(eval ALL_COPIED_HEADERS.$(_chTo).MAKEFILE += $(LOCAL_MODULE_MAKEFILE)) \ |
|
$(eval ALL_COPIED_HEADERS.$(_chTo).SRC += $(_chFrom)) \ |
|
$(if $(filter $(_chTo),$(ALL_COPIED_HEADERS)),, \ |
|
$(eval ALL_COPIED_HEADERS += $(_chTo))) \ |
|
) |
|
_chFrom := |
|
_chTo := |
|
|
|
endif # LOCAL_COPY_HEADERS
|
|
|