Updated for new location of YAZ headers.
[ir-tcl-moved-to-github.git] / Makefile.in
1 # IR toolkit for tcl/tk
2 # (c) Index Data 1995-1999
3 # See the file LICENSE for details.
4 # Sebastian Hammer, Adam Dickmeiss
5 # $Id: Makefile.in,v 1.52 1999-11-30 14:05:58 adam Exp $
6 SHELL=/bin/sh
7
8 # IrTcl Version
9 VERSION=1.3
10
11 # Directory prefix with machine independent files (scripts, setup files, etc.)
12 prefix = @prefix@
13
14 # Directory prefix with machine dependent files (executables, libraries)
15 exec_prefix = @exec_prefix@
16
17 # RPM Root
18 BUILD=@build_root@
19
20 # Install directories
21 BINDIR=$(exec_prefix)/bin
22 LIBDIR=$(exec_prefix)/lib
23 MANDIR=$(prefix)/man
24 INCDIR=$(prefix)/include
25 IRTCLDIR=$(prefix)/lib/irtcl
26
27 CC=@CC@
28
29 # Tcl libraries and include files
30 TCLLIB=@TCLLIB@
31 TCLINC=@TCLINC@
32
33 # Tk & X11 libraries and include files
34 TKLIB=@TKLIB@
35 TKINC=@TKINC@
36
37 # Shared libraries definitions
38 SHLIB_CFLAGS = @SHLIB_CFLAGS@
39 SHLIB_LD = @SHLIB_LD@
40 SHLIB_SUFFIX = @SHLIB_SUFFIX@
41 SHLIB_VERSION = @SHLIB_VERSION@
42
43 # Where are Yaz libraries located?
44 YAZLIB=@YAZLIB@
45 # Where are Yaz header files located?
46 YAZINC=@YAZINC@
47 # If Yaz is compiled with mosi support uncomment and specify.
48 #OSILIB=../../xtimosi/src/libmosi.a ../../yaz/lib/librfc.a
49
50 # All include paths
51 INCLUDE=-I. $(YAZINC) $(TKINC) $(TCLINC) 
52
53 # All command line options except CFLAGS
54 DEFS=-DCCL2RPN=0 @DEFS@ -DIRTCLDIR=\"$(IRTCLDIR)\" \
55         $(INCLUDE) -DIR_TCL_VERSION=\"$(VERSION)\"
56
57 INSTALL = @INSTALL@
58 INSTALL_PROGRAM = @INSTALL_PROGRAM@
59 INSTALL_DATA = @INSTALL_DATA@
60
61 RANLIB = @RANLIB@
62
63 O=ir-tcl.o marc.o queue.o mem.o grs.o explain.o select.o
64
65 all: @ALL_SPEC@
66
67 ir-tk: libirtcl.a tkmain.o
68         $(CC) $(CFLAGS) tkmain.o -o ir-tk libirtcl.a $(YAZLIB) $(TKLIB) 
69
70 ir-tcl: libirtcl.a tclmain.o
71         $(CC) $(CFLAGS) tclmain.o -o ir-tcl libirtcl.a $(YAZLIB) $(TCLLIB) 
72
73 libirtcl.a: $(O)
74         rm -f libirtcl.a
75         ar qc libirtcl.a $(O)
76         $(RANLIB) libirtcl.a
77
78 @SHLIB_IRTCL@: $(O)
79         rm -f @SHLIB_IRTCL@
80         ${SHLIB_LD} -o @SHLIB_IRTCL@ $(O) $(YAZLIB)
81
82 WAISDIR=../freeWAIS-sf-2.0
83
84 wais-tcl: libirtcl.a wais-tcl.o waismain.o
85         $(CC) $(CFLAGS) wais-tcl.o waismain.o -o wais-tcl libirtcl.a \
86                 $(YAZLIB)  $(WAISDIR)/ir/libwais.a $(TCLLIB)
87
88 waismain.o: tclmain.c
89         $(CC) -c $(CFLAGS) -DUSE_WAIS=1 $(DEFS) tclmain.c -o waismain.o
90
91 wais-tcl.o: wais-tcl.c
92         $(CC) -c $(CFLAGS) -I$(WAISDIR)/ir $(DEFS) wais-tcl.c
93
94 install.man:
95         $(INSTALL) -d $(BUILD)$(MANDIR)/mann
96         @cd doc; if [ -d $(BUILD)$(MANDIR)/mann ]; then \
97                 for p in *.n; do \
98                         $(INSTALL_DATA) $$p $(BUILD)$(MANDIR)/mann; \
99                 done; \
100         fi
101
102 install: @ALL_SPEC@
103         $(INSTALL) -d $(BUILD)$(IRTCLDIR)/formats
104         $(INSTALL) -d $(BUILD)$(IRTCLDIR)/bitmaps
105         $(INSTALL) -d $(BUILD)$(BINDIR)
106         @if [ -f ir-tcl ]; then \
107                 $(INSTALL_PROGRAM) ir-tcl $(BUILD)$(BINDIR); \
108         fi
109         @if [ -f @SHLIB_IRTCL@ ]; then \
110                 $(INSTALL_PROGRAM) @SHLIB_IRTCL@ $(BUILD)$(IRTCLDIR); \
111         fi
112         $(INSTALL_DATA) libirtcl.a $(BUILD)$(LIBDIR)
113         $(INSTALL_DATA) ir-tcl.h $(BUILD)$(INCDIR)
114         @if [ -f ir-tk ]; then \
115                 $(INSTALL_PROGRAM) ir-tk $(BUILD)$(BINDIR); \
116         fi
117         @echo "#! $(BINDIR)/@IRCLIENT_SHELL@ -f" >head.bak; \
118         cat head.bak client.tcl| sed "s,^set libdir LIBDIR,set libdir $(IRTCLDIR)," >client.bak; \
119         $(INSTALL_PROGRAM) client.bak $(BUILD)$(BINDIR)/irclient; \
120         if [ -f $(BUILD)$(IRTCLDIR)/irtdb.tcl ]; then \
121                 echo "irtdb.tcl already exists"; \
122                 echo "Installing irtdb.tcl.n"; \
123                 cp irtdb.tcl irtdb.tcl.n; \
124                 $(INSTALL_DATA) irtdb.tcl.n $(BUILD)$(IRTCLDIR); \
125                 rm irtdb.tcl.n; \
126         else \
127                 echo "Installing irtdb.tcl"; \
128                 $(INSTALL_DATA) irtdb.tcl $(BUILD)$(IRTCLDIR); \
129         fi
130         @for f in *.tcl; do \
131                 $(INSTALL_DATA) $$f $(BUILD)$(IRTCLDIR); \
132         done
133         @for b in formats/*.tcl; do \
134                 if [ -f $$b ]; then \
135                         $(INSTALL_DATA) $$b $(BUILD)$(IRTCLDIR)/formats; \
136                 fi; \
137         done
138         @for b in bitmaps/*; do \
139                 if [ -f $$b ]; then \
140                         $(INSTALL_DATA) $$b $(BUILD)$(IRTCLDIR)/bitmaps; \
141                 fi; \
142         done
143
144 clean:
145         rm -f *.[oa] ir-tk ir-tcl wais-tcl core 
146         rm -f *mon.out *.bak config.cache @SHLIB_IRTCL@
147
148 autoconf:
149         -rm config.cache
150         autoconf
151         configure
152
153 distribution:
154         echo "Making distribution version $(VERSION). Did you commit?"
155         if [ -d tmp ]; then \
156                 rm -fr tmp; \
157         fi
158         mkdir tmp; cd tmp; cvs export -f -D now ir-tcl
159         rm tmp/ir-tcl/wais-tcl.c
160         cd tmp/ir-tcl/doc; make all
161         cp tmp/ir-tcl/doc/*.html .
162         cp tmp/ir-tcl/CHANGELOG .
163         mv tmp/ir-tcl tmp/ir-tcl-$(VERSION)
164         cd tmp; tar zcvf ../ir-tcl-$(VERSION).tar.gz ir-tcl-$(VERSION)
165         rm -fr tmp
166
167 .c.o:
168         $(CC) -c $(CFLAGS) $(SHLIB_CFLAGS) $(DEFS) $<
169
170 $(O) tkmain.o tclmain.o wais-tcl.o waismain.o: ir-tcl.h ir-tclp.h
171