# This file is generated by gyp; do not edit.

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := GYP
LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))

# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=

### Generated for copy rule.
$(gyp_shared_intermediate_dir)/widevine_cdm_version.h: $(LOCAL_PATH)/third_party/widevine/cdm/android/widevine_cdm_version.h $(GYP_TARGET_DEPENDENCIES) | $(ACP)
	@echo Copying: $@
	$(hide) mkdir -p $(dir $@)
	$(hide) $(ACP) -rpf $< $@

third_party_widevine_cdm_widevine_cdm_gyp_widevine_cdm_version_h_target_copies = $(gyp_shared_intermediate_dir)/widevine_cdm_version.h

GYP_GENERATED_OUTPUTS := \
	$(third_party_widevine_cdm_widevine_cdm_gyp_widevine_cdm_version_h_target_copies)

# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)

### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
gyp_all_modules: third_party_widevine_cdm_widevine_cdm_version_h_gyp

# Alias gyp target name.
.PHONY: widevine_cdm_version_h
widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp

LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)

include $(BUILD_SYSTEM)/base_rules.mk

$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
	$(hide) echo "Gyp timestamp: $@"
	$(hide) mkdir -p $(dir $@)
	$(hide) touch $@

LOCAL_2ND_ARCH_VAR_PREFIX :=
