1 # Copyright (C) 2008 Equinox Software, Inc.
2 # Kevin Beswick <kevinbeswick00@gmail.com>
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 ## Process this file with automake to generate Makefile.in
17 export INCDIR = "$(INCLUDEDIR)/openils/"
18 export STAFF_CLIENT_BUILD_ID = `/bin/cat @top_srcdir@/Open-ILS/xul/staff_client/build/BUILD_ID`
19 export DEF_LDFLAGS = -L. -L$(TMP) -L$(OPENSRF_LIBS)
20 export DEF_CFLAGS = -D_LARGEFILE64_SOURCE -pipe -g -Wall -O2 -fPIC -I@top_srcdir@/include -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(OPENSRF_HEADERS)
21 export DEF_LDLIBS = -lopensrf
24 # Establish some installation directories and such
26 exec_prefix=@exec_prefix@
27 datadir=@localstatedir@/data
28 circrulesdir=@localstatedir@/circ
29 catalogscriptdir=@localstatedir@/catalog
30 penaltyrulesdir=@localstatedir@/penalty
31 examples = @top_srcdir@/Open-ILS/examples
32 jsbackend = @srcdir@/javascript/backend
33 supportscr = @srcdir@/support-scripts
35 # Collect files to be used by multiple targets
37 autojsbinscripts = @srcdir@/extras/fieldmapper.pl \
38 @srcdir@/extras/locale_html_options.pl \
39 @srcdir@/extras/org_tree_js.pl \
40 @srcdir@/extras/org_lasso_js.pl \
41 @srcdir@/extras/org_tree_html_options.pl \
42 @srcdir@/extras/org_tree_proximity.pl \
43 @srcdir@/extras/autogen.sh \
44 @srcdir@/support-scripts/offline-blocked-list.pl
46 # Decide which entities to build
48 sysconf_DATA = $(examples)/opensrf.xml.example \
49 $(examples)/opensrf_core.xml.example \
50 $(examples)/fm_IDL.xml \
51 $(examples)/oils_sip.xml.example \
52 $(examples)/oils_web.xml.example \
53 $(examples)/lib_ips.txt.example
55 #----------------------------
57 #----------------------------
61 #Add directories to build
62 OILSCORE_DIRS = c-apps extras
63 #Add manual (non-automake) install targets for simplicity of installing.
64 OILSCORE_INST = ilscore-install
66 core_data = @srcdir@/extras/ils_events.xml \
67 $(examples)/hold_notification_template.example
69 core_scripts = $(examples)/oils_ctl.sh \
70 $(supportscr)/fine_generator.pl \
71 $(supportscr)/hold_targeter.pl \
72 $(supportscr)/reshelving_complete.srfsh \
73 $(supportscr)/juv_to_adult.srfsh \
74 $(supportscr)/thaw_expired_frozen_holds.srfsh \
75 $(supportscr)/long-overdue-status-update.pl \
76 $(supportscr)/action_trigger_runner.pl \
77 $(srcdir)/extras/openurl_map.pl \
78 $(srcdir)/extras/fast-extract \
79 $(srcdir)/extras/import/marc_add_ids
81 installautojs = $(autojsbinscripts)
84 circrules_SCRIPTS = $(jsbackend)/circ/circ_duration.js \
85 $(jsbackend)/circ/circ_groups.js \
86 $(jsbackend)/circ/circ_item_config.js \
87 $(jsbackend)/circ/circ_lib.js \
88 $(jsbackend)/circ/circ_permit_copy.js \
89 $(jsbackend)/circ/circ_permit_hold.js \
90 $(jsbackend)/circ/circ_permit_patron.js \
91 $(jsbackend)/circ/circ_permit_renew.js
92 penaltyrules_SCRIPTS = $(jsbackend)/penalty/patron_penalty.js
93 catalogscript_SCRIPTS = $(jsbackend)/catalog/biblio_descriptor.js \
94 $(jsbackend)/catalog/biblio_fingerprint.js \
95 $(jsbackend)/catalog/fixed_fields.js \
96 $(jsbackend)/catalog/phys_char.js \
97 $(jsbackend)/catalog/record_type.js
101 #--------------------
102 # Build Apache modules
103 #--------------------
106 OILSWEB_DIR = apachemods
109 #---------------------
111 #---------------------
114 OILSREP_INST = reporter-install
116 reporter_scripts = @srcdir@/reporter/clark-kent.pl \
117 @srcdir@/reporter/find_orphaned_reports.pl
118 reporter_data = @srcdir@/reporter/report-fail \
119 @srcdir@/reporter/report-success
122 #------------------------------
123 # Build EVERGREEN PYTHON
124 #------------------------------
127 OILSPYTHON_DIR = python
130 #------------------------------
131 # Build EVERGREEN JAVA
132 #------------------------------
138 bin_SCRIPTS = $(core_scripts) $(reporter_scripts) $(installautojs) @srcdir@/extras/eg_config
139 data_DATA = $(core_data) $(reporter_data)
141 # Take care of which subdirectories to build, and which extra files to include in a distribution.
143 SUBDIRS = $(OILSCORE_DIRS) $(OILSWEB_DIR) $(OILSPYTHON_DIR) $(OILSJAVA_DIR)
145 EXTRA_DIST = @srcdir@/perlmods @srcdir@/templates @top_srcdir@/Open-ILS/xsl @srcdir@/cgi-bin
147 # Install header files
149 oilsincludedir = $(DESTDIR)@includedir@/openils
150 headsdir = @top_srcdir@/Open-ILS/include/openils
151 oilsinclude_HEADERS = $(headsdir)/idl_fieldmapper.h $(headsdir)/oils_constants.h $(headsdir)/oils_event.h $(headsdir)/oils_idl.h $(headsdir)/oils_utils.h
153 # Install everything that did not get installed by autotools
155 install-data-hook: $(OILSCORE_INST) $(OILSWEB_INST) $(OILSREP_INST)
164 #perl-install and string-templates-install
167 @echo "Installing Perl modules"
169 mkdir -p $(TEMPLATEDIR)
170 cp -r @srcdir@/perlmods/* $(perldir)
171 cp -r @srcdir@/templates/marc $(TEMPLATEDIR)
172 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@libdir@/perl5/OpenILS/WWW/Web.pm'
173 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@libdir@/perl5/OpenILS/WWW/Method.pm'
174 @echo "Installing string templates to $(TEMPLATEDIR)"
175 mkdir -p $(TEMPLATEDIR)
176 mkdir -p $(datadir)/overdue/
177 cp -r @srcdir@/templates/strings $(TEMPLATEDIR)
178 sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example'
179 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example'
180 sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
181 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
182 sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
183 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
184 sed -i 's|LIBDIR|@libdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
185 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/autogen.sh'
186 sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@bindir@/autogen.sh'
187 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/autogen.sh'
188 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/reshelving_complete.srfsh'
189 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/juv_to_adult.srfsh'
190 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl'
191 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl'
192 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/thaw_expired_frozen_holds.srfsh'
193 sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/offline-blocked-list.pl'
196 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/clark-kent.pl'
197 sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/find_orphaned_reports.pl'