blob: a4fd2edf42b18f78fb42e8d9c28c4ee792af820b [file] [log] [blame]
Dan Willemsenbab0fa62016-11-18 14:05:39 -08001ifneq (,$(strip $(LOCAL_COPY_HEADERS)))
The Android Open Source Project88b60792009-03-03 19:28:42 -08002###########################################################
3## Copy headers to the install tree
4###########################################################
Dan Willemsen3bf15e72016-07-25 16:03:53 -07005$(call record-module-type,COPY_HEADERS)
The Android Open Source Project88b60792009-03-03 19:28:42 -08006ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
7 my_prefix := HOST_
8else
9 my_prefix := TARGET_
10endif
11
Dan Willemsenbab0fa62016-11-18 14:05:39 -080012# Modules linking against the SDK do not have the include path to use
13# COPY_HEADERS, so prevent them from exporting any either.
14ifdef LOCAL_SDK_VERSION
15$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS >&2)
16$(error done)
17endif
18
19include $(BUILD_SYSTEM)/local_vndk.mk
20
21# If we're using the VNDK, only vendor modules using the VNDK may use
22# LOCAL_COPY_HEADERS. Platform libraries will not have the include path
23# present.
24ifdef BOARD_VNDK_VERSION
25ifndef LOCAL_USE_VNDK
26$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS >&2)
27$(error done)
28endif
29endif
30
The Android Open Source Project88b60792009-03-03 19:28:42 -080031# Create a rule to copy each header, and make the
32# all_copied_headers phony target depend on each
33# destination header. copy-one-header defines the
34# actual rule.
35#
36$(foreach header,$(LOCAL_COPY_HEADERS), \
37 $(eval _chFrom := $(LOCAL_PATH)/$(header)) \
38 $(eval _chTo := \
Colin Crossa6c4ebd2013-10-22 12:24:21 -070039 $(if $(LOCAL_COPY_HEADERS_TO),\
40 $($(my_prefix)OUT_HEADERS)/$(LOCAL_COPY_HEADERS_TO)/$(notdir $(header)),\
41 $($(my_prefix)OUT_HEADERS)/$(notdir $(header)))) \
Dan Willemsen6f60f022016-02-23 13:40:07 -080042 $(eval ALL_COPIED_HEADERS.$(_chTo).MAKEFILE += $(LOCAL_MODULE_MAKEFILE)) \
43 $(eval ALL_COPIED_HEADERS.$(_chTo).SRC += $(_chFrom)) \
44 $(if $(filter $(_chTo),$(ALL_COPIED_HEADERS)),, \
45 $(eval ALL_COPIED_HEADERS += $(_chTo))) \
The Android Open Source Project88b60792009-03-03 19:28:42 -080046 )
47_chFrom :=
48_chTo :=
Dan Willemsenbab0fa62016-11-18 14:05:39 -080049
50endif # LOCAL_COPY_HEADERS