Update.
[ir-tcl-moved-to-github.git] / Makefile.in
index b4651cc..11ea34d 100644 (file)
 # IR toolkit for tcl/tk
-# (c) Index Data 1995
+# (c) Index Data 1995-1999
 # See the file LICENSE for details.
 # Sebastian Hammer, Adam Dickmeiss
-# $Id: Makefile.in,v 1.1 1995-06-21 11:04:44 adam Exp $
+# $Id: Makefile.in,v 1.49 1999-02-11 09:13:23 adam Exp $
 SHELL=/bin/sh
 
+# IrTcl Version
+VERSION=1.3
+
+# Directory prefix with machine independent files (scripts, setup files, etc.)
 prefix = @prefix@
+
+# Directory prefix with machine dependent files (executables, libraries)
 exec_prefix = @exec_prefix@
 
 BINDIR=$(exec_prefix)/bin
 LIBDIR=$(exec_prefix)/lib
 MANDIR=$(prefix)/man
-IRTCLDIR=$(LIBDIR)/irtcl
+INCDIR=$(prefix)/include
+IRTCLDIR=$(prefix)/lib/irtcl
 
 YAZDIR=@YAZDIR@
-MOSIDIR=@MOSIDIR@
-LIBS=@LIBS@ -lm
-XLIB=@XLIB@ -lX11
-XINCLUDE=@XINCLUDE@
 
-# Enable MOSI by setting MOSI=1 and set MOSILIB to 
-#  $(YAZDIR)/lib/librfc.a $(MOSIDIR)/libmosi.a
-MOSILIB=@MOSILIB@
-YAZLIB=$(YAZDIR)/lib/libyaz.a $(MOSILIB) $(YAZDIR)/lib/libutil.a
+CC=@CC@
 
-INCLUDE=-I$(YAZDIR)/include $(XINCLUDE) -I$(MOSIDIR) -I/usr/local/include
-DEFS=-DCCL2RPN=0 @DEFS@ -DMOSI=@MOSI@ -DIRTCLDIR=\"$(IRTCLDIR)\" $(INCLUDE)
+# Tcl libraries and include files
+TCLLIB=@TCLLIB@
+TCLINC=@TCLINC@
 
-TCLLIB=-ltcl 
-TKLIB=-ltk
+# Tk & X11 libraries and include files
+TKLIB=@TKLIB@
+TKINC=@TKINC@
 
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-RANLIB = @RANLIB@
+# Shared libraries definitions
+SHLIB_CFLAGS = @SHLIB_CFLAGS@
+SHLIB_LD = @SHLIB_LD@
+SHLIB_SUFFIX = @SHLIB_SUFFIX@
+SHLIB_VERSION = @SHLIB_VERSION@
 
-O=ir-tcl.o marc.o
-P1=ir-tk
-P2=ir-tcl
+# MOSI settings, directory with libmosi.a and source
+MOSI=@MOSI@
+MOSIDIR=@MOSIDIR@
+MOSILIB=@MOSILIB@
+MOSIINC=@MOSIINC@
 
-all: $(P1) $(P2)
+# All YAZ libraries - including MOSI libraries.
+YAZLIB=$(YAZDIR)/lib/libyaz.a $(MOSILIB)
 
-$(P1): $(O) tkmain.o
-       $(CC) $(CFLAGS) $(DEFS) $(O) tkmain.o -o $(P1) $(YAZLIB) $(TKLIB) $(TCLLIB) $(XLIB) $(LIBS)
+# All include paths
+INCLUDE=-I. -I$(YAZDIR)/z39.50 -I$(YAZDIR)/include $(TKINC) $(TCLINC) $(MOSIINC)
 
-$(P2): $(O) tclmain.o
-       $(CC) $(CFLAGS) $(DEFS) $(O) tclmain.o -o $(P2) $(YAZLIB) $(TCLLIB) $(LIBS)
+# All command line options except CFLAGS
+DEFS=-DCCL2RPN=0 @DEFS@ -DMOSI=$(MOSI) -DIRTCLDIR=\"$(IRTCLDIR)\" \
+       $(INCLUDE) -DIR_TCL_VERSION=\"$(VERSION)\"
 
-install-tcl:
-       -mkdir $(IRTCLDIR)
-       $(INSTALL_PROGRAM) ir-tcl $(BINDIR)
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+
+RANLIB = @RANLIB@
 
-install-tk:
-       -mkdir $(IRTCLDIR)
-       -mkdir $(IRTCLDIR)/formats
-       -mkdir $(IRTCLDIR)/bitmaps
-       sed "s,^set libdir LIBDIR,set libdir $(IRTCLDIR)," <client.tcl >client.bak
-       $(INSTALL_PROGRAM) ir-tk $(BINDIR)
-       $(INSTALL_DATA) client.bak $(IRTCLDIR)/client.tcl
-       $(INSTALL_DATA) LICENSE clientrc.tcl $(IRTCLDIR)
-       $(INSTALL_DATA) formats/*.tcl $(IRTCLDIR)/formats
-       $(INSTALL_DATA) bitmaps/book? $(IRTCLDIR)/bitmaps
+O=ir-tcl.o marc.o queue.o mem.o grs.o explain.o select.o
+
+all: @ALL_SPEC@
+
+ir-tk: libirtcl.a tkmain.o
+       $(CC) $(CFLAGS) tkmain.o -o ir-tk libirtcl.a $(YAZLIB) $(TKLIB) 
+
+ir-tcl: libirtcl.a tclmain.o
+       $(CC) $(CFLAGS) tclmain.o -o ir-tcl libirtcl.a $(YAZLIB) $(TCLLIB) 
+
+libirtcl.a: $(O)
+       rm -f libirtcl.a
+       ar qc libirtcl.a $(O)
+       $(RANLIB) libirtcl.a
+
+@SHLIB_IRTCL@: $(O)
+       rm -f @SHLIB_IRTCL@
+       ${SHLIB_LD} -o @SHLIB_IRTCL@ $(O) $(YAZLIB)
+
+WAISDIR=../freeWAIS-sf-2.0
+
+wais-tcl: libirtcl.a wais-tcl.o waismain.o
+       $(CC) $(CFLAGS) wais-tcl.o waismain.o -o wais-tcl libirtcl.a \
+               $(YAZLIB)  $(WAISDIR)/ir/libwais.a $(TCLLIB)
+
+waismain.o: tclmain.c
+       $(CC) -c $(CFLAGS) -DUSE_WAIS=1 $(DEFS) tclmain.c -o waismain.o
+
+wais-tcl.o: wais-tcl.c
+       $(CC) -c $(CFLAGS) -I$(WAISDIR)/ir $(DEFS) wais-tcl.c
+
+install.man:
+       @echo "Installation of man-pages"
+       @if [ ! -d $(MANDIR) ]; then \
+               echo Making $(MANDIR); \
+               mkdir $(MANDIR); \
+       fi
+       @if [ ! -d $(MANDIR)/mann ]; then \
+               echo Making $(MANDIR)/mann; \
+               mkdir $(MANDIR)/mann; \
+       fi
+       @cd doc; if [ -d $(MANDIR)/mann ]; then \
+               for p in *.n; do \
+                       echo "Installing $$p"; \
+                       $(INSTALL_DATA) $$p $(MANDIR)/mann; \
+               done; \
+       fi
+
+install: @ALL_SPEC@
+       @for d in $(IRTCLDIR) $(IRTCLDIR)/formats $(IRTCLDIR)/bitmaps; do \
+               if [ ! -d $$d ]; then \
+                       echo Making $$d; \
+                       mkdir $$d; \
+                       chmod 755 $$d; \
+               fi; \
+       done;
+       @if [ -f ir-tcl ]; then \
+               echo "Installing ir-tcl"; \
+               $(INSTALL_PROGRAM) ir-tcl $(BINDIR); \
+       fi
+       @if [ -f @SHLIB_IRTCL@ ]; then \
+               echo "Installing @SHLIB_IRTCL@"; \
+               $(INSTALL_PROGRAM) @SHLIB_IRTCL@ $(IRTCLDIR); \
+       fi
+       @echo "Installing libirtcl.a"
+       @$(INSTALL_DATA) libirtcl.a $(LIBDIR)
+       @echo "Installing ir-tcl.h"
+       @$(INSTALL_DATA) ir-tcl.h $(INCDIR)
+       @if [ -f ir-tk ]; then \
+               echo "Installing ir-tk"; \
+               $(INSTALL_PROGRAM) ir-tk $(BINDIR); \
+       fi; \
+       echo "Installing irclient"; \
+       echo "#! $(BINDIR)/@IRCLIENT_SHELL@ -f" >head.bak; \
+       cat head.bak client.tcl| sed "s,^set libdir LIBDIR,set libdir $(IRTCLDIR)," >client.bak; \
+       $(INSTALL_PROGRAM) client.bak $(BINDIR)/irclient; \
+       if [ -f $(IRTCLDIR)/irtdb.tcl ]; then \
+               echo "irtdb.tcl already exists"; \
+               echo "Installing irtdb.tcl.n"; \
+               cp irtdb.tcl irtdb.tcl.n; \
+               $(INSTALL_DATA) irtdb.tcl.n $(IRTCLDIR); \
+               rm irtdb.tcl.n; \
+       else \
+               echo "Installing irtdb.tcl"; \
+               $(INSTALL_DATA) irtdb.tcl $(IRTCLDIR); \
+       fi; \
+       for f in *.tcl; do \
+               echo "Installing $$f"; \
+               $(INSTALL_DATA) $$f $(IRTCLDIR); \
+       done; \
+       echo "Installing LICENSE" ; \
+       $(INSTALL_DATA) LICENSE $(IRTCLDIR); \
+       echo "Installing display format scripts"; \
+       for b in formats/*.tcl; do \
+               if [ -f $$b ]; then \
+                       $(INSTALL_DATA) $$b $(IRTCLDIR)/formats; \
+               fi; \
+       done; \
+       echo "Installing bitmaps"; \
+       for b in bitmaps/*; do \
+               if [ -f $$b ]; then \
+                       $(INSTALL_DATA) $$b $(IRTCLDIR)/bitmaps; \
+               fi; \
+       done
 
 clean:
-       rm -f *.[oa] $(P1) $(P2) core gmon.out mon.out *.bak
+       rm -f *.[oa] ir-tk ir-tcl wais-tcl core 
+       rm -f *mon.out *.bak config.cache @SHLIB_IRTCL@
+
+autoconf:
+       -rm config.cache
+       autoconf
+       configure
+
+distribution:
+       echo "Making distribution version $(VERSION). Did you commit?"
+       autoconf
+       if [ -d tmp ]; then \
+               rm -fr tmp; \
+       fi
+       mkdir tmp; cd tmp; cvs export -f -D now ir-tcl
+       rm tmp/ir-tcl/wais-tcl.c
+       cp configure tmp/ir-tcl
+       cd tmp; mv ir-tcl ir-tcl-$(VERSION)
+       cd tmp; tar zcf ../ir-tcl-$(VERSION).tar.gz ir-tcl-$(VERSION)
+       cd tmp; mv ir-tcl-$(VERSION) ir-tcl
+       cd tmp/ir-tcl/doc; make all
+       mv tmp/ir-tcl/doc/ir-tcl.txt .; gzip -f ir-tcl.txt
+       mv tmp/ir-tcl/doc/ir-tcl.ps .; gzip -f ir-tcl.ps
+       cd tmp/ir-tcl; mkdir irtcl; cp doc/*.html CHANGELOG irtcl
+       cd tmp/ir-tcl; tar zcf ../../irtclhtml.tar.gz irtcl
+       rm -fr tmp
 
 .c.o:
-       $(CC) -c $(CFLAGS) $(DEFS) $<
+       $(CC) -c $(CFLAGS) $(SHLIB_CFLAGS) $(DEFS) $<
 
-$(O) tkmain.o tclmain.o: ir-tcl.h ir-tclp.h
+$(O) tkmain.o tclmain.o wais-tcl.o waismain.o: ir-tcl.h ir-tclp.h