]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/Makefile
added a default timeout cache setting
[OpenSRF.git] / 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 PYTHON25DIR      = $(LIBDIR)/python25
10 export JSDIR    = $(LIBDIR)/javascript
11 export INCLUDEDIR= $(PREFIX)/include
12
13 export LDLIBS   += 
14 export LDFLAGS  += -Wl,-rpath=$(LIBDIR) -L $(TMPDIR) -L .
15 export CFLAGS   += -D_LARGEFILE64_SOURCE -pipe -g -Wall -O2 -fPIC -I ../../include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) 
16
17 ifeq ($(OSRF_LEGACY_JSON), 1)
18 export LDLIBS += -lobjson
19 endif
20
21 all:    prep \
22         opensrf \
23         router \
24         srfsh \
25         jserver \
26         gateway
27
28 install:        install-prep \
29                 opensrf-install \
30                 gateway-install \
31                 router-install \
32                 srfsh-install \
33                 jserver-install \
34                 javascript-install \
35                 perl-install \
36                 python25-install
37
38
39 # --------------------------------------------------------------------------------
40 # BINARIES and LIBS
41 # --------------------------------------------------------------------------------
42
43 prep:
44         mkdir -p $(TMPDIR)
45
46 opensrf:        prep
47         make -C libopensrf
48         make -C c-apps
49
50 router: opensrf
51         @echo $@
52         make -C router 
53
54 srfsh: opensrf
55         @echo $@
56         make -C srfsh
57
58 gateway:        opensrf
59         @echo $@
60         make -C gateway
61
62 jserver:        opensrf
63         @echo $@
64         make -C jserver
65
66
67 # --------------------------------------------------------------------------------
68 # INSTALL
69 # --------------------------------------------------------------------------------
70
71 # make sure the install directories exist
72 install-prep:   
73         @echo $@
74         mkdir -p $(LIBDIR)
75         mkdir -p $(BINDIR)
76         mkdir -p $(JSDIR)
77         mkdir -p $(PERLDIR)
78         mkdir -p $(PYTHON25DIR)
79         mkdir -p $(INCLUDEDIR)
80         mkdir -p $(ETCDIR)
81
82 # installs libopensrf.so, opensrf-c, headers, example configs, and osrf_ctl.sh
83 opensrf-install:        install-prep
84         @echo $@
85         cp $(TMPDIR)/libopensrf.so $(LIBDIR)/libopensrf.so
86         cp -r ../include/opensrf $(INCLUDEDIR)
87         cp libopensrf/opensrf $(BINDIR)/opensrf-c
88         make -C c-apps install
89         cp ../bin/osrf_ctl.sh $(BINDIR)
90         cp ../examples/opensrf.xml.example $(ETCDIR)
91         cp ../examples/opensrf_core.xml.example $(ETCDIR)
92         cp ../examples/srfsh.xml.example $(ETCDIR)
93         if [ ! -z "$(OSRF_LEGACY_JSON)" ]; then\
94                 cp -r ../include/objson $(INCLUDEDIR);\
95                 cp $(TMPDIR)/libobjson.so $(LIBDIR);\
96         fi
97
98 gateway-install:        install-prep opensrf-install    
99         @echo $@
100         make -C gateway install
101
102 router-install: install-prep opensrf-install
103         @echo $@
104         make -C router install
105
106 srfsh-install:  install-prep opensrf-install 
107         @echo $@
108         make -C srfsh install
109
110 jserver-install:        install-prep 
111         @echo $@
112         make -C jserver install
113
114 javascript-install:     install-prep
115         @echo $@
116         cp -r javascript/* $(JSDIR)/
117
118 perl-install:   install-prep
119         @echo $@
120         cp -r perlmods/* $(PERLDIR)/
121
122 python25-install:       install-prep
123         @echo $@
124         cp -r python/* $(PYTHON25DIR)/
125
126
127 # --------------------------------------------------------------------------------
128 # CLEAN 
129 # --------------------------------------------------------------------------------
130 clean:
131         make -C libopensrf clean
132         make -C router clean
133         make -C gateway clean
134         make -C jserver clean
135         make -C srfsh clean
136         make -C c-apps clean
137         /bin/rm -rf $(TMPDIR) *.o
138
139