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

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := GYP
LOCAL_MODULE := third_party_WebKit_Source_devtools_generate_devtools_grd_gyp
LOCAL_MODULE_STEM := generate_devtools_grd
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 := \
	$(call intermediates-dir-for,GYP,third_party_WebKit_Source_devtools_devtools_html_gyp,,,$(GYP_VAR_PREFIX))/devtools_html.stamp \
	$(call intermediates-dir-for,GYP,third_party_WebKit_Source_devtools_devtools_extension_api_gyp,,,$(GYP_VAR_PREFIX))/devtools_extension_api.stamp \
	$(call intermediates-dir-for,GYP,third_party_WebKit_Source_devtools_devtools_frontend_resources_gyp,,,$(GYP_VAR_PREFIX))/devtools_frontend_resources.stamp

### Rules for action "generate_devtools_grd":
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd: $(LOCAL_PATH)/third_party/WebKit/Source/devtools/scripts/generate_devtools_grd.py $(gyp_shared_intermediate_dir)/resources/inspector/devtools.html $(gyp_shared_intermediate_dir)/resources/inspector/main/Main.js $(gyp_shared_intermediate_dir)/resources/inspector/search/AdvancedSearchView.js $(gyp_shared_intermediate_dir)/resources/inspector/console/ConsolePanel.js $(gyp_shared_intermediate_dir)/resources/inspector/elements/ElementsPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/extensions/ExtensionServer.js $(gyp_shared_intermediate_dir)/resources/inspector/resources/ResourcesPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/network/NetworkPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/settings/SettingsScreen.js $(gyp_shared_intermediate_dir)/resources/inspector/source_frame/SourceFrame.js $(gyp_shared_intermediate_dir)/resources/inspector/sources/SourcesPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/timeline/TimelinePanel.js $(gyp_shared_intermediate_dir)/resources/inspector/profiler/ProfilesPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/audits/AuditsPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/layers/LayersPanel.js $(gyp_shared_intermediate_dir)/resources/inspector/profiler/heap_snapshot_worker/HeapSnapshotWorker.js $(gyp_shared_intermediate_dir)/resources/inspector/script_formatter_worker/ScriptFormatterWorker.js $(gyp_shared_intermediate_dir)/resources/inspector/temp_storage_shared_worker/TempStorageSharedWorker.js $(gyp_shared_intermediate_dir)/resources/inspector/devices/DevicesView.js $(gyp_shared_intermediate_dir)/resources/inspector/inspector.css $(gyp_shared_intermediate_dir)/resources/inspector/devtools_extension_api.js $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/accelerometer.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/auditsPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/breadcrumbList.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/breakpointsList.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/dataGrid.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/devicesView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/elementsPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/filter.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/filteredItemSelectionDialog.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/flameChart.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/heapProfiler.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/helpScreen.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/indexedDBViews.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/inspectorCommon.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/navigatorView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/networkLogView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/networkPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/overrides.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/panelEnablerView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/profilesPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/resourceView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/resourcesPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/responsiveDesignView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/revisionHistory.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/screencastView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/sidebarPane.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/sourcesPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/sourcesView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/spectrum.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/splitView.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/suggestBox.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/timelinePanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/canvasProfiler.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/layersPanel.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/cm/cmdevtools.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/cm/codemirror.css $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/addIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/applicationCache.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/back.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/breakpoint.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/breakpoint_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/breakpointConditional.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/breakpointConditional_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/checker.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/cookie.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/database.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/databaseTable.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/deleteIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/domain.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/forward.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/fileSystem.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/frame.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/graphLabelCalloutLeft.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/graphLabelCalloutRight.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/indexedDB.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/indexedDBObjectStore.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/indexedDBIndex.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/localStorage.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/navigationControls.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/navigationControls_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/paneAddButtons.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/paneElementStateButtons.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/paneFilterButtons.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/paneRefreshButtons.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/paneSettingsButtons.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/popoverArrows.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/popoverBackground.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/profileGroupIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/profileIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/profileSmallIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/radioDot.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourceCSSIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourceDocumentIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourceDocumentIconSmall.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourceJSIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourcePlainIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourcePlainIconSmall.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/resourcesTimeGraphIcon.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/responsiveDesign.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/responsiveDesign_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/searchNext.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/searchPrev.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/sessionStorage.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/settingsListRemove.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/settingsListRemove_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/statusbarButtonGlyphs.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/statusbarButtonGlyphs_2x.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/statusbarResizerHorizontal.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/statusbarResizerVertical.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbActiveHoriz.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbActiveVert.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbHoriz.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbVert.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbHoverHoriz.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/thumbHoverVert.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/toolbarItemSelected.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/trackHoriz.png $(LOCAL_PATH)/third_party/WebKit/Source/devtools/front_end/Images/trackVert.png $(GYP_TARGET_DEPENDENCIES)
	@echo "Gyp action: third_party_WebKit_Source_devtools_devtools_gyp_generate_devtools_grd_target_generate_devtools_grd ($@)"
	$(hide)cd $(gyp_local_path)/third_party/WebKit/Source/devtools; mkdir -p $(gyp_shared_intermediate_dir)/devtools; python scripts/generate_devtools_grd.py "$(gyp_shared_intermediate_dir)/resources/inspector/devtools.html" "$(gyp_shared_intermediate_dir)/resources/inspector/main/Main.js" "$(gyp_shared_intermediate_dir)/resources/inspector/search/AdvancedSearchView.js" "$(gyp_shared_intermediate_dir)/resources/inspector/console/ConsolePanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/elements/ElementsPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/extensions/ExtensionServer.js" "$(gyp_shared_intermediate_dir)/resources/inspector/resources/ResourcesPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/network/NetworkPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/settings/SettingsScreen.js" "$(gyp_shared_intermediate_dir)/resources/inspector/source_frame/SourceFrame.js" "$(gyp_shared_intermediate_dir)/resources/inspector/sources/SourcesPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/timeline/TimelinePanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/profiler/ProfilesPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/audits/AuditsPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/layers/LayersPanel.js" "$(gyp_shared_intermediate_dir)/resources/inspector/profiler/heap_snapshot_worker/HeapSnapshotWorker.js" "$(gyp_shared_intermediate_dir)/resources/inspector/script_formatter_worker/ScriptFormatterWorker.js" "$(gyp_shared_intermediate_dir)/resources/inspector/temp_storage_shared_worker/TempStorageSharedWorker.js" "$(gyp_shared_intermediate_dir)/resources/inspector/devices/DevicesView.js" "$(gyp_shared_intermediate_dir)/resources/inspector/inspector.css" "$(gyp_shared_intermediate_dir)/resources/inspector/devtools_extension_api.js" front_end/accelerometer.css front_end/auditsPanel.css front_end/breadcrumbList.css front_end/breakpointsList.css front_end/dataGrid.css front_end/devicesView.css front_end/elementsPanel.css front_end/filter.css front_end/filteredItemSelectionDialog.css front_end/flameChart.css front_end/heapProfiler.css front_end/helpScreen.css front_end/indexedDBViews.css front_end/inspectorCommon.css front_end/navigatorView.css front_end/networkLogView.css front_end/networkPanel.css front_end/overrides.css front_end/panelEnablerView.css front_end/profilesPanel.css front_end/resourceView.css front_end/resourcesPanel.css front_end/responsiveDesignView.css front_end/revisionHistory.css front_end/screencastView.css front_end/sidebarPane.css front_end/sourcesPanel.css front_end/sourcesView.css front_end/spectrum.css front_end/splitView.css front_end/suggestBox.css front_end/timelinePanel.css front_end/canvasProfiler.css front_end/layersPanel.css front_end/cm/cmdevtools.css front_end/cm/codemirror.css --relative_path_dirs "$(gyp_shared_intermediate_dir)/resources/inspector" front_end --images front_end/Images --output "$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd"



GYP_GENERATED_OUTPUTS := \
	$(gyp_shared_intermediate_dir)/devtools/devtools_resources.grd

# 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_WebKit_Source_devtools_generate_devtools_grd_gyp

# Alias gyp target name.
.PHONY: generate_devtools_grd
generate_devtools_grd: third_party_WebKit_Source_devtools_generate_devtools_grd_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 :=
