1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 $(eval
$(call gb_CustomTarget_CustomTarget
,sw
/generated
))
12 sw_SRC
:= $(SRCDIR
)/sw
/source
/core
/swg
13 sw_PY
:= $(SRCDIR
)/solenv
/bin
/gentoken.py
14 sw_INC
:= $(gb_CustomTarget_workdir
)/sw
/generated
17 $(sw_INC
)/TextBlockTokens.gperf \
18 $(sw_INC
)/BlockListTokens.gperf
: $(sw_INC
)/%.gperf
: $(sw_SRC
)/%.txt
$(sw_PY
) \
19 |
$(call gb_ExternalExecutable_get_dependencies
,python
)
21 $(call gb_ExternalExecutable_get_command
,python
) $(sw_PY
) $< $@
23 # appending when wrapping with wsl.exe is broken, will always replace from start instead of add
24 # https://github.com/microsoft/WSL/issues/4400 so create them as separate intermediates
25 $(sw_INC
)/TextBlockTokens.processed
: $(sw_INC
)/TextBlockTokens.gperf
26 $(GPERF
) --compare-strncmp
--readonly-tables
--class-name
=TextBlockTokens \
27 --word-array-name
=textBlockList
--enum
$(sw_INC
)/TextBlockTokens.gperf
> $@
29 $(sw_INC
)/BlockListTokens.processed
: $(sw_INC
)/BlockListTokens.gperf
30 $(GPERF
) --compare-strncmp
--readonly-tables
-T
$(sw_INC
)/BlockListTokens.gperf \
31 --class-name
=BlockListTokens
--word-array-name
=blockListList
> $@
33 $(sw_INC
)/tokens.
cxx : sw_INC
:=$(call gb_Helper_wsl_path
,$(sw_INC
))
34 $(sw_INC
)/tokens.
cxx : $(sw_INC
)/TextBlockTokens.processed
$(sw_INC
)/BlockListTokens.processed
35 sed
-e
'/^#line/d' -e
's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' $^
> $@
37 $(call gb_CustomTarget_get_target
,sw
/generated
) : $(sw_INC
)/tokens.
cxx
39 # vim: set noet sw=4 ts=4: