]> git.evergreen-ils.org Git - working/Evergreen.git/blob - OpenSRF/src/Makefile
separate REST gateway now compiles ... installation is untested
[working/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: prep router srfsh jserver gateway
25
26 install: install-prep transport-install stack-install gateway-install   \
27                 router-install srfsh-install jserver-install perl-install                       \
28                 objson-install utils-install info
29
30 prep:
31         mkdir -p $(TMPDIR)
32
33 # --------------------------------------------------------------------------------
34 # LIBS 
35 # --------------------------------------------------------------------------------
36 c_utils: prep
37         make -C utils
38
39 transport: c_utils
40         make -C libtransport
41
42 objson: c_utils
43         make -C objson
44
45 stack: objson transport 
46         make -C libstack
47
48
49 # --------------------------------------------------------------------------------
50 # BINARIES
51 # --------------------------------------------------------------------------------
52 router: stack 
53         make -C router 
54
55 srfsh: stack
56         make -C srfsh
57
58 gateway:        stack 
59         make -C gateway
60
61 jserver: c_utils
62         make -C jserver
63
64
65 # --------------------------------------------------------------------------------
66 # INSTALL
67 # --------------------------------------------------------------------------------
68 install-prep:   
69         @echo "Creating install directories"
70         mkdir -p $(LIBDIR)
71         mkdir -p $(BINDIR)
72         mkdir -p $(PERLDIR)
73         mkdir -p $(INCLUDEDIR)
74         mkdir -p $(INCLUDEDIR)/$(OPENSRF)
75         mkdir -p $(ETCDIR)
76         mkdir -p $(TEMPLATEDIR)
77
78 transport-install:      install-prep utils-install
79         make -C libtransport install
80
81 utils-install:  install-prep
82         make -C utils install
83
84 objson-install: install-prep utils-install
85         make -C objson install
86
87 stack-install:  install-prep transport-install  objson-install
88         make -C libstack install
89
90 gateway-install:        install-prep stack-install      
91         make -C gateway install
92
93 router-install: install-prep stack-install
94         make -C router install
95
96 srfsh-install:  install-prep stack-install 
97         make -C srfsh install
98
99 jserver-install:        install-prep utils-install
100         make -C jserver install
101
102 perl-install:   install-prep
103         cp -r perlmods/* $(PERLDIR)/
104         cp ../examples/bootstrap.conf.example $(ETCDIR)
105         cp ../bin/opensrf_ctl $(BINDIR)
106         cp ../bin/opensrf_all $(BINDIR)
107         cp ../examples/opensrf.xml.example $(ETCDIR)
108         cp ../examples/opensrf_core.xml.example $(ETCDIR)
109         cp ../examples/srfsh.xml.example $(ETCDIR)
110
111
112 # --------------------------------------------------------------------------------
113 # INFO
114 # --------------------------------------------------------------------------------
115 info:
116         @echo
117         @echo "OpenSRF is installed in $(PREFIX)"
118         @echo ""
119         @echo "It may be helpful to set some environment variables if the install "
120         @echo "was set to a non-standard location.  These include:"
121         @echo ""
122         @echo "export LD_LIBRARY_PATH=$(LIBDIR):\$$LD_LIBRARY_PATH"
123         @echo "export PERL5LIB=$(PERLDIR):\$$PERL5LIB"
124         @echo "export PATH=$(BINDIR):\$$PATH"
125         @echo ""
126
127
128 # --------------------------------------------------------------------------------
129 # CLEAN 
130 # --------------------------------------------------------------------------------
131 clean:
132         make -C libtransport clean
133         make -C libstack clean
134         make -C router clean
135         make -C gateway clean
136         make -C jserver clean
137         make -C utils clean
138         make -C objson clean
139         make -C srfsh clean
140         /bin/rm -rf $(TMPDIR)
141
142