b87da3e940
also split up the gperf commands when generating sw/generated/tokens.cxx wsl has trouble appending using shell redirects, so use separate targets and use cat in the final processing step for tokens.cxx see also https://github.com/microsoft/WSL/issues/4400 Change-Id: Id7a24d060e9be71113ec2827a389d347456f6522 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166338 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
39 lines
1.7 KiB
Makefile
39 lines
1.7 KiB
Makefile
# -*- 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,sw/generated))
|
|
|
|
sw_SRC := $(SRCDIR)/sw/source/core/swg
|
|
sw_PY := $(SRCDIR)/solenv/bin/gentoken.py
|
|
sw_INC := $(call gb_CustomTarget_get_workdir,sw/generated)
|
|
|
|
# static pattern rule
|
|
$(sw_INC)/TextBlockTokens.gperf \
|
|
$(sw_INC)/BlockListTokens.gperf : $(sw_INC)/%.gperf : $(sw_SRC)/%.txt $(sw_PY) \
|
|
| $(call gb_ExternalExecutable_get_dependencies,python)
|
|
mkdir -p $(@D)
|
|
$(call gb_ExternalExecutable_get_command,python) $(sw_PY) $< $@
|
|
|
|
# appending when wrapping with wsl.exe is broken, will always replace from start instead of add
|
|
# https://github.com/microsoft/WSL/issues/4400 so create them as separate intermediates
|
|
$(sw_INC)/TextBlockTokens.processed : $(sw_INC)/TextBlockTokens.gperf
|
|
$(GPERF) --compare-strncmp --readonly-tables --class-name=TextBlockTokens \
|
|
--word-array-name=textBlockList --enum $(sw_INC)/TextBlockTokens.gperf > $@
|
|
|
|
$(sw_INC)/BlockListTokens.processed : $(sw_INC)/BlockListTokens.gperf
|
|
$(GPERF) --compare-strncmp --readonly-tables -T $(sw_INC)/BlockListTokens.gperf \
|
|
--class-name=BlockListTokens --word-array-name=blockListList > $@
|
|
|
|
$(sw_INC)/tokens.cxx : sw_INC:=$(call gb_Helper_wsl_path,$(sw_INC))
|
|
$(sw_INC)/tokens.cxx : $(sw_INC)/TextBlockTokens.processed $(sw_INC)/BlockListTokens.processed
|
|
sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' $^ > $@
|
|
|
|
$(call gb_CustomTarget_get_target,sw/generated) : $(sw_INC)/tokens.cxx
|
|
|
|
# vim: set noet sw=4 ts=4:
|