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