## Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. ## All rights reserved. ## Copyright (C) 2007-2010, 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. ## -------------------------------------------- ## -- Old-style OpenAxiom makefile variables -- ## -------------------------------------------- GCLOPTS=@GCLOPTS@ pamphlets = configure.ac.pamphlet Makefile.pamphlet subdir = SUBDIRS = src build_srcdir = $(builddir)/src AXIOM_SRC_TARGETS = all-algebra all-asq all-axiomsys all-boot all-share \ all-clef all-doc all-graph all-hyper all-input all-interpsys \ all-lib all-lisp all-sman all-driver all-src all-databases all-utils .PHONY: all $(AXIOM_SRC_TARGETS) all: all-ax all-ax: all-src @echo finished system build on `date` | tee > lastBuildDate $(AXIOM_SRC_TARGETS): stamp-rootdirs all-src: stamp-rootdirs @oa_all_prerequisites@ ifeq ($(strip $(oa_include_gcl)),yes) all-boot all-lisp all-interpsys all-axiomsys \ all-algebra all-input: all-gcl endif $(AXIOM_SRC_TARGETS): cd "$(build_srcdir)" && $(MAKE) $@ .PHONY: all-algstrap all-algstrap: cd src/algebra && $(MAKE) $@ stamp-rootdirs: @$(STAMP) stamp-rootdirs .PHONY: all-gcl all-gcl: $(axiom_build_bindir)/gcl$(EXEEXT) $(axiom_build_bindir)/gcl$(EXEEXT): if test "$(srcdir)" != "$(builddir)" -a ! -d gcl; then \ cp -r "$(srcdir)"/gcl "$(builddir)"; \ fi; cd gcl; \ ./configure --prefix="$(axiom_abs_builddir)" ${GCLOPTS} && \ $(MAKE) && $(MAKE) install .PHONY: install install: @echo Installing OpenAxiom in $(DESTDIR)$(prefix) @$(mkinstalldirs) "$(DESTDIR)$(open_axiom_installdir)" cp -pr "$(builddir)"/$(target)/* "$(DESTDIR)$(open_axiom_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: @-rm -f lastBuildDate clean-local: mostlyclean-local @ rm -f stamp-* @ rm -rf int distclean-local: clean-local @-rm -rf build @-rm -rf "$(axiom_targetdir)" @-rm -f config.status config.log @-rm -f Makefile $(top_builddir)/config.status: $(top_srcdir)/configure $(SHELL) ./config.status --recheck