]> git.evergreen-ils.org Git - Evergreen.git/blob - OpenSRF/src/Makefile
changes to support the REST gateway
[Evergreen.git] / OpenSRF / src / Makefile
1 # TOP level 'src' makefile for OpenSRF
2 #
3 #
4
5 # Change to suit...
6 #export PREFIX                          = /usr
7 #export APXS2                                   = /pines/apps/apache2/bin/apxs
8 #export TMP                                     = /tmp/opensrf_build
9 #export APACHE2_HEADERS = /pines/apps/apache2/include 
10
11
12 export TMPDIR                   = $(TMP)/opensrf
13 export OPENSRF                  = opensrf
14 export BINDIR                   = $(PREFIX)/bin
15 export LIBDIR                   = $(PREFIX)/lib
16 export PERLDIR                  = $(LIBDIR)/perl5
17 export INCLUDEDIR               = $(PREFIX)/include
18 export CC                               = gcc
19 export LD_OPTS                  = -L $(TMPDIR) -L .
20 export CC_OPTS                  = -g -Wall -O2 -fPIC -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) \
21                                                                 -I$(LIBXML2_HEADERS)/libxml  -I$(TMP) -I$(TMPDIR)
22
23
24 all: test prep router srfsh jserver gateway rest_gateway
25
26 test: test
27         echo "TEST TEST TEST"
28
29 install: install-prep transport-install stack-install gateway-install   \
30                 router-install srfsh-install jserver-install perl-install                       \
31                 objson-install utils-install info
32
33 prep:
34         mkdir -p $(TMPDIR)
35
36 # --------------------------------------------------------------------------------
37 # LIBS 
38 # --------------------------------------------------------------------------------
39 c_utils: prep
40         echo APXS2=$(APXS2) PREFIX=$(PREFIX) TMP=$(TMP) APCHE2_HEADERS=$(APACHE2_HEADERS) LIBXML2_HEADERS=$(LIBXML2_HEADERS)
41         @echo -e "\n + c_utils"
42         make -C utils
43
44 transport: c_utils
45         @echo -e "\n + transport"
46         make -C libtransport
47
48 objson: c_utils
49         @echo -e "\n + objson"
50         make -C objson
51
52 stack: objson transport 
53         @echo -e "\n + stack"
54         make -C libstack
55
56
57 # --------------------------------------------------------------------------------
58 # BINARIES
59 # --------------------------------------------------------------------------------
60 router: stack 
61         @echo -e "\n + router"
62         make -C router 
63
64 srfsh: stack
65         @echo -e "\n + srfsh"
66         make -C srfsh
67
68 gateway:        stack 
69         @echo -e "\n + gateway"
70         make -C gateway
71
72 rest_gateway:   stack 
73         @echo -e "\n + rest_gateway"
74         make -e -C gateway rest_gateway
75
76 jserver: c_utils
77         @echo -e "\n + jserver"
78         make -C jserver
79
80
81 # --------------------------------------------------------------------------------
82 # INSTALL
83 # --------------------------------------------------------------------------------
84 install-prep:   
85         @echo "Creating install directories"
86         mkdir -p $(LIBDIR)
87         mkdir -p $(BINDIR)
88         mkdir -p $(PERLDIR)
89         mkdir -p $(INCLUDEDIR)
90         mkdir -p $(INCLUDEDIR)/$(OPENSRF)
91         mkdir -p $(ETCDIR)
92         mkdir -p $(TEMPLATEDIR)
93
94 transport-install:      install-prep utils-install
95         make -C libtransport install
96
97 utils-install:  install-prep
98         make -C utils install
99
100 objson-install: install-prep utils-install
101         make -C objson install
102
103 stack-install:  install-prep transport-install  objson-install
104         make -C libstack install
105
106 gateway-install:        install-prep stack-install      
107         make -C gateway install
108
109 router-install: install-prep stack-install
110         make -C router install
111
112 srfsh-install:  install-prep stack-install 
113         make -C srfsh install
114
115 jserver-install:        install-prep utils-install
116         make -C jserver install
117
118 perl-install:   install-prep
119         cp -r perlmods/* $(PERLDIR)/
120         cp ../examples/bootstrap.conf.example $(ETCDIR)
121         cp ../bin/opensrf_ctl $(BINDIR)
122         cp ../bin/opensrf_all $(BINDIR)
123         cp ../examples/opensrf.xml.example $(ETCDIR)
124
125
126 # --------------------------------------------------------------------------------
127 # INFO
128 # --------------------------------------------------------------------------------
129 info:
130         @echo
131         @echo "OpenSRF is installed in $(PREFIX)"
132         @echo ""
133         @echo "It may be helpful to set some environment variables if the install "
134         @echo "was set to a non-standard location.  These include:"
135         @echo ""
136         @echo "export LD_LIBRARY_PATH=$(LIBDIR):\$$LD_LIBRARY_PATH"
137         @echo "export PERL5LIB=$(PERLDIR):\$$PERL5LIB"
138         @echo "export PATH=$(BINDIR):\$$PATH"
139         @echo ""
140
141
142 # --------------------------------------------------------------------------------
143 # CLEAN 
144 # --------------------------------------------------------------------------------
145 clean:
146         @echo "Cleaning..."
147         make -C libtransport clean
148         make -C libstack clean
149         make -C router clean
150         make -C gateway clean
151         make -C jserver clean
152         make -C utils clean
153         make -C objson clean
154         make -C srfsh clean
155         /bin/rm -rf $(TMPDIR)
156
157