blob: dfd761ab36a877bfcf2c738c7a484df3a4fa1b9d [file] [log] [blame]
###############################################################
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
###############################################################
# generate source and header files from text files ----------------------------
SRCDIR_TOKEN := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))
WORKDIR_TOKEN := .
include $(GBUILDDIR)/Output.mk
include $(GBUILDDIR)/BuildDirs.mk
include $(GBUILDDIR)/Helper.mk
# XML namespace identifiers and names
$(WORKDIR_TOKEN)/namespaces.hxx : $(SRCDIR_TOKEN)/namespaces.hxx.head $(WORKDIR_TOKEN)/namespaceids.inc $(SRCDIR_TOKEN)/namespaces.hxx.tail
$(call gb_Output_announce,$@,build,CAT,1)
$(call gb_Helper_abbreviate_dirs,cat $^ > $@)
$(WORKDIR_TOKEN)/namespaceids.inc : $(SRCDIR_TOKEN)/namespaces.txt $(SRCDIR_TOKEN)/namespaces.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/namespaces.pl 1 < $< > $@ \
)
$(WORKDIR_TOKEN)/namespacenames.inc : $(SRCDIR_TOKEN)/namespaces.txt $(SRCDIR_TOKEN)/namespaces.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/namespaces.pl 2 < $< > $@ \
)
$(WORKDIR_TOKEN)/namespaces.txt : $(SRCDIR_TOKEN)/namespaces.txt $(SRCDIR_TOKEN)/namespaces.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/namespaces.pl 3 < $< > $@ \
)
# XML token identifiers and names
$(WORKDIR_TOKEN)/tokens.hxx : $(SRCDIR_TOKEN)/tokens.hxx.head $(WORKDIR_TOKEN)/tokenids.inc $(SRCDIR_TOKEN)/tokens.hxx.tail
$(call gb_Output_announce,$@,build,CAT,1)
$(call gb_Helper_abbreviate_dirs,cat $^ > $@)
$(WORKDIR_TOKEN)/tokenids.inc : $(SRCDIR_TOKEN)/tokens.txt $(SRCDIR_TOKEN)/tokens.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/tokens.pl 1 < $< > $@ \
)
$(WORKDIR_TOKEN)/tokennames.inc : $(SRCDIR_TOKEN)/tokens.txt $(SRCDIR_TOKEN)/tokens.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/tokens.pl 2 < $< > $@ \
)
$(WORKDIR_TOKEN)/tokenhash.inc : $(WORKDIR_TOKEN)/tokenhash.gperf
$(call gb_Output_announce,$@,build,GPF,3)
$(call gb_Helper_abbreviate_dirs, \
gperf $< | $(gb_AWK) -- '{ if ($$0 !~ /^#line/){ gsub("\\(char\\*\\)0", "0", $$0); print; } }' > $@ \
)
$(WORKDIR_TOKEN)/tokenhash.gperf : $(SRCDIR_TOKEN)/tokens.txt $(SRCDIR_TOKEN)/tokens.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/tokens.pl 3 < $< > $@ \
)
# UNO property identifiers and names
$(WORKDIR_TOKEN)/properties.hxx : $(SRCDIR_TOKEN)/properties.hxx.head $(WORKDIR_TOKEN)/propertyids.inc $(SRCDIR_TOKEN)/properties.hxx.tail
$(call gb_Output_announce,$@,build,CAT,1)
$(call gb_Helper_abbreviate_dirs,cat $^ > $@)
$(WORKDIR_TOKEN)/propertyids.inc : $(SRCDIR_TOKEN)/properties.txt $(SRCDIR_TOKEN)/properties.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/properties.pl 1 < $< > $@ \
)
$(WORKDIR_TOKEN)/propertynames.inc : $(SRCDIR_TOKEN)/properties.txt $(SRCDIR_TOKEN)/properties.pl
$(call gb_Output_announce,$@,build,PRL,1)
$(call gb_Helper_abbreviate_dirs, \
mkdir -p $(dir $@) && $(PERL) $(SRCDIR_TOKEN)/properties.pl 2 < $< > $@ \
)
.DEFAULT_GOAL:=all
.PHONY: all
all : \
namespaces.hxx \
namespaceids.inc \
namespacenames.inc \
namespaces.txt \
tokens.hxx \
tokenids.inc \
tokennames.inc \
tokenhash.inc \
tokenhash.gperf \
properties.hxx \
propertyids.inc \
propertynames.inc \
# vim: set noet sw=4 ts=4: