########### -*- mode: Makefile -*- ################################### ## ## Copyright (C) 2002, Karlsruhe University ## ## File path: kdb/Makeconf ## Description: ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## ## $Id: Makeconf,v 1.10 2005/01/25 20:09:44 skoglund Exp $ ## ###################################################################### $(BUILDDIR)/include/kdb_class_helper.h: $(filter kdb/%,$(SOURCES)) $(SRCDIR)/src/kdb/cmd.h $(SRCDIR)/kdb/Makeconf $(BUILDDIR)/config/.config @if [ ! -d $(dir $@) ]; then $(MKDIRHIER) $(dir $@); fi @echo "/* Machine-generated file - DO NOT EDIT! */" > $@.new @echo "/* will be included from kdb/kdb.h */" >> $@.new @grep -h "^ *DECLARE_CMD *(" $(filter %.cc %.h, $^) | perl -pe 's/^ *DECLARE_CMD *\(([^,]+).*/static cmd_ret_t \1(cmd_group_t*);/' >> $@.new @cmp -s $@ $@.new && rm -f $@.new || mv $@.new $@ # Workaround for broken dependencies with cpp-3.3 kdb_class_helper.h: $(BUILDDIR)/include/kdb_class_helper.h $(BUILDDIR)/include/kdb_autogenerated_protos.h: $(filter kdb/%,$(SOURCES)) $(SRCDIR)/src/kdb/cmd.h $(SRCDIR)/kdb/Makeconf $(BUILDDIR)/config/.config @if [ ! -d $(dir $@) ]; then $(MKDIRHIER) $(dir $@); fi @echo "/* Machine-generated file - DO NOT EDIT! */" > $@.new @echo "/* File will be included from kdb/kdb.h */" >> $@.new @grep -h " kdb_t::.*(" $(filter %.cc, $^) | \ perl -pe 's/kdb_t::(.*)\).*/\1);/' >> $@.new @cmp -s $@ $@.new && rm -f $@.new || mv $@.new $@ # Workaround for broken dependencies with cpp-3.3 kdb_autogenerated_protos.h: $(BUILDDIR)/include/kdb_autogenerated_protos.h -include kdb/arch/$(ARCH)/Makeconf \ kdb/api/$(API)/Makeconf \ kdb/glue/$(API)-$(ARCH)/Makeconf clean:: @rm -f $(BUILDDIR)/include/kdb_class_helper.h