| ############################################################### |
| # |
| # 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: |