1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
################################################################
# This Makefile is created from Makefile.in by the main Prolog
# configuration in .../pl/src/configure.
#
# It can be used to configure and make the add-on packages.
################################################################
.EXPORT_ALL_VARIABLES:
# Define the packages you wish to build. Please note that xpce requires
# libXPM and libjpeg to compile. This variable is normally overruled
# from the configure script. MUST be on one line
PKG= clib cpp odbc table xpce sgml sgml/RDF semweb http chr clpqr nlp ssl pldoc plunit jpl zlib
# Define additional config options. If you wish to build the multi-threaded
# version of SWI-Prolog and pl-mt to the same install-base, you must provide
# --enable-mt here.
CNFG=@CNFG@
################################################################
# Normally, all should be fine below here
################################################################
# Values filled from the main SWI-Prolog configure
MAKE=@MAKE@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
PL=@PL@@RT@
PLVERSION=@PLVERSION@
PLBASE=@libdir@/@PL@-$(PLVERSION)
PKGDOC=$(PLBASE)/doc/packages
PLLIBS=@LIBS@
PLARCH=@ARCH@
PLLDFLAGS=@LDFLAGS@
PLDIR=$(shell dirname `pwd`)
PLINCL=$(PLDIR)/include
LIBDIR=$(PLDIR)/lib/$(PLARCH)
PLSHARED=@PLSHARED@
INSTALL=@INSTALL@
INSTALL_DATA=@INSTALL_DATA@
SO=@SO_EXT@
BUILDDIR=@BUILDDIR@
PLLIB=$(PLBASE)/library
DESTDIR=
# These programs should use prolog from the (already installed) $(bindir)
PATH=$(bindir):$(shell echo $$PATH)
# How to run configure. We pass the information required from SWI-Prolog
# in the environment. All configure scripts in the packages are designed
# to trust the environment if they find $PLINCL. Otherwise they run Prolog
# to find the required parameters.
#
# BUILDDIR passes the relative location of the directory SWI-Prolog was
# build (i.e. linux, solaris, ...) This means packages can find information
# on the installed Prolog using ../../$BUILDDIR
CONFIG= env PL="$(PL)" PLBASE="$(PLBASE)" PLARCH="$(PLARCH)" \
PLLIBS="$(PLLIBS)" PLLDFLAGS="$(PLLDFLAGS)" \
PLINCL="$(PLINCL)" PLSHARED="$(PLSHARED)" \
PLSOEXT="$(SO)" BUILDDIR="$(BUILDDIR)" \
LD_LIBRARY_PATH="$(LIBDIR):$$LD_LIBRARY_PATH" \
MAKE="$(MAKE)" \
./configure $(CNFG) $(CNFGPASSED) --prefix=$(prefix)
all: objects
objects::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then $(MAKE) -C $$p || exit 1; fi; \
done
html::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then $(MAKE) -C $$p $@ || exit 1; fi; \
done
install::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || exit 1; fi; \
done
@echo "*** Forcing update of library index ***"
rm -f $(DESTDIR)$(PLLIB)/INDEX.pl
./pl.sh -f none -g "make_library_index('$(DESTDIR)$(PLLIB)')" -t halt
rpm-install: html-install
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || exit 1; fi; \
done
@echo "*** Forcing update of library index ***"
rm -f $(DESTDIR)$(PLLIB)/INDEX.pl
./pl.sh -f none -g "make_library_index('$(PLLIB)')" -t halt
pdf-install::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || exit 1; fi; \
done
html-install::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || exit 1; fi; \
done
$(INSTALL_DATA) index.html $(DESTDIR)$(PKGDOC)
ln-install::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || exit 1; fi; \
done
configure::
@echo "**********************"
@echo "* Configuring packages $(PKG)"
@echo "**********************"
@for p in $(PKG); do \
if [ -r $$p/configure ]; then \
echo "**********************"; \
echo "* Package $$p"; \
echo "**********************"; \
( cd $$p && $(CONFIG) ) || exit 1; \
fi; \
done
distclean::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ); fi; \
done
rm -f Makefile configure
clean::
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ); fi; \
done
check::
@rm -f .FAILED_TESTS
for p in $(PKG); do \
if [ -r $$p/Makefile ]; then ( cd $$p && $(MAKE) $@ ) || echo $$P > .FAILED_TESTS; fi; \
done
@if [ -f .FAILED_TESTS ]; then echo "Tests in `cat .FAILED_TESTS` failed" && exit 1; fi
# test environment
printenv::
printenv
|