chiark / gitweb /
Finalise 1.1.2
[chiark-tcl.git] / base / extension.make
index 775a409912f0f9ad84b53d5a1a570ebf3a0c5ff9..23e72ee8a2f9688ba840bff598cee22c498f5de9 100644 (file)
@@ -1,21 +1,44 @@
-
-SHLIB ?=       $(EXTENSION)
-
-AUTO_HDRS +=   tables.h
-AUTO_SRCS +=   tables.c
-CFILES +=      tables
-
-LDLIBS +=      $(BASE_DIR)/chiark-tcl.so
+# base code for various Tcl extensions
+# Copyright 2006-2012 Ian Jackson
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, see <http://www.gnu.org/licenses/>.
+
+
+
+EXTPREFIX ?=   $(FAMILY)_
+EXTENSION ?=   $(EXTPREFIX)$(EXTBASE)
+SHLIB ?=       $(EXTENSION)-$(VERSION)
+TABLE ?=       $(EXTBASE)
+
+AUTO_HDRS +=   $(TABLE)+tcmdif.h
+AUTO_SRCS +=   $(TABLE)+tcmdif.c
+CFILES +=      $(TABLE)+tcmdif
+
+CPPFLAGS += $(foreach o, $(OTHER_EXTS), -I../$(dir $o))
+LDLIBS += $(foreach o, $(OTHER_EXTS), ../$(dir $o)$(EXTPREFIX)$(notdir $o)-$(VERSION).so)
+
+LDLIBS +=      $(BASE_DIR)/$(BASE_SHLIB).so
 
 include                $(BASE_DIR)/common.make
 include                $(BASE_DIR)/shlib.make
 
-TCMDIFARGS ?=  -p$(EXTENSION) -o$@ $(BASE_TCT) $<
+TCMDIFARGS ?=  -p$(FAMILY)_$(EXTBASE) -o$@ $(BASE_TCT) $(OTHER_TCTS) $<
 
-%.c:           %.tct $(BASE_TCT) $(TCMDIFGEN)
+%+tcmdif.c:    %.tct $(BASE_TCT) $(OTHER_TCTS) $(TCMDIFGEN)
                $(TCMDIFGEN) -wc $(TCMDIFARGS)
 
-%.h:           %.tct $(BASE_TCT) $(TCMDIFGEN)
+%+tcmdif.h:    %.tct $(BASE_TCT) $(OTHER_TCTS) $(TCMDIFGEN)
                $(TCMDIFGEN) -wh $(TCMDIFARGS)
 
 include                $(BASE_DIR)/final.make