summaryrefslogtreecommitdiff
path: root/readlicense_oo/CustomTarget_readme.mk
blob: 17dca39ab3ddbca0570f77f8f4427305c1f96e35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# -*- 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,readlicense_oo/readme))

readlicense_oo_DIR := $(gb_CustomTarget_workdir)/readlicense_oo/readme

# gb_WITH_LANG is empty if --with-lang is not set
# what we need here is: gb_WITH_LANG_OR_DEFAULT ;-)
readlicense_oo_LANGS := en-US $(filter-out en-US,$(gb_WITH_LANG))

$(call gb_CustomTarget_get_target,readlicense_oo/readme) : \
	$(foreach lang,$(readlicense_oo_LANGS),$(readlicense_oo_DIR)/$(call gb_README,$(lang)))

ifeq ($(strip $(gb_WITH_LANG)),)
readlicense_oo_README_XRM := $(SRCDIR)/readlicense_oo/docs/readme.xrm
else
readlicense_oo_README_XRM := $(readlicense_oo_DIR)/readme.xrm

$(readlicense_oo_DIR)/readme.xrm : \
		$(SRCDIR)/readlicense_oo/docs/readme.xrm \
		$(call gb_Executable_get_runtime_dependencies,xrmex) \
		$(foreach lang,$(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG))),$(gb_POLOCATION)/$(lang)/readlicense_oo/docs.po) \
		| $(readlicense_oo_DIR)/.dir
	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XRM,1)
	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),XRM)
	$(call gb_Helper_abbreviate_dirs, \
        MERGEINPUT=`$(gb_MKTEMP)` && \
        echo $(foreach lang,$(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG))),$(gb_POLOCATION)/$(lang)/readlicense_oo/docs.po) > $${MERGEINPUT} && \
		$(call gb_Executable_get_command,xrmex) \
			-i $< \
			-o $@ \
			-m $${MERGEINPUT} \
			-l all && \
        rm -rf $${MERGEINPUT})
	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),XRM)

endif

readlicense_oo_README_SED := \
	-e 's,$${PRODUCTNAME},$(PRODUCTNAME),g' \
	-e 's,$${PRODUCTVERSION},$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR),g' \
	-e 's,$${LCPRODUCTNAME},'"$$(printf %s '$(PRODUCTNAME)' | tr A-Z a-z)",g \

$(readlicense_oo_DIR)/$(call gb_README,%) : \
		$(SRCDIR)/readlicense_oo/docs/readme.xsl \
		$(readlicense_oo_README_XRM) \
		| $(readlicense_oo_DIR)/.dir \
		  $(call gb_ExternalExecutable_get_dependencies,xsltproc)
	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),XSL)
	$(call gb_Helper_abbreviate_dirs, \
		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --novalid -o $@.out \
			--stringparam com1 $(COM) \
			--stringparam cp1 $(CPUNAME) \
			--stringparam lang1 $(word 2,$(subst _, ,$(basename $(notdir $@)))) \
			--stringparam os1 $(OS) \
			--stringparam type text \
			$< \
			$(readlicense_oo_README_XRM) \
		$(if $(filter WNT,$(OS)), \
			&& $(gb_AWK) 'sub("$$","\r")' $@.out > $@.tmp \
			&& mv $@.tmp $@.out \
		) \
		&& sed $(readlicense_oo_README_SED) $@.out > $@ \
		&& rm $@.out \
	)
	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),XSL)

# vim:set shiftwidth=4 tabstop=4 noexpandtab: