###########################################################################
#
# This is a wrapper makefile to build and set up CARAT for use with GAP.
# It depends on certain variables defined in the file config.carat, which
# in turn is produced by the companion configure script.
#
# Usage: ./configure <path to GAP root>
# make
#
# This tries to build CARAT with the same GMP library as GAP.
#
# By default, the QCatalog of CARAT is unpacked only up to dimension 5.
# If you need also dimension 6 (another 180 Mb), unpack also the rest with
#
# make qcat6
#
# The compiled binaries and libraries can be removed with
#
# make clean
#
# This requires the config.carat file that has been used to build CARAT.
#
###########################################################################
# include the variables determined by the configure script
include config.carat
# fetch CARAT if necessary, or unpack it
carat/configure: if [ ! -d carat ]; then \ if [ -f carat.tgz ]; then tar pzxf carat.tgz; \ else git clone https://github.com/lbfm-rwth/carat.git; fi; \
fi if [ ! -f carat/configure ]; then (cd carat && ./autogen.sh); fi
touch $@
carat: carat/configure
# unpack the qcatalog, by default without dimension 6
carat/tables/qcatalog/TGROUPS.GAP: carat/configure
cd carat/tables; tar pzxf qcatalog.tar.gz --exclude=qcatalog/dim6
touch $@
qcatalog: carat/tables/qcatalog/TGROUPS.GAP
# unpack also qcatalog for dimension 6
carat/tables/qcatalog/dim6/BASIS: carat/tables/qcatalog/TGROUPS.GAP
cd carat/tables; tar pzxf qcatalog.tar.gz qcatalog/dim6
touch $@
qcat6: carat/tables/qcatalog/dim6/BASIS
# compile and link the CARAT binaries
programs: config.carat carat/configure
(cd carat && ./configure $(WITHGMP) CC="$(CC)" CFLAGS="$(FLAGS) $(CFLAGS)" && make)
chmod -R a+rX .
# make suitable links, so that GAP can find the CARAT binaries
arch: config.carat carat/configure
mkdir -p bin
rm -rf "bin/$(ARCHDIR)"
ln -sf ../carat/bin "bin/$(ARCHDIR)"
# clean up everything
clean: config.carat if [ -d "carat/" ]; then cd carat; make clean; fi
rm -rf "bin/$(ARCHDIR)"
.PHONY: all arch clean arch carat programs qcatalog qcat6
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.