CustomTarget_html.mk |   40 ++++++++++++++--------------------------
 1 file changed, 14 insertions(+), 26 deletions(-)

New commits:
commit 2b322af4b9473210ed6a332115dac381f07039d6
Author:     Christian Lohmaier <[email protected]>
AuthorDate: Tue Oct 21 13:31:07 2025 +0200
Commit:     Olivier Hallot <[email protected]>
CommitDate: Thu Nov 6 11:48:46 2025 +0100

    simplify help makefile a bit
    
    by copying the en-US file a single pattern rule can be used without the
    need of using a generator/eval to add the targets/dependencies
    
    Change-Id: Ie63fce1e3687f1e1ba46583529e6f4997c0aba44
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/192835
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <[email protected]>

diff --git a/CustomTarget_html.mk b/CustomTarget_html.mk
index e07374d0db..0261af26ee 100644
--- a/CustomTarget_html.mk
+++ b/CustomTarget_html.mk
@@ -14,7 +14,7 @@ html_TREE_MODULES := swriter scalc simpress sdraw sdatabase 
smath schart sbasic
 html_TEXT_MODULES := $(html_TREE_MODULES)
 html_BMARK_MODULES := swriter:WRITER scalc:CALC simpress:IMPRESS sdraw:DRAW 
sdatabase:BASE smath:MATH schart:CHART sbasic:BASIC shared:SHARED
 
-gb_html_allhelpfiles = $(foreach 
module,$(html_TEXT_MODULES),$(gb_AllLangHelp_$(module)_HELPFILES))
+gb_html_allhelpfiles = $(sort $(subst helpcontent2/source/text/,,$(foreach 
module,$(html_TEXT_MODULES),$(gb_AllLangHelp_$(module)_HELPFILES))))
 
 # In case someone has a product name containing quotes, use Unicode
 # code points for ' (27) and " (22) in JS, CSS and entities for HTML.
@@ -50,7 +50,7 @@ $(gb_CustomTarget_workdir)/helpcontent2/help3xsl/hid2file.js 
: \
        $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
        $(call gb_Trace_StartRange,$(@F),XSL)
        ( \
-               RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),$(subst 
helpcontent2/source/text/,,$(gb_html_allhelpfiles)$(if $(filter WNT,$(OS)), ))) 
 && \
+               RESPONSEFILE=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),$(gb_html_allhelpfiles)$(if $(filter WNT,$(OS)), ))  && \
                echo 'var hid2fileMap = {' \
                && cd $(SRCDIR)/helpcontent2/source/text && $(call 
gb_ExternalExecutable_get_command,xsltproc,$(if $(filter WNT,$(OS)),env -i 
$(gb_Helper_set_ld_path)) xargs) $< <$$RESPONSEFILE || { rm $$RESPONSEFILE; 
exit 1 ; } \
                && rm "$$RESPONSEFILE" \
@@ -58,19 +58,15 @@ 
$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/hid2file.js : \
        ) > $@
        $(call gb_Trace_EndRange,$(@F),XSL)
 
+# copy en-US file so that pattern rules below don't need special treatment for 
en-US
+$(gb_HelpTranslatePartTarget_workdir)/en-US/helpcontent2/source/text/shared/help/browserhelp.xhp:
 $(SRCDIR)/helpcontent2/source/text/shared/help/browserhelp.xhp
+       mkdir -p $(@D) && cp $< $@
 
 # Xapian localized templates
 ifeq ($(HELP_OMINDEX_PAGE),TRUE)
 
-define html_gen_xaptpl_dep
-$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/$(1)/xap_tpl : \
-       $(if $(filter 
en-US,$(1)),$(SRCDIR),$(gb_HelpTranslatePartTarget_workdir)/$(1))/helpcontent2/source/text/shared/help/browserhelp.xhp
-
-endef
-       
-$(eval $(foreach lang,$(gb_HELP_LANGS),$(call html_gen_xaptpl_dep,$(lang))))
-
 $(gb_CustomTarget_workdir)/helpcontent2/help3xsl/%/xap_tpl : \
+        
$(gb_HelpTranslatePartTarget_workdir)/%/helpcontent2/source/text/shared/help/browserhelp.xhp
 \
         $(SRCDIR)/helpcontent2/help3xsl/xap_templ_query.xsl \
         $(SRCDIR)/helpcontent2/CustomTarget_html.mk \
         | $(call gb_ExternalExecutable_get_dependencies,xsltproc)
@@ -83,27 +79,19 @@ $(gb_CustomTarget_workdir)/helpcontent2/help3xsl/%/xap_tpl 
: \
                --stringparam productversion "$(PRODUCTVERSION)" \
                -o $@ \
                $(SRCDIR)/helpcontent2/help3xsl/xap_templ_query.xsl \
-               $(if $(filter 
en-US,$*),$(SRCDIR),$(gb_HelpTranslatePartTarget_workdir)/$*)/helpcontent2/source/text/shared/help/browserhelp.xhp
 \
+               
$(gb_HelpTranslatePartTarget_workdir)/$*/helpcontent2/source/text/shared/help/browserhelp.xhp
 \
        )
        $(call gb_Trace_EndRange,$*/$(@F),XSL)
 
 endif
 
 # set of installed languages - has to be language independent
-$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/languages.js : \
-        $(SRCDIR)/helpcontent2/CustomTarget_html.mk
-       printf 'var languagesSet = new Set([%s]);
' "$(subst $(WHITESPACE),$(COMMA) ,$(patsubst %,'%',$(gb_HELP_LANGS)))" > $@
-
-define html_gen_langnames_js_dep
-$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/$(1)/langnames.js : \
-       $(if $(filter 
en-US,$(1)),$(SRCDIR),$(gb_HelpTranslatePartTarget_workdir)/$(1))/helpcontent2/source/text/shared/help/browserhelp.xhp
-
-endef
-
-$(eval $(foreach lang,$(gb_HELP_LANGS),$(call 
html_gen_langnames_js_dep,$(lang))))
+$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/languages.js : 
$(SRCDIR)/helpcontent2/CustomTarget_html.mk
+       $(file >$@,'var languagesSet = new Set([$(subst $(WHITESPACE),$(COMMA) 
,$(patsubst %,'%',$(gb_HELP_LANGS)))]);')
 
 # names of the languages - has to be translated, ie. per language
 $(gb_CustomTarget_workdir)/helpcontent2/help3xsl/%/langnames.js : \
+        
$(gb_HelpTranslatePartTarget_workdir)/%/helpcontent2/source/text/shared/help/browserhelp.xhp
 \
         $(SRCDIR)/helpcontent2/CustomTarget_html.mk
        ( \
                echo 'var languageNames = {' ; \
@@ -191,9 +179,9 @@ 
$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/%/html.text : \
         | $(call gb_ExternalExecutable_get_dependencies,xsltproc)
        $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
        $(call gb_Trace_StartRange,$*/$(@F),XSL)
-       rm -rf $(dir $@)text && mkdir -p $(dir $@)text && cd $(dir $@)text && 
mkdir -p $(sort $(subst helpcontent2/source/text/,,$(dir 
$(gb_html_allhelpfiles)))) \
+       rm -rf $(dir $@)text && mkdir -p $(dir $@)text && cd $(dir $@)text && 
mkdir -p $(sort $(dir $(gb_html_allhelpfiles))) \
        && cd $(if $(filter 
en-US,$*),$(SRCDIR),$(gb_HelpTranslatePartTarget_workdir)/$*) \
-       && RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),$(addsuffix 
$(WHITESPACE)dummyIgnoreCRinEOL$(NEWLINE),$(subst 
helpcontent2/source/,,$(gb_html_allhelpfiles)))) \
+       && RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),$(addsuffix 
$(WHITESPACE)dummyIgnoreCRinEOL$(NEWLINE),$(gb_html_allhelpfiles))) \
        && while read xhp dummy; do \
            $(call gb_ExternalExecutable_get_command,xsltproc) \
                --stringparam Language $* \
@@ -202,9 +190,9 @@ 
$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/%/html.text : \
                --stringparam productname "$(gb_PRODUCTNAME_HTML)" \
                --stringparam productversion "$(PRODUCTVERSION)" \
                --stringparam xapian $(if $(filter TRUE, 
$(HELP_OMINDEX_PAGE)),'yes','no') \
-               -o $(dir $@)$${xhp%.xhp}.html \
+               -o $(dir $@)/text/$${xhp%.xhp}.html \
                
$(gb_CustomTarget_workdir)/helpcontent2/help3xsl/online_transform.xsl \
-               helpcontent2/source/$$xhp \
+               helpcontent2/source/text/$$xhp \
            || exit \
        ; done <"$$RESPONSEFILE" \
        && rm "$$RESPONSEFILE" \

Reply via email to