From: ian Date: Thu, 30 Mar 2006 17:01:55 +0000 (+0000) Subject: changed build arrangements, added version number, in preparation for productisation X-Git-Tag: debian/1.1.1~58 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=commitdiff_plain;h=a21a27a006e63f6bd45953bb8783e1fa7e3e589f changed build arrangements, added version number, in preparation for productisation --- diff --git a/base/Makefile b/base/Makefile index ad7479c..848210b 100644 --- a/base/Makefile +++ b/base/Makefile @@ -1,6 +1,5 @@ default: all -SHLIB = chiark-tcl CFILES = enum hook idtable parse scriptinv tcmdiflib BASE_DIR = . @@ -8,6 +7,8 @@ AUTO_HDRS += base+tcmdif.h include common.make +SHLIB = $(BASE_SHLIB) + base+tcmdif.h: $(BASE_TCT) $(TCMDIFGEN) $(TCMDIFGEN) -wh -o$@ $< diff --git a/base/common.make b/base/common.make index 1a42772..12259fa 100644 --- a/base/common.make +++ b/base/common.make @@ -1,8 +1,12 @@ +VERSION ?= 1 +FAMILY ?= chiark_tcl + OPTIMISE ?= -O2 TCL_MEM_DEBUG ?= -DTCL_MEM_DEBUG TCMDIFGEN ?= $(BASE_DIR)/tcmdifgen BASE_TCT ?= $(BASE_DIR)/base.tct +BASE_SHLIB ?= $(FAMILY)-$(VERSION) ifeq ($(shell $(CC) -Wno-pointer-sign -E -x c /dev/null >/dev/null || echo x),) CFLAGS += -Wno-pointer-sign diff --git a/base/extension.make b/base/extension.make index d12723b..d03cb28 100644 --- a/base/extension.make +++ b/base/extension.make @@ -1,18 +1,22 @@ -EXTENSION ?= chiark_tcl_$(EXTBASE) -SHLIB ?= $(EXTENSION) +EXTPREFIX ?= $(FAMILY)_ +EXTENSION ?= $(EXTPREFIX)$(EXTBASE) +SHLIB ?= $(EXTENSION)-$(VERSION) TABLE ?= $(EXTBASE) AUTO_HDRS += $(TABLE)+tcmdif.h AUTO_SRCS += $(TABLE)+tcmdif.c CFILES += $(TABLE)+tcmdif -LDLIBS += $(BASE_DIR)/chiark-tcl.so +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) $(OTHER_TCTS) $< +TCMDIFARGS ?= -p$(FAMILY)_$(EXTBASE) -o$@ $(BASE_TCT) $(OTHER_TCTS) $< %+tcmdif.c: %.tct $(BASE_TCT) $(OTHER_TCTS) $(TCMDIFGEN) $(TCMDIFGEN) -wc $(TCMDIFARGS) diff --git a/base/shlib.make b/base/shlib.make index 50eeae0..e69ea6c 100644 --- a/base/shlib.make +++ b/base/shlib.make @@ -5,4 +5,5 @@ OBJS += $(OBJS_CFILES) TARGETS += $(SHLIB).so $(SHLIB).so: $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -shared $(OBJS) $(LDLIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -shared \ + -Xlinker -soname=$@ $(OBJS) $(LDLIBS) diff --git a/cdb/Makefile b/cdb/Makefile index 96ac4ae..b3fadac 100644 --- a/cdb/Makefile +++ b/cdb/Makefile @@ -2,8 +2,8 @@ BASE_DIR = ../base EXTBASE = cdb CFILES = readonly writeable lookup OTHER_TCTS = ../hbytes/hbytes-base.tct -CPPFLAGS += -I../hbytes -LDLIBS += ../hbytes/chiark_tcl_hbytes.so -lcdb +OTHER_EXTS += hbytes/hbytes +LDLIBS += -lcdb include ../base/extension.make diff --git a/cdb/tests b/cdb/tests index 45c9061..658233e 100755 --- a/cdb/tests +++ b/cdb/tests @@ -13,7 +13,7 @@ proc addpath {p before after default} { addpath LD_LIBRARY_PATH {../base ../hbytes} {} {} -load ./chiark_tcl_cdb.so +load ./chiark_tcl_cdb-1.so # # CURRENTLY TESTING WITH diff --git a/crypto/Makefile b/crypto/Makefile index 12fccd7..9dee1a3 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -2,8 +2,8 @@ BASE_DIR = ../base EXTBASE = crypto CFILES = algtables bcmode crypto hook OTHER_TCTS = ../hbytes/hbytes-base.tct -CPPFLAGS += -I../hbytes -LDLIBS += ../hbytes/chiark_tcl_hbytes.so -lnettle +OTHER_EXTS = hbytes/hbytes +LDLIBS += -lnettle include ../base/extension.make