[Libreoffice-commits] .: desktop/Executable_soffice.bin.mk

Fridrich Strba fridrich at kemper.freedesktop.org
Tue Nov 1 04:49:20 PDT 2011


 desktop/Executable_soffice.bin.mk |   22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

New commits:
commit cca7126c2908c5b9b6693326a3861bb96fae1be3
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date:   Fri Oct 28 02:26:43 2011 +0200

    very,very ugly hack to get the soffice.bin name
    
    the previous solution couldnt work:
    - Packages are toplevel targets, so they need to be in a separate file
    - However, Packages should not be used here as it interferes with the
      pattern rules on $(OUTDIR)/bin
    - replacing those instead with explicit (non-pattern) rules for this
      exceptional case
    - depending from the regular target in $(OUTDIR) on the special one
    - depending from the special target on the $(WORKDIR) one

diff --git a/desktop/Executable_soffice.bin.mk b/desktop/Executable_soffice.bin.mk
index 7731aef..3953b26 100644
--- a/desktop/Executable_soffice.bin.mk
+++ b/desktop/Executable_soffice.bin.mk
@@ -69,13 +69,25 @@ $(eval $(call gb_Executable_add_noexception_objects,$(sofficebin),\
     desktop/win32/source/extendloaderenvironment \
 ))
 
-# the resulting executable is called soffice_bin.exe, copy it to soffice.bin
-$(eval $(call gb_Package_Package,$(sofficebin),$(OUTDIR)/bin))
-$(eval $(call gb_Package_add_file,$(sofficebin),bin/soffice.bin,$(sofficebin).exe))
+$(call gb_Executable_get_target,$(sofficebin)) : $(OUTDIR)/bin/soffice.bin
+$(call gb_Executable_get_clean_target,$(sofficebin)) : $(WORKDIR)/Clean/OutDir/bin/soffice.bin
+$(OUTDIR)/bin/soffice.bin : $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktargetname,$(sofficebin)))
+	$(call gb_Deliver_deliver,$<,$@)
+
+.PHONY : $(WORKDIR)/Clean/OutDir/bin/soffice.bin
+$(WORKDIR)/Clean/OutDir/bin/soffice.bin :
+	rm $(OUTDIR)/bin/soffice.bin
 
 ifeq ($(COM),MSC)
-# also copy the manifest
-$(eval $(call gb_Package_add_file,$(sofficebin),bin/soffice.bin.manifest,$(sofficebin).exe.manifest))
+$(call gb_Executable_get_target,$(sofficebin)) : $(OUTDIR)/bin/soffice.bin.manifest
+$(call gb_Executable_get_clean_target,$(sofficebin)) : $(WORKDIR)/Clean/OutDir/bin/soffice.bin.manifest
+$(OUTDIR)/bin/soffice.bin.manifest : $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktargetname,$(sofficebin))).manifest $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktargetname,$(sofficebin)))
+	$(call gb_Deliver_deliver,$<,$@)
+	
+.PHONY : $(WORKDIR)/Clean/OutDir/bin/soffice.bin.manifest
+$(WORKDIR)/Clean/OutDir/bin/soffice.bin.manifest :
+	rm $(OUTDIR)/bin/soffice.bin.manifest
+
 endif
 
 endif


More information about the Libreoffice-commits mailing list