=================================================================== RCS file: /home/cvs/OpenXM/src/pari/Makefile,v retrieving revision 1.18 retrieving revision 1.29 diff -u -p -r1.18 -r1.29 --- OpenXM/src/pari/Makefile 2003/11/10 09:12:24 1.18 +++ OpenXM/src/pari/Makefile 2021/03/25 03:40:23 1.29 @@ -1,75 +1,85 @@ -# $OpenXM: OpenXM/src/pari/Makefile,v 1.17 2003/09/02 14:26:06 takayama Exp $ +# $OpenXM: OpenXM/src/pari/Makefile,v 1.28 2021/03/25 03:02:40 ohara Exp $ -#PARI = ../../../OpenXM_contrib/pari-2.2 -PARI = ../../../OpenXM_contrib/pari -OpenXM_ROOT = ../../../OpenXM +OpenXM_HOME=../.. +PREFIX=${OpenXM_HOME} +DISTDIR=${OpenXM_HOME}/../OpenXM_dist +RM = /bin/rm +RANLIB=ranlib +#PARI=pari-2.11.4 +PARI=pari-2.13.1 +PATCH_FILE=${PARI}.diff +MASTER_SITE=http://www.math.kobe-u.ac.jp/pub/OpenXM/misc/ +DIST_SUFFIX=.tar.gz +DISTFILES=${PARI}${DIST_SUFFIX} +GALFILES=galdata.tgz galpol.tgz -all: configure - @if [ ! -f ./.make_done ]; then \ - (cd $(PARI) ; make lib-sta); \ - fi - @touch ./.make_done +all: build -install: install-lib-bin +fetch: + -mkdir work + @if [ ! -f work/.fetch_done ]; then \ + for i in ${DISTFILES} ${GALFILES}; do \ + ${OpenXM_HOME}/bin/oxfetch.sh ${MASTER_SITE}"$$i" ${DISTDIR}; \ + done; \ + fi + @touch work/.fetch_done -#install-lib-bin: all install-lib -# if [ ! -f ./.install-lib-bin_done ]; then \ -# (cd $(PARI)/O*-* ; make install-include) ; \ -# if [ "`uname | sed -e 's/_.*$$//'`" != "CYGWIN" ]; then \ -# (cd $(PARI)/O*-* ; make install-lib-dyn); \ -# (cd $(PARI)/O*-* ; make install-bin); \ -# (cd $(PARI)/O*-* ; make install-misc); \ -# (cd $(PARI)/O*-* ; make install-man); \ -# (cd $(PARI)/O*-* ; make install-data); \ -# fi ; \ -# touch ./.install-lib-bin_done ; \ -# fi +extract: fetch + @if [ ! -f work/.extract_done ]; then \ + cat ${DISTDIR}/${DISTFILES} | (cd work ; tar xzvf -) ; \ + for i in ${GALFILES}; do \ + cat ${DISTDIR}/"$$i" | (cd work/${PARI} ; tar xzvf -) ; \ + done; \ + fi + @touch work/.extract_done -install-lib-bin: all install-lib - if [ ! -f ./.install-lib-bin_done ]; then \ - (cd $(PARI)/O*-* ; make install-include) ; \ - touch ./.install-lib-bin_done ; \ - fi +patch: extract + @if [ ! -f work/.patch_done ]; then \ + if [ -f "${PATCH_FILE}" ]; then \ + cat ${PATCH_FILE} | (cd work/${PARI} ; patch -p1 ) ; \ + fi \ + fi + @touch work/.patch_done - -install-doc: all - (cd $(PARI) ; make doc) - @if [ ! -d $(OpenXM_ROOT)/doc/pari ]; then \ - mkdir $(OpenXM_ROOT)/doc/pari ;\ +configure: patch + @if [ ! -f work/.configure_done ]; then \ + prefix=`cd ${OpenXM_HOME}; pwd` ; \ + (cd work/${PARI} ; ./Configure --prefix="$$prefix" ) ; \ fi - -cp $(OpenXM_ROOT)/lib/pari/users.dvi $(OpenXM_ROOT)/doc/pari/users.dvi - -cp $(OpenXM_ROOT)/lib/pari/tutorial.dvi $(OpenXM_ROOT)/doc/pari/tutorial.dvi + @touch work/.configure_done -clean: patch-clean - @if [ -f ./.make_done ]; then \ - (cd $(PARI) ; make clean) \ +build: configure + @if [ ! -f work/.build_done ]; then \ + d=`cd work/${PARI} ; config/objdir` ; \ + (cd work/${PARI}/$$d ; ${MAKE} lib-sta; ${MAKE} gp) ; \ fi - @rm -f ./.*_done + @touch work/.build_done -distclean: - @cat BINARIES | xargs -t rm -rf - -configure: patch - @if [ ! -f ./.configure_done ]; then \ - (cd $(PARI) ; ./Configure --prefix=../../../OpenXM) \ +build-doc: configure + @if [ ! -f work/.build_doc_done ]; then \ + (cd work/${PARI} ; ${MAKE} doc) ; \ fi - @touch ./.configure_done + @touch work/.build_doc_done -patch: - @if [ ! -f ./.patch_done ]; then \ - (cd $(PARI)/config ; patch < ../../../OpenXM/src/pari/Makefile.SH.diff) \ +install: build + -mkdir ${PREFIX}/bin ${PREFIX}/lib + @if [ ! -f work/.install_done ]; then \ + d=`cd work/${PARI} ; config/objdir` ; \ + (cd work/${PARI}/$$d ; ${MAKE} install-lib-sta install-include install-lib-dyn install-data) ; \ + ${RANLIB} ${PREFIX}/lib/libpari.a ; \ fi - @touch ./.patch_done + @touch work/.install_done -patch-clean: - @if [ -f ./.patch_done ]; then \ - (cd $(PARI)/config ; patch -R < ../../../OpenXM/src/pari/Makefile.SH.diff) \ +install-doc: build-doc + -mkdir ${PREFIX}/doc/pari + @if [ ! -f work/.install_doc_done ]; then \ + for i in users.dvi tutorial.dvi; do \ + cp work/${PARI}/doc/$$i ${PREDIX}/doc/pari ; \ + done ; \ fi - @rm -f ./.patch_done + @touch work/.install_doc_done -install-lib: all - if [ ! -f ./.install-lib_done ]; then \ - (cd $(PARI) ; make install-lib-sta) ; \ - ranlib ../../lib/libpari.a ; \ - touch ./.install-lib_done ; \ - fi +clean: + -${RM} -rf work + +distclean: clean