################################################################# ### ### Top-level Makefile for Singular ### ### The main purpose of this Makefile is to call `make' ### recursively in the subdirectories determined at configuration ### time. ### ################################################################# @SET_MAKE@ SHELL = /bin/sh SINGULAR = @SINGULAR@ BUILD_SUBDIRS = @CONFIG_SUBDIRS@ SUBDIRS = @SUBDIRS@ PERL = @PERL@ ############################################################## # default target ${SINGULAR}: ${MAKE} install ############################################################## # general targets # simply descend for these targets .PHONY: all install uninstall all install uninstall: @ for SUBDIR in ${BUILD_SUBDIRS}; \ do \ echo ${MAKE} $@ in $${SUBDIR}; \ ( cd $${SUBDIR} && ${MAKE} $@; ) \ done ############################################################## # cleaning up .PHONY: local-clean local-distclean local-maintainer-clean \ clean distclean mostlyclean maintainer-clean # we use a canned sequence to avoid code redundancy define recurse @ for SUBDIR in ${SUBDIRS}; \ do \ echo ${MAKE} $@ in $${SUBDIR}; \ ( cd $${SUBDIR} && ${MAKE} $@; ) \ done endef local-clean: rm -rf *~ a.out core *.o *.log local-distclean: local-clean rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar local-maintainer-clean: local-distclean @ echo "This command is intended for maintainer use, only" rm -rf configure clean mostlyclean: local-clean $(recurse) distclean: local-distclean $(recurse) maintainer-clean: uninstall local-maintainer-clean $(recurse) ############################################################## # some extra targets for the specific packages .PHONY: factory libfac MP gmp smallgmp Singular factory libfac MP gmp smallgmp: cd $@; ${MAKE} all ############################################################## # documentation .PHONY: info dvi ps doc doc/singular.hlp html info dvi ps doc/singular.hlp html: ${SINGULAR} cd doc; ${MAKE} $@ doc info/singular.hlp: cd doc; ${MAKE} install ############################################################## # Tst targets .PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long Tst-All: Tst-Old Tst-Short Tst-Long Tst: Tst-Old Tst-Short Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst Tst-Short: ${SINGULAR} Tst/Short Tst/regress.cmd ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/*.tst Tst-Long: ${SINGULAR} Tst/Short Tst/regress.cmd ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/*.tst ############################################################## # distribution targets LN_S = @LN_S@ MKINSTALLDIRS = ./mkinstalldirs TMPDIR = /tmp/singdist SINGUNAME = @SINGUNAME@ S_VERSION = $${SINGULAR_VERSION-@SINGULAR_VERSION@} SINGULAR_DOS_VERSION = @SINGULAR_DOS_VERSION@ DISTROOT_NAME = Singular-${S_VERSION} BINDIST_NAME = ${DISTROOT_NAME}-${SINGUNAME} SHAREDIST_NAME = ${DISTROOT_NAME}-share test_t: echo ${S_VERSION} .PHONY: sharedist bindist static-bindist infodist win-sharedist sharedist: ${SINGULAR} cd doc; ${MAKE} all ps rm -rf ${TMPDIR} ${MKINSTALLDIRS} ${TMPDIR}/Singular/LIB/${S_VERSION} ${MKINSTALLDIRS} ${TMPDIR}/Singular/doc/${S_VERSION} ${MKINSTALLDIRS} ${TMPDIR}/Singular/html/${S_VERSION} ${MKINSTALLDIRS} ${TMPDIR}/info ${MKINSTALLDIRS} ${TMPDIR}/Singular/LIB/gftables cp Singular/LIB/*.lib ${TMPDIR}/Singular/LIB/${S_VERSION} rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/fastsolv.lib rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/tst.lib cp Singular/LIB/gftables/[0-9]* ${TMPDIR}/Singular/LIB/gftables cd ${TMPDIR}/Singular/LIB/${S_VERSION}; \ ${LN_S} ../gftables . cp doc/singular.hlp doc/singular.ps doc/usercard.ps \ doc/singular.dvi doc/usercard.dvi \ ${TMPDIR}/Singular/doc/${S_VERSION} cp -R doc/html/* ${TMPDIR}/Singular/html/${S_VERSION} cd ${TMPDIR}/info; \ ${LN_S} ../Singular/doc/${S_VERSION}/singular.hlp . cat README.share | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.share cat README.general | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.general cp COPYING ${TMPDIR}/Singular cd ${TMPDIR}; \ tar -cf sing.tar Singular info; \ gzip sing.tar cp ${TMPDIR}/sing.tar.gz ${SHAREDIST_NAME}.tar.gz rm -rf ${TMPDIR} win-sharedist: export SINGULAR_VERSION=${SINGULAR_DOS_VERSION} && ${MAKE} sharedist bindist: ${SINGULAR} cd Singular; ${MAKE} Singular-$@ libparse rm -rf ${TMPDIR} ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/ ${MKINSTALLDIRS} ${TMPDIR}/Singular cp Singular/Singular-$@ \ ${TMPDIR}/${SINGUNAME}/bin/Singular-${S_VERSION} cd ${TMPDIR}/${SINGUNAME}/bin; \ ${LN_S} Singular-${S_VERSION} Singular cp Singular/libparse ${TMPDIR}/${SINGUNAME}/bin/ -strip ${TMPDIR}/${SINGUNAME}/bin/* cp COPYING ${TMPDIR}/Singular cat README.bin | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.bin cat README.general | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.general cat INSTALL | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/INSTALL cd ${TMPDIR}; \ tar cf ${BINDIST_NAME}.tar ${SINGUNAME} Singular; \ gzip ${BINDIST_NAME}.tar cp ${TMPDIR}/${BINDIST_NAME}.tar.gz . rm -rf ${TMPDIR} static-bindist: ${SINGULAR} cd Singular; ${MAKE} Singular-$@ libparse rm -rf ${TMPDIR} ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/ ${MKINSTALLDIRS} ${TMPDIR}/Singular cp Singular/Singular-$@ \ ${TMPDIR}/${SINGUNAME}/bin/Singular-${S_VERSION}-static cd ${TMPDIR}/${SINGUNAME}/bin; \ ${LN_S} Singular-${S_VERSION}-static Singular cp COPYING ${TMPDIR}/Singular cat README.bin | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.bin cat README.general | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README.general cat INSTALL | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/INSTALL cd ${TMPDIR}; \ tar cf ${BINDIST_NAME}-static.tar ${SINGUNAME} Singular;\ gzip ${BINDIST_NAME}-static.tar cp ${TMPDIR}/${BINDIST_NAME}-static.tar.gz . rm -rf ${TMPDIR} infodist: rm -rf ${TMPDIR} ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/ cp `which info` ${TMPDIR}/${SINGUNAME}/bin/ -strip ${TMPDIR}/${SINGUNAME}/bin/info cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \ gzip info-${SINGUNAME}.tar cp ${TMPDIR}/info-${SINGUNAME}.tar.gz . rm -rf ${TMPDIR} ZIP = zip INSTALL = ./Singular/install-sh -c SH_PROGRAM = /bin/sh INFO_PROGRAM = /bin/info CYGWIN_DLL = /bin/cygwinb19.dll WIN_BINDIR = ${TMPDIR}/Singular/${S_VERSION} WIN_SHAREDIST_NAME = Singular-${SINGULAR_DOS_VERSION}-share windist: ${WIN_SHAREDIST_NAME}.tar.gz ${SINGULAR} cd Singular; ${MAKE} Singular-bindist libparse rm -rf ${TMPDIR} ${MKINSTALLDIRS} ${WIN_BINDIR} ${INSTALL} Singular/Singular-bindist ${WIN_BINDIR}/Singular.exe ${INSTALL} Singular/libparse ${WIN_BINDIR} ${INSTALL} ${SH_PROGRAM} ${WIN_BINDIR} ${INSTALL} ${INFO_PROGRAM} ${WIN_BINDIR} ${INSTALL} ${CYGWIN_DLL} ${WIN_BINDIR} cp ${WIN_SHAREDIST_NAME}.tar.gz ${TMPDIR} cd ${TMPDIR}; gunzip ${WIN_SHAREDIST_NAME}.tar.gz; \ tar xf ${WIN_SHAREDIST_NAME}.tar rm -rf ${TMPDIR}/info ${TMPDIR}/Singular/README.share cat INSTALL.win | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/INSTALL cat README.win | sed -e "s//${S_VERSION}/" > \ ${TMPDIR}/Singular/README cd ${TMPDIR}; \ ${ZIP} -r sing Singular cp ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip rm -rf ${TMPDIR} rpmdist: cd rpm; ${MAKE} rpm ############################################################## # stuff for configure Makefile : Makefile.in config.status CONFIG_FILES=Makefile ./config.status doc/Makefile: doc/Makefile.in config.status CONFIG_FILES=doc/Makefile ./config.status config.status: configure ./config.status --recheck configure: configure.in @echo "You need to rerun autoconf. I am proceeding, for now." @touch configure # autoconf #