Development towards compiled ASN.1.
[yaz-moved-to-github.git] / Makefile
1 # Copyright (C) 1995-1998, Index Data I/S 
2 # All rights reserved.
3 # Sebastian Hammer, Adam Dickmeiss
4 # $Id: Makefile,v 1.37 1998-03-31 15:13:19 adam Exp $
5
6 # Uncomment the lines below to enable mOSI communcation.
7 #ODEFS=-DUSE_XTIMOSI
8 #RFC1006=rfc1006
9 #LIBMOSI=../../xtimosi/src/libmosi.a ../lib/librfc.a
10 #XMOSI=xmosi.o
11
12 CDEFS=$(ODEFS) 
13
14 #INCLUDE=-I../z39.50 -I. -I../include
15 #MOD=z39.50
16
17 INCLUDE=-I. -I../include
18 MOD=asn
19
20 #CC=
21 SHELL=/bin/sh
22 MAKE=make
23 SUBDIR=$(MOD) util odr $(RFC1006) ccl comstack retrieval client server ztest makelib
24 # Add external libraries to the ELIBS macro
25 ELIBS=
26 CONTROL=RANLIB="ranlib" ELIBS="$(ELIBS)"
27
28 # Installation directories, etc.
29 #  Binaries
30 BINDIR=/usr/local/bin
31 #  Public libraries and header files
32 LIBDIR=/usr/local/lib
33 INCDIR=/usr/local/include
34 #  Misc tables, etc.
35 YAZDIR=/usr/local/lib/yaz
36
37 all:
38         for i in $(SUBDIR); do cd $$i; if $(MAKE) $(CONTROL) \
39         INCLUDE="$(INCLUDE)" CFLAGS="$(CFLAGS)" CDEFS="$(CDEFS)" LIBMOSI="$(LIBMOSI)" XMOSI="$(XMOSI)";\
40         then cd ..; else exit 1; fi; done
41
42 dep depend:
43         for i in $(SUBDIR); do cd $$i; if $(MAKE) INCLUDE="$(INCLUDE)" CDEFS="$(CDEFS)" depend;\
44                  then cd ..; else exit 1; fi; done
45
46 clean:
47         for i in $(SUBDIR); do (cd $$i; $(MAKE) clean); done
48         -rm lib/*.a
49
50 oclean:
51         for i in $(SUBDIR); do (cd $$i; rm -f *.o); done
52         mv lib/libyaz.a .; rm -f lib/*.a; mv libyaz.a lib
53         cd client; strip client
54         cd server; strip ztest
55
56 cleanup:
57         rm -f `find $(SUBDIR) -name "*.[oa]" -print`
58         rm -f `find $(SUBDIR) -name "core" -print`
59         rm -f `find $(SUBDIR) -name "errlist" -print`
60         rm -f `find $(SUBDIR) -name "a.out" -print`
61
62 distclean: clean cleandepend
63
64 cleandepend: 
65         for i in $(SUBDIR); do (cd $$i; \
66                 if sed '/^#Depend/q' <Makefile >Makefile.tmp; then \
67                 mv -f Makefile.tmp Makefile; fi; rm -f .depend); done
68
69 taildepend:
70         for i in $(SUBDIR); do (cd $$i; \
71                 if sed 's/^if/#if/' <Makefile|sed 's/^include/#include/'| \
72                 sed 's/^endif/#endif/' | \
73                 sed 's/^depend: depend2/depend: depend1/g' | \
74                 sed '/^#Depend/q' >Makefile.tmp; then \
75                 mv -f Makefile.tmp Makefile; fi); done
76
77 gnudepend:
78         for i in $(SUBDIR); do (cd $$i; \
79                 if sed '/^#Depend/q' <Makefile| \
80                 sed 's/^#if/if/' |sed 's/^#include/include/'| \
81                 sed 's/^#endif/endif/' | \
82                 sed 's/^depend: depend1/depend: depend2/g' >Makefile.tmp;then \
83                 mv -f Makefile.tmp Makefile; fi); done
84
85 install: all install.misc install.lib install.bin
86
87 install.bin:
88         @if [ ! -d $(BINDIR) ]; then \
89                 echo "Making directory $(BINDIR)"; \
90                 mkdir $(BINDIR); \
91         fi
92         @echo "Installing client -> $(BINDIR)"; \
93         cp client/client $(BINDIR)/client; chmod 755 $(BINDIR)/client
94         @echo "Installing ztest -> $(BINDIR)"; \
95         cp server/ztest $(BINDIR)/ztest; chmod 755 $(BINDIR)/ztest
96
97 install.lib:
98         @if [ ! -d $(LIBDIR) ]; then \
99                 echo "Making directory $(LIBDIR)"; \
100                 mkdir $(LIBDIR); \
101         fi
102         @echo "Installing libyaz.a -> $(LIBDIR)"; \
103         cp lib/libyaz.a $(LIBDIR)/libyaz.a; \
104         chmod 644 $(LIBDIR)/libyaz.a
105         @if [ -f lib/librfc.a ]; then \
106                 echo "Installing librfc.a -> $(LIBDIR)"; \
107                 cp lib/librfc.a $(LIBDIR)/librfc.a; \
108                 chmod 644 $(LIBDIR)/librfc.a; \
109         fi
110         @if [ ! -d $(INCDIR) ]; then \
111                 echo "Making directory $(INCDIR)"; \
112                 mkdir $(INCDIR); \
113         fi
114         @cd include; for f in *.h; do \
115                 echo "Installing $$f -> $(INCDIR)"; \
116                 cp $$f $(INCDIR)/$$f; chmod 644 $(INCDIR)/$$f; \
117         done
118
119 install.misc:
120         @if [ ! -d $(YAZDIR) ]; then \
121                 echo "Making directory $(YAZDIR)"; \
122                 mkdir $(YAZDIR); \
123         fi
124         @cd tab; for f in *; do \
125                 if [ -f $$f ]; then \
126                         echo "Installing $$f -> $(YAZDIR)"; \
127                         cp $$f $(YAZDIR)/$$f; chmod 644 $(YAZDIR)/$$f; \
128                 fi; \
129         done
130
131 wc:
132         wc `find . -name '*.[ch]'`
133