-export TMPDIR = $(TMP)/opensrf
-export LDFLAGS += -L $(TMPDIR) -L .
+export LDFLAGS += -L . -L $(OPENSRF_LIBS)
export CFLAGS += -pipe -g -Wall -O2 -fPIC -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) \
- -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(TMPDIR)
+ -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(OPENSRF_HEADERS)
export INCDIR = "$(INCLUDEDIR)/openils/"
oils_dataloader: oils_dataloader.o
@echo $@
- $(CC) $(LDLIBS) $(LDFLAGS) -loils_idl -loils_utils oils_dataloader.o -o $(TMPDIR)/$@
+ $(CC) $(LDLIBS) $(LDFLAGS) -loils_idl -loils_utils oils_dataloader.o -o $(TMP)/$@
oils_cstore.so: oils_cstore.o liboils_utils.so liboils_idl.so
@echo $@
$(CC) -shared -W1 -L/usr/local/lib/dbd \
- $(LDLIBS) $(LDFLAGS) -loils_idl -ldbi -loils_utils -ldbdpgsql oils_cstore.o -o $(TMPDIR)/$@
+ $(LDLIBS) $(LDFLAGS) -loils_idl -ldbi -loils_utils -ldbdpgsql oils_cstore.o -o $(TMP)/$@
oils_rstore.o: oils_cstore.c oils_utils.h
- $(CC) $(CFLAGS) -I$(TMPDIR) -I$(TMPDIR)/opensrf/ -DRSTORE -c -o $@ oils_cstore.c
+ $(CC) $(CFLAGS) -I$(TMP) -DRSTORE -c -o $@ oils_cstore.c
oils_rstore.so: oils_rstore.o liboils_utils.so liboils_idl.so
@echo $@
$(CC) -shared -W1 -L/usr/local/lib/dbd \
- $(LDLIBS) $(LDFLAGS) -loils_idl -ldbi -ldbdpgsql oils_rstore.o -o $(TMPDIR)/$@
+ $(LDLIBS) $(LDFLAGS) -loils_idl -ldbi -ldbdpgsql oils_rstore.o -o $(TMP)/$@
oils_fetch.so: oils_fetch.o liboils_utils.so
@echo $@
$(CC) -shared -W1 -L/usr/local/lib/dbd \
- $(LDLIBS) $(LDFLAGS) -ldbi -ldbdpgsql -loils_utils oils_fetch.o -o $(TMPDIR)/$@
+ $(LDLIBS) $(LDFLAGS) -ldbi -ldbdpgsql -loils_utils oils_fetch.o -o $(TMP)/$@
oils_idl-core.o: oils_idl-core.c oils_idl.h
liboils_idl.so: oils_idl-core.o
@echo $@
$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) oils_idl-core.o -o $@
- cp $@ $(TMPDIR)/
- mkdir -p $(TMPDIR)/openils/
- cp oils_idl.h $(TMPDIR)/openils/
- cp idl_fieldmapper.h $(TMPDIR)/openils/
+ cp $@ $(TMP)/
+ mkdir -p $(TMP)/openils/
+ cp oils_idl.h $(TMP)/openils/
+ cp idl_fieldmapper.h $(TMP)/openils/
oils_auth.so: oils_auth.o liboils_utils.so
@echo $@
- $(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) -loils_utils -loils_idl oils_auth.o -o $(TMPDIR)/$@
+ $(CC) -shared -W1 $(CFLAGS) $(LDLIBS) $(LDFLAGS) -loils_utils -loils_idl oils_auth.o -o $(TMP)/$@
liboils_utils.so: oils_utils.o oils_event.o oils_constants.h
@echo $@
$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) oils_utils.o oils_event.o -o $@
- cp $@ $(TMPDIR)/
- mkdir -p $(TMPDIR)/openils/
- cp oils_event.h $(TMPDIR)/openils/
- cp oils_utils.h $(TMPDIR)/openils/
- cp oils_constants.h $(TMPDIR)/openils/
+ cp $@ $(TMP)/
+ mkdir -p $(TMP)/openils/
+ cp oils_event.h $(TMP)/openils/
+ cp oils_utils.h $(TMP)/openils/
+ cp oils_constants.h $(TMP)/openils/
install:
@echo $@;
- cp $(TMPDIR)/oils_auth.so $(LIBDIR)/
- #cp $(TMPDIR)/oils_fetch.so $(LIBDIR)/
- cp $(TMPDIR)/oils_cstore.so $(LIBDIR)/
- cp $(TMPDIR)/oils_rstore.so $(LIBDIR)/
- cp $(TMPDIR)/liboils_utils.so $(LIBDIR)/
- cp $(TMPDIR)/liboils_idl.so $(LIBDIR)/
- cp $(TMPDIR)/oils_dataloader $(BINDIR)/
+ cp $(TMP)/oils_auth.so $(LIBDIR)/
+ #cp $(TMP)/oils_fetch.so $(LIBDIR)/
+ cp $(TMP)/oils_cstore.so $(LIBDIR)/
+ cp $(TMP)/oils_rstore.so $(LIBDIR)/
+ cp $(TMP)/liboils_utils.so $(LIBDIR)/
+ cp $(TMP)/liboils_idl.so $(LIBDIR)/
+ cp $(TMP)/oils_dataloader $(BINDIR)/
mkdir -p $(INCDIR)/
cp oils_utils.h $(INCDIR)
cp oils_idl.h $(INCDIR)
prompt "Libxml2 headers directory [$LIBXML2_HEADERS] "
read X; if [ ! -z "$X" ]; then LIBXML2_HEADERS="$X"; fi;
+ prompt "OpenSRF headers directory [$OPENSRF_HEADERS] "
+ read X; if [ ! -z "$X" ]; then OPENSRF_HEADERS="$X"; fi;
+
+ prompt "OpenSRF libraries directory [$OPENSRF_LIBS] "
+ read X; if [ ! -z "$X" ]; then OPENSRF_LIBS="$X"; fi;
+
prompt "Build targets [${TARGETS[@]:0}] "
read X; if [ ! -z "$X" ]; then TARGETS=("$X"); fi;
_write "APR_HEADERS=\"$APR_HEADERS\"";
_write "LIBXML2_HEADERS=\"$LIBXML2_HEADERS\"";
+ _write "OPENSRF_HEADERS=\"$OPENSRF_HEADERS\"";
+ _write "OPENSRF_LIBS=\"$OPENSRF_LIBS\"";
+
_write "WEBDIR=\"$WEBDIR\"";
_write "TEMPLATEDIR=\"$TEMPLATEDIR\"";
_write "ETCDIR=\"$ETCDIR\"";
STR="$STR)";
_write "$STR";
- _write "OPENSRFDIR=\"OpenSRF/src/\"";
_write "OPENILSDIR=\"Open-ILS/src/\"";
_write "EVERGREENDIR=\"Evergreen/\"";
# --------------------------------------------------------------------
# Build targets. Options include:
#
-# opensrf_all - builds all OpenSRF compenents
-# opensrf_jserver - custom 'single-domain' jabber server which may be used in place of jabberd2
-# opensrf_router - jabber router.
-# opensrf_gateway - mod_ils_gateway, Apache module for proxying API calls
-# opensrf_srfsh - diagnostic shell interface to OpenSRF
-# opensrf_core - install the OpenSRF perl modules and core files for running opensrf
-#
# openils_all - builds all OpenILS compenents
# openils_core - install the Open-ILS perl modules, and core files for running and openils server
# openils_web - copies over the javascript and html templates to the web root directory for running the OPAC
# evergreen_core - builds core Evergreen components (does not build evergreen_xul_client!)
# evergreen_xul_client - client XUL application
#
-# When running the server components of OpenSRF/OpenILS, the simplest
-# thing is to build 'opensrf' even if you
-# don't use all of the components.
# Build marcdumper only if you need to convert MARC binary files to MARCXML.
# If you only want to build the client app, then just build evergreen_xul_client.
# --------------------------------------------------------------------
-TARGETS=("opensrf_all" "openils_core" "openils_web" "openils_db");
+TARGETS=("openils_core" "openils_web" "openils_db");
# --------------------------------------------------------------------
LIBXML2_HEADERS="/usr/include/libxml2/";
+# --------------------------------------------------------------------
+# Directories where the OpenSRF headers and libraries are located.
+# You must build and install OpenSRF before OpenILS.
+# --------------------------------------------------------------------
+OPENSRF_HEADERS="/openils/include/"
+OPENSRF_LIBS="/openils/lib/"
+
# --------------------------------------------------------------------
# These point to the top level makefiles for each of the sub
# projects. Only change these if you have relocated the directories.
# --------------------------------------------------------------------
-OPENSRFDIR="OpenSRF/src/";
OPENILSDIR="Open-ILS/src/";
EVERGREENDIR="Evergreen/";
APACHE2_HEADERS=$APACHE2_HEADERS LIBXML2_HEADERS=$LIBXML2_HEADERS DBPORT=$DBPORT\
BINDIR=$BINDIR LIBDIR=$LIBDIR PERLDIR=$PERLDIR INCLUDEDIR=$INCLUDEDIR \
WEBDIR=$WEBDIR TEMPLATEDIR=$TEMPLATEDIR ETCDIR=$ETCDIR REPORTERDIR=$REPORTERDIR\
- OPENSRFDIR=$OPENSRFDIR OPENILSDIR=$OPENILSDIR EVERGREENDIR=$EVERGREENDIR \
+ OPENSRF_HEADERS=$OPENSRF_HEADERS OPENSRF_LIBS=$OPENSRF_LIBS OPENILSDIR=$OPENILSDIR EVERGREENDIR=$EVERGREENDIR \
CIRCRULESDIR=$CIRCRULESDIR CATALOGSCRIPTDIR=$CATALOGSCRIPTDIR CGIDIR=$CGIDIR \
DBDRVR=$DBDRVR DBHOST=$DBHOST DBVER=$DBVER DATADIR=$DATADIR ADMINDIR=$ADMINDIR\
PENALTYRULESDIR=$PENALTYRULESDIR DBNAME=$DBNAME DBUSER=$DBUSER DBPW=$DBPW XSLDIR=$XSLDIR NEW_OPAC_URL=$NEW_OPAC_URL \
case "$target" in
- # OpenSRF ---
-
- "opensrf_all")
- if building; then $MAKE -C "$OPENSRFDIR" all; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" install; fi;
- ;;
-
- "opensrf_jserver" )
- if building; then $MAKE -C "$OPENSRFDIR" "jserver"; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" "jserver-install"; fi;
- ;;
-
- "opensrf_router" )
- if building; then $MAKE -C "$OPENSRFDIR" "router"; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" "router-install"; fi;
- ;;
-
- "opensrf_gateway" )
- if building; then $MAKE -C "$OPENSRFDIR" "gateway"; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" "gateway-install"; fi;
- ;;
-
- "opensrf_srfsh" )
- if building; then $MAKE -C "$OPENSRFDIR" "srfsh"; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" "srfsh-install"; fi;
- ;;
-
- "opensrf_core" )
- if building; then $MAKE -C "$OPENSRFDIR" libstack/opensrf; fi;
- if installing; then $MAKE -C "$OPENSRFDIR" "perl-install"; fi;
- ;;
-
-
# OpenILS ---
"openils_all" )
function cleanMe {
loadConfig;
- make "TMP=$TMP" -s -C "$OPENSRFDIR" clean;
make "TMP=$TMP" -s -C "$OPENILSDIR" clean;
make "TMP=$TMP" -s -C "$EVERGREENDIR" clean;
}