]> git.evergreen-ils.org Git - Evergreen.git/blob - OpenSRF/src/Makefile
fixed bug in child pipe reading code which limited the total readable bytes
[Evergreen.git] / OpenSRF / src / Makefile
1 # TOP level 'src' makefile for OpenSRF
2
3
4 export TMPDIR                   = $(TMP)/opensrf
5 export OPENSRF                  = opensrf
6 export BINDIR                   = $(PREFIX)/bin
7 export LIBDIR                   = $(PREFIX)/lib
8 export PERLDIR                  = $(LIBDIR)/perl5
9 export INCLUDEDIR               = $(PREFIX)/include
10
11 export LDLIBS                   += 
12 export LDFLAGS                  += -L $(TMPDIR) -L . -L /opt/lib
13 export CFLAGS                   += -pipe -g -Wall -O2 -fPIC -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) \
14                                                                 -I$(LIBXML2_HEADERS)/libxml  -I$(TMP) \
15                                                                 -I$(APR_HEADERS) -I$(TMPDIR)
16
17 LIBOPENSRF                              = libopensrf.so
18
19 OPENSRF_TARGETS =       libtransport/transport_session.o \
20                         libtransport/transport_client.o \
21                         libtransport/transport_message.o \
22                         libstack/osrf_app_session.o \
23                         libstack/osrf_stack.o \
24                         libstack/osrfConfig.o \
25                         libstack/osrf_settings.o \
26                         libstack/osrf_message.o \
27                         libstack/osrf_prefork.o \
28                         libstack/osrf_system.o \
29                         libstack/osrf_application.o \
30                         libstack/osrf_cache.o \
31                         libstack/xml_utils.o \
32                         libstack/osrf_transgroup.o \
33                         libstack/osrf_list.o \
34                         libstack/osrf_big_list.o \
35                         libstack/osrf_hash.o \
36                         libstack/osrf_big_hash.o \
37                         utils/socket_bundle.o \
38                         utils/string_array.o \
39                         utils/utils.o \
40                         utils/log.o \
41                         utils/md5.o \
42                         utils/sha.o \
43
44 OPENSRF_HEADERS =       libtransport/transport_session.h \
45                         libtransport/transport_client.h \
46                         libtransport/transport_message.h \
47                         libstack/osrf_app_session.h \
48                         libstack/osrf_stack.h \
49                         libstack/osrfConfig.h \
50                         libstack/osrf_settings.h \
51                         libstack/osrf_message.h \
52                         libstack/osrf_prefork.h \
53                         libstack/osrf_system.h \
54                         libstack/osrf_application.h \
55                         libstack/osrf_cache.h \
56                         libstack/xml_utils.h \
57                         libstack/osrf_transgroup.h \
58                         libstack/osrf_list.h \
59                         libstack/osrf_big_list.h \
60                         libstack/osrf_hash.h \
61                         libstack/osrf_big_hash.h \
62                         utils/socket_bundle.h \
63                         utils/string_array.h \
64                         utils/utils.h \
65                         utils/log.h \
66                         utils/md5.h \
67                         utils/sha.h \
68
69
70 all:    prep \
71         libopensrf.so \
72         libstack/opensrf \
73         router \
74         srfsh \
75         jserver \
76         gateway
77
78 install:        install-prep \
79                 opensrf-install \
80                 gateway-install \
81                 router-install \
82                 srfsh-install \
83                 jserver-install \
84                 perl-install \
85                 objson-install
86
87 prep:
88         mkdir -p $(TMPDIR)
89
90 libopensrf.so:  objson/libobjson.so
91         @echo utils
92         make -C utils
93         @echo transport
94         make -C libtransport
95         @echo stack
96         make -C libstack
97         @echo $@
98         $(CC) -shared -W1 $(LDFLAGS) -lJudy -lxml2 -lmemcache -lobjson $(OPENSRF_TARGETS) -o $(TMPDIR)/$(LIBOPENSRF)
99         @echo apps
100         make -C  c-apps
101
102
103 opensrf-install:        objson-install
104         @echo $@
105         cp $(TMPDIR)/$(LIBOPENSRF) $(LIBDIR)/$(LIBOPENSRF)
106         cp $(OPENSRF_HEADERS) $(INCLUDEDIR)/opensrf/
107         cp libstack/opensrf $(BINDIR)/opensrf-c
108         make -C c-apps install
109
110
111 objson/libobjson.so:    prep
112         @echo $@
113         make -C objson
114
115 # --------------------------------------------------------------------------------
116 # BINARIES
117 # --------------------------------------------------------------------------------
118 libstack/opensrf.o:     libstack/opensrf.c libopensrf.so
119 libstack/opensrf:       libstack/opensrf.o
120         @echo $@
121         $(CC) $(CFLAGS) $(LDFLAGS) -lJudy -lxml2 -lopensrf -lobjson libstack/opensrf.o -o $@
122         
123
124 router: libopensrf.so
125         @echo $@
126         make -C router 
127
128 srfsh: libopensrf.so
129         @echo $@
130         make -C srfsh
131
132 gateway:        libopensrf.so
133         @echo $@
134         make -C gateway
135
136 jserver:        libopensrf.so
137         @echo $@
138         make -C jserver
139
140
141 # --------------------------------------------------------------------------------
142 # INSTALL
143 # --------------------------------------------------------------------------------
144 install-prep:   
145         @echo $@
146         mkdir -p $(LIBDIR)
147         mkdir -p $(BINDIR)
148         mkdir -p $(PERLDIR)
149         mkdir -p $(INCLUDEDIR)
150         mkdir -p $(INCLUDEDIR)/$(OPENSRF)
151         mkdir -p $(ETCDIR)
152         mkdir -p $(TEMPLATEDIR)
153
154 objson-install: install-prep 
155         @echo $@
156         make -C objson install
157
158 libopensrf-install:     install-prep
159         @echo $@
160         cp $(TMPDIR)/$(LIBOPENSRF) $(LIBDIR)
161
162 gateway-install:        install-prep opensrf-install    
163         @echo $@
164         make -C gateway install
165
166 router-install: install-prep opensrf-install
167         @echo $@
168         make -C router install
169
170 srfsh-install:  install-prep opensrf-install 
171         @echo $@
172         make -C srfsh install
173
174 jserver-install:        install-prep 
175         @echo $@
176         make -C jserver install
177
178 perl-install:   install-prep
179         @echo $@
180         cp -r perlmods/* $(PERLDIR)/
181         cp ../examples/bootstrap.conf.example $(ETCDIR)
182         cp ../bin/opensrf_ctl $(BINDIR)
183         cp ../bin/opensrf_all $(BINDIR)
184         cp ../bin/osrf_ctl.sh $(BINDIR)
185         cp ../examples/opensrf.xml.example $(ETCDIR)
186         cp ../examples/opensrf_core.xml.example $(ETCDIR)
187         cp ../examples/srfsh.xml.example $(ETCDIR)
188
189
190 # --------------------------------------------------------------------------------
191 # CLEAN 
192 # --------------------------------------------------------------------------------
193 clean:
194         @echo $@
195         make -C libtransport clean
196         make -C libstack clean
197         make -C router clean
198         make -C gateway clean
199         make -C jserver clean
200         make -C utils clean
201         make -C objson clean
202         make -C srfsh clean
203         make -C c-apps clean
204         echo "Removing directory [$(TMPDIR)]"
205         /bin/rm -rf $(TMPDIR) *.o
206
207