]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/Makefile.am
Add a wrapper for autogen.sh which generates a date+content hash for use in (browser...
[Evergreen.git] / Open-ILS / src / Makefile.am
1 # Copyright (C) 2008 Equinox Software, Inc.
2 # Kevin Beswick <kevinbeswick00@gmail.com>
3 #
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.
8 #
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.
13 #
14 ## Process this file with automake to generate Makefile.in
15
16
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 
22
23
24 # Establish some installation directories and such
25 prefix=@prefix@
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
34
35 # Collect files to be used by multiple targets
36
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/facet_types_js.pl \
42          @srcdir@/extras/org_tree_html_options.pl \
43          @srcdir@/extras/org_tree_proximity.pl \
44          @srcdir@/extras/autogen.sh \
45          @srcdir@/extras/cache-generator.sh \
46          @srcdir@/support-scripts/offline-blocked-list.pl 
47
48 # Decide which entities to build
49
50 sysconf_DATA = $(examples)/action_trigger_filters.json.example \
51                $(examples)/opensrf.xml.example \
52                $(examples)/opensrf_core.xml.example \
53                $(examples)/fm_IDL.xml \
54                $(examples)/oils_sip.xml.example \
55                $(examples)/oils_web.xml.example \
56                $(examples)/lib_ips.txt.example
57
58 #----------------------------
59 # Build ILS CORE
60 #----------------------------
61
62 if BUILDILSCORE
63
64 #Add directories to build
65 OILSCORE_DIRS = c-apps extras perlmods
66 #Add manual (non-automake) install targets for simplicity of installing.
67 OILSCORE_INST = ilscore-install
68
69 core_data = @srcdir@/extras/ils_events.xml \
70             $(examples)/hold_notification_template.example
71
72 core_scripts =   $(examples)/oils_ctl.sh \
73                  $(supportscr)/fine_generator.pl \
74                  $(supportscr)/hold_targeter.pl \
75                  $(supportscr)/reshelving_complete.srfsh \
76                  $(supportscr)/clear_expired_circ_history.srfsh \
77                  $(supportscr)/update_hard_due_dates.srfsh \
78                  $(supportscr)/juv_to_adult.srfsh \
79                  $(supportscr)/thaw_expired_frozen_holds.srfsh \
80                  $(supportscr)/long-overdue-status-update.pl \
81                  $(supportscr)/action_trigger_runner.pl \
82                  $(srcdir)/extras/openurl_map.pl \
83                  $(srcdir)/extras/import/marc_add_ids
84          
85 installautojs = $(autojsbinscripts)
86
87 #circ-rules-install
88 circrules_SCRIPTS = $(jsbackend)/circ/circ_duration.js \
89                     $(jsbackend)/circ/circ_groups.js \
90                     $(jsbackend)/circ/circ_item_config.js \
91                     $(jsbackend)/circ/circ_lib.js \
92                     $(jsbackend)/circ/circ_permit_copy.js \
93                     $(jsbackend)/circ/circ_permit_hold.js \
94                     $(jsbackend)/circ/circ_permit_patron.js \
95                     $(jsbackend)/circ/circ_permit_renew.js 
96 penaltyrules_SCRIPTS = $(jsbackend)/penalty/patron_penalty.js
97 catalogscript_SCRIPTS = $(jsbackend)/catalog/biblio_descriptor.js \
98                         $(jsbackend)/catalog/biblio_fingerprint.js \
99                         $(jsbackend)/catalog/fixed_fields.js \
100                         $(jsbackend)/catalog/phys_char.js \
101                         $(jsbackend)/catalog/record_type.js
102
103 endif
104
105 #--------------------
106 # Build Apache modules
107 #--------------------
108
109 if BUILDAPACHEMODS
110 OILSWEB_DIR = apachemods
111 endif
112
113 #---------------------
114 # Build ILS Reporter
115 #---------------------
116
117 if BUILDILSREPORTER
118 OILSREP_INST = reporter-install
119 #reporter-install
120 reporter_scripts = @srcdir@/reporter/clark-kent.pl \
121                    @srcdir@/reporter/find_orphaned_reports.pl
122 reporter_data = @srcdir@/reporter/report-fail \
123                @srcdir@/reporter/report-success
124 endif
125
126 #------------------------------
127 # Build EVERGREEN PYTHON
128 #------------------------------
129
130 if BUILDEGPYTHON
131 OILSPYTHON_DIR = python
132 endif
133
134 #------------------------------
135 # Build EVERGREEN JAVA
136 #------------------------------
137
138 if BUILDEGJAVA
139 OILSJAVA_DIR = java
140 endif
141
142 bin_SCRIPTS = $(core_scripts) $(reporter_scripts) $(installautojs) @srcdir@/extras/eg_config @srcdir@/extras/fast-extract @srcdir@/extras/import/marc2are.pl @srcdir@/extras/import/marc2bre.pl @srcdir@/extras/import/marc2sre.pl @srcdir@/extras/import/parallel_pg_loader.pl
143 data_DATA = $(core_data) $(reporter_data)
144
145 # Take care of which subdirectories to build, and which extra files to include in a distribution.
146
147 SUBDIRS = $(OILSCORE_DIRS) $(OILSWEB_DIR) $(OILSPYTHON_DIR) $(OILSJAVA_DIR)
148
149 EXTRA_DIST = @srcdir@/perlmods @srcdir@/templates @top_srcdir@/Open-ILS/xsl @srcdir@/cgi-bin
150
151 # Install header files
152
153 oilsincludedir = $(DESTDIR)@includedir@/openils
154 headsdir = @top_srcdir@/Open-ILS/include/openils
155 oilsinclude_HEADERS = $(headsdir)/idl_fieldmapper.h $(headsdir)/oils_constants.h $(headsdir)/oils_event.h $(headsdir)/oils_idl.h $(headsdir)/oils_utils.h
156
157 # Install everything that did not get installed by autotools
158
159 install-data-hook: $(OILSCORE_INST) $(OILSWEB_INST) $(OILSUPDATES_INST) $(OILSREP_INST)
160
161 uninstall-hook:
162         rm -R $(TEMPLATEDIR)
163         rm -R $(XSLDIR)
164         rm -R $(CGIDIR)
165
166
167 #perl-install and string-templates-install      
168 ilscore-install:
169         @echo $@
170         $(MKDIR_P) $(TEMPLATEDIR)
171         cp -r @srcdir@/templates/marc $(TEMPLATEDIR)
172         cp -r @srcdir@/templates/password-reset $(TEMPLATEDIR)
173         @echo "Installing string templates to $(TEMPLATEDIR)"
174         $(MKDIR_P) $(TEMPLATEDIR)
175         $(MKDIR_P) $(datadir)/overdue/
176         cp -r @srcdir@/templates/strings $(TEMPLATEDIR)
177         sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example'
178         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example'
179         sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
180         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example'
181         sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
182         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
183         sed -i 's|LIBDIR|@libdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example'
184         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/autogen.sh'
185         sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@bindir@/autogen.sh'
186         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/autogen.sh'
187         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/cache-generator.sh'
188         sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@bindir@/cache-generator.sh'
189         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/cache-generator.sh'
190         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/reshelving_complete.srfsh'
191         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/clear_expired_circ_history.srfsh'
192         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/update_hard_due_dates.srfsh'
193         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/juv_to_adult.srfsh'
194         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl'
195         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl'
196         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/thaw_expired_frozen_holds.srfsh'
197         sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/offline-blocked-list.pl'
198
199 reporter-install:
200         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/clark-kent.pl'
201         sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/find_orphaned_reports.pl'
202
203