diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-09-19 00:08:31 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-09-22 11:08:32 +0200 |
commit | f2899508b3bd55ecdbd45a02e0e8071b95906b3a (patch) | |
tree | 061ab2746bbebb6ffff3fd1ecf845292c860a0bc /solenv/gbuild/Executable.mk | |
parent | 4c51feb06e9ee9be25eca5ae58d07cd6c12bca63 (diff) |
gbuild: remove executables from OUTDIR and WORKDIR
Call and link executables directly in INSTDIR.
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- adjust paths of all external executables to OUTDIR_FOR_BUILD for now
- use lazy assignment instead of := in AllLangResTarget because it's
read before Executable
- link.exe generates an import library for lots of executables
because they export symbols, especially since commit
0ffab9363d527d55b12b9b09d7136ca1c9d171e0
"force 'main' to always be DLLPUBLIC."
Change-Id: I3e1ee7425dd430bb83c7cd59e265869a0541b38d
Diffstat (limited to 'solenv/gbuild/Executable.mk')
-rw-r--r-- | solenv/gbuild/Executable.mk | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk index c12287b5c14f..433ee0eeba1a 100644 --- a/solenv/gbuild/Executable.mk +++ b/solenv/gbuild/Executable.mk @@ -26,6 +26,7 @@ gb_Executable_LAYER_DIRS := \ UREBIN:$(gb_INSTROOT)/$(LIBO_URE_BIN_FOLDER) \ OOO:$(gb_INSTROOT)/$(gb_PROGRAMDIRNAME) \ SDKBIN:$(INSTDIR)/$(gb_Package_SDKDIRNAME)/bin \ + NONE:$(gb_Executable_BINDIR) \ $(dir $(call gb_Executable_get_runtime_target,%)).dir : $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) @@ -62,22 +63,17 @@ define gb_Executable__Executable_impl $(call gb_LinkTarget_LinkTarget,$(2),Executable_$(1),$(call gb_Executable_get_layer,$(1))) $(call gb_LinkTarget_set_targettype,$(2),Executable) $(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS)) -$(call gb_Executable_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) \ - | $(dir $(call gb_Executable_get_target,$(1))).dir +$(call gb_Executable_get_target,$(1)) : \ + | $(dir $(call gb_Executable_get_target,$(1))).dir \ + $(gb_Executable_BINDIR)/.dir $(call gb_Executable_get_runtime_target,$(1)) :| $(dir $(call gb_Executable_get_runtime_target,$(1))).dir $(call gb_Executable_get_runtime_target,$(1)) : $(call gb_Executable_get_target_for_build,$(1)) $(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_Executable_platform,$(1),$(2)) +$(call gb_Executable_Executable_platform,$(1),$(2),$(gb_Executable_BINDIR)/$(1).lib) -$(if $(call gb_Executable__get_dir_for_exe,$(1)), \ -$(call gb_Helper_install,$(call gb_Executable_get_target,$(1)), \ - $(call gb_Executable_get_install_target,$(1)), \ - $(call gb_LinkTarget_get_target,$(2))) \ -) $$(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_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1)) endef @@ -85,14 +81,8 @@ define gb_Executable_set_targettype_gui $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktarget,$(1))) : TARGETGUI := $(2) endef -# The auxtarget is delivered via the rule in Package.mk. -# gb_Executable_add_auxtarget executable outdirauxtarget define gb_Executable_add_auxtarget -$(call gb_LinkTarget_add_auxtarget,$(call gb_Executable_get_linktarget,$(1)),$(dir $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktarget,$(1))))/$(notdir $(2))) -$(call gb_Executable_get_target,$(1)) : $(2) -$(2) : $(dir $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktarget,$(1))))/$(notdir $(2)) -$(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS += $(2) - +$(call gb_Output_error,gb_Executable_add_auxtarget should no longer be necessary) endef define gb_Executable_forward_to_Linktarget |