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
|
# Copyright (C) 2012, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# - Neither the name of The Numerical Algorithms Group Ltd. nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The build system is set up so that if `make all' completes successfully
# then `make install' will not modify any file in the build directory.
# Consequently it is possible to issue `make all' as an one user
# to build the whole system, and install it as another user. The typical
# case is: on Unix-like system, build as ordinary user, then install as
# superuser.
# The build flow of OpenAxiom seems, at first sight, a bit intricate to
# describe. This description is STILL IN WORK IN PROGRESS. Therefore
# it is incorrekt, incomplet, and iNconSiStenT.
ACLOCAL_AMFLAGS = -I config --install --output=config/aclocal.m4
DIST_SUBDIRS = src
oa_builddir = $(abs_top_builddir)/build/$(target)
oa_installdir = @open_axiom_installdir@
# Configure options to GCL.
GCLOPTS=@GCLOPTS@
OA_SRC_TARGETS = \
all-local \
all-src \
all-algebra \
all-algstrap \
all-initdb \
all-asq \
all-axiomsys \
all-boot \
all-share \
all-clef \
all-doc \
all-graph \
all-gui \
all-hyper \
all-input \
all-interpsys \
all-lib \
all-lisp \
all-sman \
all-driver \
all-databases \
all-utils
.PHONY: $(OA_SRC_TARGETS)
if OA_BUILD_GCL
all-recursive all-boot all-lisp all-interpsys all-axiomsys \
all-algebra all-algstrap all-input all-src all-local: all-gcl
endif
all: all-local
$(OA_SRC_TARGETS):
cd src && $(MAKE) $@
.PHONY: all-gcl
all-gcl: $(oa_builddir)/bin/gcl$(EXEEXT)
$(oa_builddir)/bin/gcl$(EXEEXT):
if test "$(srcdir)" != "$(builddir)" -a ! -d gcl; then \
cp -r "$(srcdir)"/gcl "$(builddir)"; \
fi; cd gcl; \
./configure --prefix="$(oa_builddir)" ${GCLOPTS} && \
$(MAKE) && $(MAKE) install
install:
@echo Installing OpenAxiom in $(DESTDIR)$(prefix)
@$(mkinstalldirs) "$(DESTDIR)$(oa_installdir)"
cp -pr "$(builddir)"/$(target)/* "$(DESTDIR)$(oa_installdir)"
rm -f "$(DESTDIR)$(bindir)"/open-axiom
@$(mkinstalldirs) "$(DESTDIR)$(bindir)"
$(INSTALL_PROGRAM) src/driver/open-axiom$(EXEEXT) "$(DESTDIR)$(bindir)"
@echo OpenAxiom installation finished.
.PHONY: check
check:
cd src && $(MAKE) all-check
mostlyclean-local:
cd src && $(MAKE) $(AM_MAKEFLAGS) mostlyclean
clean-local:
cd src && $(MAKE) $(AM_MAKEFLAGS) clean
@-rm -rf $(target)
@-rm -rf build
distclean-local:
cd src && $(MAKE) $(AM_MAKEFLAGS) distclean
|