1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
4 # This file is part of the LibreOffice project.
6 # This Source Code Form is subject to the terms of the Mozilla Public
7 # License, v. 2.0. If a copy of the MPL was not distributed with this
8 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 $(eval
$(call gb_CustomTarget_CustomTarget
,filter/source
/svg
))
13 filter_SVGSRC
:= $(SRCDIR
)/filter/source
/svg
14 filter_SVGWORK
:= $(call gb_CustomTarget_get_workdir
,filter/source
/svg
)
16 filter_SRC_svg_Tokens
:= $(filter_SVGSRC
)/tokens.txt
17 filter_SRC_svg_GenToken
:= $(filter_SVGSRC
)/gentoken.py
18 filter_SRC_svg_PresentationEngine
:= $(filter_SVGSRC
)/presentation_engine.js
19 filter_SRC_svg_Js2Hxx
:= $(filter_SVGSRC
)/js2hxx.py
21 filter_GEN_svg_Tokens_gperf
:= $(filter_SVGWORK
)/tokens.gperf
22 filter_GEN_svg_Tokens_hxx
:= $(filter_SVGWORK
)/tokens.hxx
23 filter_GEN_svg_Tokens_cxx
:= $(filter_SVGWORK
)/tokens.
cxx
24 filter_GEN_svg_Script_hxx
:= $(filter_SVGWORK
)/svgscript.hxx
26 $(filter_GEN_svg_Tokens_gperf
) : \
27 $(call gb_ExternalExecutable_get_dependencies
,python
) \
28 $(filter_SRC_svg_GenToken
) $(filter_SRC_svg_Tokens
) \
29 |
$(filter_SVGWORK
)/.
dir
30 $(call gb_Output_announce
,$(subst $(WORKDIR
)/,,$@
),build
,GPF
,3)
31 $(call gb_Helper_abbreviate_dirs
, \
32 $(call gb_ExternalExecutable_get_command
,python
) \
33 $(filter_SRC_svg_GenToken
) \
34 $(filter_SRC_svg_Tokens
) $(filter_GEN_svg_Tokens_hxx
) \
35 $(filter_GEN_svg_Tokens_gperf
))
37 # dummy rule: both files generated by recipe above
38 $(filter_GEN_svg_Tokens_hxx
) : $(filter_GEN_svg_Tokens_gperf
)
40 $(filter_GEN_svg_Tokens_cxx
) : $(filter_GEN_svg_Tokens_gperf
)
41 $(call gb_Output_announce
,$(subst $(WORKDIR
)/,,$@
),build
,GPF
,1)
42 $(call gb_Helper_abbreviate_dirs
, \
43 $(GPERF
) --compare-strncmp
-C
-m
20 --switch
=2 --readonly-tables
$(filter_GEN_svg_Tokens_gperf
) \
44 | sed
-e
"s/(char\*)0/(char\*)0$(COMMA) 0/g" \
45 > $(filter_GEN_svg_Tokens_cxx
))
47 $(filter_GEN_svg_Script_hxx
) : \
48 $(call gb_ExternalExecutable_get_dependencies
,python
) \
49 $(filter_SRC_svg_PresentationEngine
) $(filter_SRC_svg_Js2Hxx
) \
50 |
$(filter_SVGWORK
)/.
dir
51 $(call gb_Output_announce
,$(subst $(WORKDIR
)/,,$@
),build
,PY
,1)
52 $(call gb_Helper_abbreviate_dirs
, \
53 $(call gb_ExternalExecutable_get_command
,python
) $(filter_SRC_svg_Js2Hxx
) \
54 $(filter_SRC_svg_PresentationEngine
) \
55 $(filter_GEN_svg_Script_hxx
))
57 $(call gb_CustomTarget_get_target
,filter/source
/svg
) : \
58 $(filter_GEN_svg_Tokens_gperf
) \
59 $(filter_GEN_svg_Tokens_hxx
) \
60 $(filter_GEN_svg_Tokens_cxx
) \
61 $(filter_GEN_svg_Script_hxx
) \
63 # vim: set noet sw=4 ts=4: