From e1759e1ce14058a2c132a3ed574882917d550a6d Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Thu, 24 May 2012 14:25:05 +0200 Subject: oox: move generated stuff to custom target --- oox/CustomTarget_generated.mk | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 oox/CustomTarget_generated.mk (limited to 'oox/CustomTarget_generated.mk') diff --git a/oox/CustomTarget_generated.mk b/oox/CustomTarget_generated.mk new file mode 100644 index 000000000000..55d4ca1474a6 --- /dev/null +++ b/oox/CustomTarget_generated.mk @@ -0,0 +1,59 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# Copyright 2012 LibreOffice contributors. +# +# 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,oox/generated)) + +$(call gb_GenCxxObject_get_source,oox/source/export/vmlexport-shape-types) : \ + $(SRCDIR)/oox/source/export/preset-definitions-to-shape-types.pl \ + $(SRCDIR)/oox/source/export/presetShapeDefinitions.xml \ + $(SRCDIR)/oox/source/export/presetTextWarpDefinitions.xml + mkdir -p $(dir $@) + perl $^ > $@.in_progress 2> $@.log && mv $@.in_progress $@ + +oox_SRC := $(SRCDIR)/oox/source/token +oox_MISC := $(call gb_CustomTarget_get_workdir,oox/generated)/misc +oox_INC := $(call gb_CustomTarget_get_workdir,oox/generated)/inc +oox_GENHEADERPATH := $(oox_INC)/oox/token + +$(oox_INC)/tokenhash.inc : $(oox_MISC)/tokenhash.gperf + $(GPERF) --compare-strncmp $< | sed -e 's/(char\*)0/(char\*)0, 0/g' | grep -v '^#line' > $@ + +oox_GenTarget_get_target = $(oox_MISC)/$(1) + +define oox_GenTarget +$(oox_GENHEADERPATH)/$(1).hxx $(oox_MISC)/$(2)ids.inc $(oox_INC)/$(2)names.inc \ + $(if $(3),$(oox_MISC)/$(3)) : $(call oox_GenTarget_get_target,$(1)) + @touch $$@ + +$(call oox_GenTarget_get_target,$(1)) : $(oox_SRC)/$(1).pl $(oox_SRC)/$(1).txt \ + $(oox_SRC)/$(1).hxx.head $(oox_SRC)/$(1).hxx.tail + mkdir -p $(oox_MISC) $(oox_INC) $(oox_GENHEADERPATH) + perl $(oox_SRC)/$(1).pl $(oox_SRC)/$(1).txt $(oox_MISC)/$(2)ids.inc \ + $(oox_INC)/$(2)names.inc $(if $(3),$(oox_MISC)/$(3)) \ + && cat $(oox_SRC)/$(1).hxx.head $(oox_MISC)/$(2)ids.inc \ + $(oox_SRC)/$(1).hxx.tail > $(oox_GENHEADERPATH)/$(1).hxx \ + && touch $$@ +endef + +$(eval $(call oox_GenTarget,namespaces,namespace,namespaces.txt)) +$(eval $(call oox_GenTarget,properties,property,)) +$(eval $(call oox_GenTarget,tokens,token,tokenhash.gperf)) + +$(call gb_CustomTarget_get_target,oox/generated) : \ + $(call gb_GenCxxObject_get_source,oox/source/export/vmlexport-shape-types) \ + $(oox_INC)/tokenhash.inc \ + $(oox_INC)/tokennames.inc \ + $(oox_INC)/namespacenames.inc \ + $(oox_INC)/propertynames.inc \ + $(oox_GENHEADERPATH)/tokens.hxx \ + $(oox_GENHEADERPATH)/namespaces.hxx \ + $(oox_GENHEADERPATH)/properties.hxx \ + $(oox_MISC)/namespaces.txt \ + +# vim: set noet sw=4 ts=4: -- cgit