1 # TOP level 'src' makefile for OpenSRF
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
12 export LDFLAGS += -L $(TMPDIR) -L .
13 export CFLAGS += -g -Wall -O2 -fPIC -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) \
14 -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(TMPDIR)
16 LIBOPENSRF = libopensrf.so
18 OPENSRF_TARGETS = libtransport/transport_session.o \
19 libtransport/transport_client.o \
20 libtransport/transport_message.o \
21 libstack/osrf_app_session.o \
22 libstack/osrf_stack.o \
23 libstack/osrfConfig.o \
24 libstack/osrf_settings.o \
25 libstack/osrf_message.o \
26 libstack/osrf_prefork.o \
27 libstack/osrf_system.o \
28 libstack/xml_utils.o \
29 utils/socket_bundle.o \
30 utils/string_array.o \
36 OPENSRF_HEADERS = libtransport/transport_session.h \
37 libtransport/transport_client.h \
38 libtransport/transport_message.h \
39 libstack/osrf_app_session.h \
40 libstack/osrf_stack.h \
41 libstack/osrfConfig.h \
42 libstack/osrf_settings.h \
43 libstack/osrf_message.h \
44 libstack/osrf_prefork.h \
45 libstack/osrf_system.h \
46 libstack/xml_utils.h \
47 utils/socket_bundle.h \
48 utils/string_array.h \
55 all: prep libopensrf.so router srfsh jserver gateway
57 install: install-prep opensrf-install gateway-install router-install \
58 srfsh-install jserver-install perl-install objson-install
63 libopensrf.so: objson/libobjson.so
71 $(CC) -shared -W1 $(LDFLAGS) -lobjson $(OPENSRF_TARGETS) -o $(TMPDIR)/$(LIBOPENSRF)
76 cp $(TMPDIR)/$(LIBOPENSRF) $(LIBDIR)/$(LIBOPENSRF)
77 cp $(OPENSRF_HEADERS) $(INCLUDEDIR)/opensrf/
84 # --------------------------------------------------------------------------------
86 # --------------------------------------------------------------------------------
95 gateway: libopensrf.so
99 jserver: libopensrf.so
104 # --------------------------------------------------------------------------------
106 # --------------------------------------------------------------------------------
112 mkdir -p $(INCLUDEDIR)
113 mkdir -p $(INCLUDEDIR)/$(OPENSRF)
115 mkdir -p $(TEMPLATEDIR)
117 objson-install: install-prep
119 make -C objson install
121 libopensrf-install: install-prep
123 cp $(TMPDIR)/$(LIBOPENSRF) $(LIBDIR)
125 gateway-install: install-prep opensrf-install
127 make -C gateway install
129 router-install: install-prep opensrf-install
131 make -C router install
133 srfsh-install: install-prep opensrf-install
135 make -C srfsh install
137 jserver-install: install-prep
139 make -C jserver install
141 perl-install: install-prep
143 cp -r perlmods/* $(PERLDIR)/
144 cp ../examples/bootstrap.conf.example $(ETCDIR)
145 cp ../bin/opensrf_ctl $(BINDIR)
146 cp ../bin/opensrf_all $(BINDIR)
147 cp ../examples/opensrf.xml.example $(ETCDIR)
148 cp ../examples/opensrf_core.xml.example $(ETCDIR)
149 cp ../examples/srfsh.xml.example $(ETCDIR)
152 # --------------------------------------------------------------------------------
154 # --------------------------------------------------------------------------------
157 make -C libtransport clean
158 make -C libstack clean
160 make -C gateway clean
161 make -C jserver clean
165 echo "Removing directory [$(TMPDIR)]"
166 /bin/rm -rf $(TMPDIR)