Kaydet (Commit) efd2ac98 authored tarafından David Tardon's avatar David Tardon

gbuild: copy executables into $(INSTDIR)

Change-Id: I88f6327c12fa2b782aa5c82e5891006713348477
üst f48a576f
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
# defined by platform # defined by platform
# gb_Executable_Executable_platform # gb_Executable_Executable_platform
# NOTE: SDKBIN executables are already packaged in module odk
gb_Executable_LAYER_DIRS := \
OOO:program \
UREBIN:ure/bin
$(dir $(call gb_Executable_get_runtime_target,%)).dir : $(dir $(call gb_Executable_get_runtime_target,%)).dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
...@@ -47,6 +52,11 @@ $(call gb_Executable_get_clean_target,%) : ...@@ -47,6 +52,11 @@ $(call gb_Executable_get_clean_target,%) :
$(call gb_Executable_get_runtime_target,$*) \ $(call gb_Executable_get_runtime_target,$*) \
$(AUXTARGETS)) $(AUXTARGETS))
gb_Executable_get_packagename = Executable/$(1)
gb_Executable__get_dir_for_layer = $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_LAYER_DIRS)))
gb_Executable__get_instdir = $(call gb_Executable__get_dir_for_layer,$(call gb_Executable_get_layer,$(1)))
define gb_Executable_Executable define gb_Executable_Executable
$(call gb_Postprocess_get_target,AllExecutables) : $(call gb_Executable_get_target,$(1)) $(call gb_Postprocess_get_target,AllExecutables) : $(call gb_Executable_get_target,$(1))
ifeq (,$$(findstring $(1),$$(gb_Executable_KNOWN))) ifeq (,$$(findstring $(1),$$(gb_Executable_KNOWN)))
...@@ -67,12 +77,31 @@ $(call gb_Executable_get_runtime_target,$(1)) :| $(dir $(call gb_Executable_get_ ...@@ -67,12 +77,31 @@ $(call gb_Executable_get_runtime_target,$(1)) :| $(dir $(call gb_Executable_get_
$(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2)) $(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS := $(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_Executable_Executable_platform,$(1),$(2)) $(call gb_Executable_Executable_platform,$(1),$(2))
ifneq ($(gb_RUNNABLE_INSTDIR),)
$(if $(filter $(call gb_Executable_get_layer,$(1)):%,$(gb_Executable_LAYER_DIRS)),\
$(call gb_Executable__Executable_package,$(1),$(call gb_Executable_get_packagename,$(1)),$(2),$(notdir $(call gb_Executable_get_target,$(1)))) \
)
endif
$$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1)))) $$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Executable) $(call gb_Helper_make_userfriendly_targets,$(1),Executable)
$(call gb_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1)) $(call gb_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1))
endef endef
# gb_Executable__Executable_package executable package linktarget filename
define gb_Executable__Executable_package
$(call gb_Package_Package,$(2),$(WORKDIR))
$(call gb_Package_set_outdir,$(2),$(INSTDIR))
$(call gb_Package_add_file,$(2),$(call gb_Executable__get_instdir,$(1))/$(4),$(subst $(WORKDIR)/,,$(call gb_LinkTarget_get_target,$(3))))
$(call gb_Executable_get_target,$(1)) :| $(call gb_Package_get_target,$(2))
$(call gb_Package_get_target,$(2)) : $(call gb_LinkTarget_get_target,$(3))
$(call gb_Executable_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(2))
endef
define gb_Executable_set_targettype_gui define gb_Executable_set_targettype_gui
$(call gb_LinkTarget_get_target,Executable/$(1)$(gb_Executable_EXT)) : TARGETGUI := $(2) $(call gb_LinkTarget_get_target,Executable/$(1)$(gb_Executable_EXT)) : TARGETGUI := $(2)
endef endef
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment