summaryrefslogtreecommitdiffstats
path: root/postprocess/CustomTarget_signing.mk
diff options
context:
space:
mode:
Diffstat (limited to 'postprocess/CustomTarget_signing.mk')
-rw-r--r--postprocess/CustomTarget_signing.mk61
1 files changed, 61 insertions, 0 deletions
diff --git a/postprocess/CustomTarget_signing.mk b/postprocess/CustomTarget_signing.mk
new file mode 100644
index 000000000..a00faa857
--- /dev/null
+++ b/postprocess/CustomTarget_signing.mk
@@ -0,0 +1,61 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,postprocess/signing))
+
+
+$(eval $(call gb_CustomTarget_register_targets,postprocess/signing,\
+ signing.done \
+))
+
+# PFXFILE and PFXPASSWORD should be set in environment
+TIMESTAMPURL ?= "http://timestamp.globalsign.com/scripts/timestamp.dll"
+
+$(call gb_CustomTarget_get_workdir,postprocess/signing)/signing.done: \
+ $(SRCDIR)/postprocess/signing/signing.pl \
+ $(SRCDIR)/postprocess/signing/no_signing.txt \
+ $(call gb_Postprocess_get_target,AllLibraries) \
+ $(call gb_Postprocess_get_target,AllExecutables) \
+ $(call gb_Postprocess_get_target,AllModuleTests) \
+ $(call gb_Postprocess_get_target,AllModuleSlowtests)
+
+$(call gb_CustomTarget_get_workdir,postprocess/signing)/signing.done:
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,2)
+ $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),PRL)
+ifeq ($(COM),MSC)
+ifneq ($(ENABLE_DBGUTIL),TRUE)
+ EXCLUDELIST=$(shell $(gb_MKTEMP)) && \
+ cat $(SRCDIR)/postprocess/signing/no_signing.txt > $$EXCLUDELIST && \
+ echo "$(foreach lib,$(gb_MERGEDLIBS),$(call gb_Library_get_filename,$(lib)))" | tr ' ' '\n' >> $$EXCLUDELIST && \
+ $(if $(BUILD_X64),chmod u+w $(foreach lib,$(MSVC_DLLS),$(INSTDIR)/program/shlxthdl/$(lib)) &&) \
+ $(PERL) $(SRCDIR)/postprocess/signing/signing.pl \
+ -e $$EXCLUDELIST \
+ -l $(subst .done,_log.txt,$@) \
+ $(if $(verbose),-v) \
+ $(if $(PFXFILE),-f $(PFXFILE)) \
+ $(if $(PFXPASSWORD),-p $(PFXPASSWORD)) \
+ $(if $(TIMESTAMPURL),-t $(TIMESTAMPURL)) \
+ $(INSTDIR)/URE/bin/*.dll \
+ $(INSTDIR)/URE/bin/*.exe \
+ $(INSTDIR)/program/*.dll \
+ $(INSTDIR)/program/*.exe \
+ $(INSTDIR)/program/soffice.bin \
+ $(INSTDIR)/program/shlxthdl/*.dll \
+ $(INSTDIR)/sdk/cli/*.dll \
+ $(INSTDIR)/sdk/bin/*.exe \
+ && rm $$EXCLUDELIST && touch $@
+else
+ @echo "Doing nothing on non product builds ..."
+endif
+else
+ @echo "Nothing to do, signing is Windows (MSC) only."
+endif
+ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),PRL)
+
+# vim: set noet sw=4 ts=4: