[d246c4] | 1 | ################################################################# |
---|
| 2 | ### |
---|
| 3 | ### Top-level Makefile for Singular |
---|
| 4 | ### |
---|
| 5 | ### The main purpose of this Makefile is to call `make' |
---|
| 6 | ### recursively in the subdirectories determined at configuration |
---|
| 7 | ### time. |
---|
| 8 | ### |
---|
| 9 | ################################################################# |
---|
| 10 | |
---|
[3835a59] | 11 | @SET_MAKE@ |
---|
[6afd7c] | 12 | SHELL = /bin/sh |
---|
| 13 | |
---|
[3835a59] | 14 | SINGULAR = @SINGULAR@ |
---|
[fd4bde] | 15 | |
---|
[25177bb] | 16 | BUILD_SUBDIRS = @CONFIG_SUBDIRS@ @BUILD_SUBDIRS@ |
---|
[6afd7c] | 17 | SUBDIRS = @SUBDIRS@ |
---|
| 18 | |
---|
[3d8259] | 19 | PERL = @PERL@ |
---|
[f36635] | 20 | TMP_DIR = @TMP_DIR@ |
---|
[3d8259] | 21 | |
---|
[9bc556] | 22 | ############################################################## |
---|
[71364b] | 23 | # default target |
---|
| 24 | ${SINGULAR}: |
---|
[64c6d1] | 25 | ${MAKE} install |
---|
| 26 | |
---|
[3d8259] | 27 | ############################################################## |
---|
[9bc556] | 28 | # general targets |
---|
[71364b] | 29 | # simply descend for these targets |
---|
[3d8259] | 30 | .PHONY: all install uninstall |
---|
| 31 | |
---|
[f36635] | 32 | TEXINFO_TEX_FILES = epsf.tex texinfo.tex txi-cs.tex txi-de.tex txi-no.tex |
---|
| 33 | TEXINFO_TEX_DIR = Texinfo/doc |
---|
[3835a59] | 34 | all install uninstall: |
---|
| 35 | @ for SUBDIR in ${BUILD_SUBDIRS}; \ |
---|
[6afd7c] | 36 | do \ |
---|
[71364b] | 37 | echo ${MAKE} $@ in $${SUBDIR}; \ |
---|
[f36635] | 38 | ( cd $${SUBDIR} && ${MAKE} $@;); \ |
---|
| 39 | (if test "$${SUBDIR}" = Texinfo && test -d doc; then \ |
---|
| 40 | for FILE in ${TEXINFO_TEX_FILES}; \ |
---|
| 41 | do \ |
---|
| 42 | if test "$@" = uninstall; then\ |
---|
| 43 | echo rm -f doc/$${FILE};\ |
---|
| 44 | rm -f doc/$${FILE}; \ |
---|
| 45 | else \ |
---|
| 46 | echo cp ${TEXINFO_TEX_DIR}/$${FILE} doc; \ |
---|
| 47 | cp ${TEXINFO_TEX_DIR}/$${FILE} doc; \ |
---|
| 48 | fi; \ |
---|
| 49 | done;\ |
---|
| 50 | fi;); \ |
---|
[6afd7c] | 51 | done |
---|
| 52 | |
---|
[460c1e1] | 53 | install-doc: |
---|
| 54 | cd doc; make install |
---|
| 55 | |
---|
[3835a59] | 56 | ############################################################## |
---|
| 57 | # cleaning up |
---|
[3d8259] | 58 | .PHONY: local-clean local-distclean local-maintainer-clean \ |
---|
| 59 | clean distclean mostlyclean maintainer-clean |
---|
[3835a59] | 60 | |
---|
| 61 | # we use a canned sequence to avoid code redundancy |
---|
| 62 | define recurse |
---|
| 63 | @ for SUBDIR in ${SUBDIRS}; \ |
---|
| 64 | do \ |
---|
| 65 | echo ${MAKE} $@ in $${SUBDIR}; \ |
---|
| 66 | ( cd $${SUBDIR} && ${MAKE} $@; ) \ |
---|
| 67 | done |
---|
| 68 | endef |
---|
| 69 | |
---|
| 70 | local-clean: |
---|
| 71 | rm -rf *~ a.out core *.o *.log |
---|
| 72 | |
---|
| 73 | local-distclean: local-clean |
---|
[3d8259] | 74 | rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar |
---|
[3835a59] | 75 | |
---|
| 76 | local-maintainer-clean: local-distclean |
---|
| 77 | @ echo "This command is intended for maintainer use, only" |
---|
| 78 | rm -rf configure |
---|
| 79 | |
---|
[0e1eb3] | 80 | clean mostlyclean: local-clean |
---|
[3835a59] | 81 | $(recurse) |
---|
| 82 | |
---|
[0e1eb3] | 83 | distclean: local-distclean |
---|
[3835a59] | 84 | $(recurse) |
---|
| 85 | |
---|
| 86 | maintainer-clean: uninstall local-maintainer-clean |
---|
| 87 | $(recurse) |
---|
[6afd7c] | 88 | |
---|
[9bc556] | 89 | ############################################################## |
---|
[71364b] | 90 | # some extra targets for the specific packages |
---|
[3d8259] | 91 | .PHONY: factory libfac MP gmp smallgmp |
---|
| 92 | Singular factory libfac MP gmp smallgmp: |
---|
[1464283] | 93 | cd $@; ${MAKE} all |
---|
| 94 | |
---|
[9bc556] | 95 | ############################################################## |
---|
[71364b] | 96 | # documentation |
---|
[fe40293] | 97 | .PHONY: info dvi ps doc doc/singular.hlp html |
---|
[3d8259] | 98 | |
---|
[fe40293] | 99 | info dvi ps doc/singular.hlp html: ${SINGULAR} |
---|
[64c6d1] | 100 | cd doc; ${MAKE} $@ |
---|
| 101 | |
---|
[3835a59] | 102 | doc info/singular.hlp: |
---|
[64c6d1] | 103 | cd doc; ${MAKE} install |
---|
[0164d0] | 104 | |
---|
[9bc556] | 105 | ############################################################## |
---|
[3d8259] | 106 | # Tst targets |
---|
| 107 | .PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long |
---|
[9bc556] | 108 | Tst-All: Tst-Old Tst-Short Tst-Long |
---|
| 109 | |
---|
| 110 | Tst: Tst-Old Tst-Short |
---|
| 111 | |
---|
| 112 | Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd |
---|
[a7186ef] | 113 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst |
---|
[9bc556] | 114 | |
---|
| 115 | Tst-Short: ${SINGULAR} Tst/Short Tst/regress.cmd |
---|
[a7186ef] | 116 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/*.tst |
---|
[9bc556] | 117 | |
---|
| 118 | Tst-Long: ${SINGULAR} Tst/Short Tst/regress.cmd |
---|
[a7186ef] | 119 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/*.tst |
---|
[9bc556] | 120 | |
---|
| 121 | |
---|
[1124cc7] | 122 | |
---|
| 123 | |
---|
[fe40293] | 124 | ############################################################## |
---|
| 125 | # distribution targets |
---|
| 126 | LN_S = @LN_S@ |
---|
| 127 | MKINSTALLDIRS = ./mkinstalldirs |
---|
[f36635] | 128 | TMPDIR = ${TMP_DIR}/singdist |
---|
[fe40293] | 129 | SINGUNAME = @SINGUNAME@ |
---|
[1124cc7] | 130 | S_VERSION = $${SINGULAR_VERSION-@SINGULAR_VERSION@} |
---|
[6459a5] | 131 | BINDIR_NAME = Singular/${S_VERSION}/${SINGUNAME} |
---|
| 132 | LIBDIR_NAME = Singular/${S_VERSION}/LIB |
---|
| 133 | GFTABLESDIR_NAME= Singular/${S_VERSION}/LIB/gftables |
---|
| 134 | DOCDIR_NAME = Singular/${S_VERSION}/doc |
---|
| 135 | HTMLDIR_NAME = Singular/${S_VERSION}/html |
---|
| 136 | INFODIR_NAME = Singular/${S_VERSION}/info |
---|
[f36635] | 137 | |
---|
| 138 | BINDIST_NAME = Singular-${S_VERSION}-${SINGUNAME} |
---|
| 139 | SHAREDIST_NAME = Singular-${S_VERSION}-share |
---|
[af6a6b] | 140 | ZIP = zip |
---|
[1124cc7] | 141 | |
---|
| 142 | test_t: |
---|
| 143 | echo ${S_VERSION} |
---|
[fe40293] | 144 | |
---|
[49a3054] | 145 | .PHONY: sharedist bindist static-bindist infodist win-sharedist |
---|
[fe40293] | 146 | sharedist: ${SINGULAR} |
---|
[b36a60] | 147 | cd doc; ${MAKE} all ps |
---|
[af6a6b] | 148 | rm -rf ${TMPDIR}/ |
---|
[f36635] | 149 | ${MKINSTALLDIRS} ${TMPDIR}/${LIBDIR_NAME} |
---|
| 150 | ${MKINSTALLDIRS} ${TMPDIR}/${GFTABLESDIR_NAME} |
---|
| 151 | ${MKINSTALLDIRS} ${TMPDIR}/${DOCDIR_NAME} |
---|
| 152 | ${MKINSTALLDIRS} ${TMPDIR}/${HTMLDIR_NAME} |
---|
[6459a5] | 153 | ${MKINSTALLDIRS} ${TMPDIR}/${INFODIR_NAME} |
---|
[f36635] | 154 | cp Singular/LIB/*.lib ${TMPDIR}/${LIBDIR_NAME} |
---|
[6459a5] | 155 | rm -f ${TMPDIR}/${LIBDIR_NAME}/tst.lib |
---|
[f36635] | 156 | cp Singular/LIB/gftables/[0-9]* ${TMPDIR}/${GFTABLESDIR_NAME} |
---|
[6459a5] | 157 | cp doc/singular.idx doc/manual.ps doc/usercard.ps \ |
---|
| 158 | doc/manual.dvi doc/usercard.dvi \ |
---|
[f36635] | 159 | ${TMPDIR}/${DOCDIR_NAME} |
---|
[6459a5] | 160 | cp doc/singular.hlp ${TMPDIR}/${INFODIR_NAME} |
---|
[f36635] | 161 | cp -R doc/html/* ${TMPDIR}/${HTMLDIR_NAME} |
---|
[af6a6b] | 162 | chmod -R a+rX ${TMPDIR}/Singular |
---|
| 163 | cd ${TMPDIR}; \ |
---|
| 164 | ${ZIP} -r ${SHAREDIST_NAME} Singular; \ |
---|
| 165 | tar cf ${SHAREDIST_NAME}.tar Singular; gzip ${SHAREDIST_NAME}.tar |
---|
| 166 | mv ${TMPDIR}/${SHAREDIST_NAME}.zip ${TMPDIR}/${SHAREDIST_NAME}.tar.gz . |
---|
| 167 | rm -rf ${TMPDIR}/ |
---|
[fe40293] | 168 | |
---|
[49a3054] | 169 | |
---|
[fe40293] | 170 | bindist: ${SINGULAR} |
---|
[2afef4] | 171 | cd Singular; ${MAKE} Singular-$@ libparse |
---|
[fe40293] | 172 | rm -rf ${TMPDIR} |
---|
[f36635] | 173 | ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME} |
---|
| 174 | cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular |
---|
| 175 | cp Singular/libparse ${TMPDIR}/${BINDIR_NAME} |
---|
| 176 | -strip ${TMPDIR}/${BINDIR_NAME}/* |
---|
[85c8634] | 177 | cd ${TMPDIR}; chmod -R a+rX *;\ |
---|
[f36635] | 178 | tar cf ${BINDIST_NAME}.tar Singular; \ |
---|
[2afef4] | 179 | gzip ${BINDIST_NAME}.tar |
---|
[af6a6b] | 180 | mv ${TMPDIR}/${BINDIST_NAME}.tar.gz . |
---|
[fe40293] | 181 | rm -rf ${TMPDIR} |
---|
| 182 | |
---|
| 183 | static-bindist: ${SINGULAR} |
---|
[2afef4] | 184 | cd Singular; ${MAKE} Singular-$@ libparse |
---|
[fe40293] | 185 | rm -rf ${TMPDIR} |
---|
[f36635] | 186 | ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME} |
---|
| 187 | cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular-static |
---|
| 188 | cp Singular/libparse ${TMPDIR}/${BINDIR_NAME} |
---|
| 189 | -strip ${TMPDIR}/${BINDIR_NAME}/* |
---|
| 190 | cat INSTALL.unix | sed -e "s/<x-y-z>/${S_VERSION}/g" > \ |
---|
[ffc0b6] | 191 | ${TMPDIR}/Singular/INSTALL |
---|
[85c8634] | 192 | cd ${TMPDIR}; chmod -R a+rX *;\ |
---|
[f36635] | 193 | tar cf ${BINDIST_NAME}-static.tar Singular; \ |
---|
[2afef4] | 194 | gzip ${BINDIST_NAME}-static.tar |
---|
[af6a6b] | 195 | mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz . |
---|
[fe40293] | 196 | rm -rf ${TMPDIR} |
---|
| 197 | |
---|
[c6b432b] | 198 | infodist: |
---|
| 199 | rm -rf ${TMPDIR} |
---|
| 200 | ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/ |
---|
| 201 | cp `which info` ${TMPDIR}/${SINGUNAME}/bin/ |
---|
[616b1d] | 202 | -strip ${TMPDIR}/${SINGUNAME}/bin/info |
---|
[c6b432b] | 203 | cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \ |
---|
| 204 | gzip info-${SINGUNAME}.tar |
---|
[af6a6b] | 205 | mv ${TMPDIR}/info-${SINGUNAME}.tar.gz . |
---|
[c6b432b] | 206 | rm -rf ${TMPDIR} |
---|
[fe40293] | 207 | |
---|
[9fc0da] | 208 | INSTALL = ./Singular/install-sh -c |
---|
[2afef4] | 209 | SH_PROGRAM = /bin/sh |
---|
| 210 | INFO_PROGRAM = /bin/info |
---|
[af6a6b] | 211 | CYGWIN_DLL = /bin/cygwin1.dll |
---|
[2afef4] | 212 | |
---|
[af6a6b] | 213 | windist: ${SINGULAR} |
---|
[2afef4] | 214 | cd Singular; ${MAKE} Singular-bindist libparse |
---|
| 215 | rm -rf ${TMPDIR} |
---|
[f36635] | 216 | ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME} |
---|
| 217 | ${INSTALL} Singular/Singular-bindist \ |
---|
| 218 | ${TMPDIR}/${BINDIR_NAME}/Singular.exe |
---|
| 219 | ${INSTALL} Singular/libparse ${TMPDIR}/${BINDIR_NAME} |
---|
| 220 | ${INSTALL} ${SH_PROGRAM} ${TMPDIR}/${BINDIR_NAME} |
---|
| 221 | ${INSTALL} ${INFO_PROGRAM} ${TMPDIR}/${BINDIR_NAME} |
---|
| 222 | ${INSTALL} ${CYGWIN_DLL} ${TMPDIR}/${BINDIR_NAME} |
---|
[af6a6b] | 223 | cat INSTALL.win | sed -e "s/<x-y-z>/${S_VERSION}/g" > \ |
---|
[ffc0b6] | 224 | ${TMPDIR}/Singular/INSTALL |
---|
[85c8634] | 225 | cd ${TMPDIR}; chmod -R a+rX *;\ |
---|
[b98c7d] | 226 | ${ZIP} -r sing Singular |
---|
[af6a6b] | 227 | mv ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip |
---|
| 228 | rm -rf ${TMPDIR} |
---|
| 229 | srcdist: |
---|
| 230 | rm -rf ${TMPDIR} |
---|
| 231 | ${MKINSTALLDIRS} ${TMPDIR}/Singular-${S_VERSION} |
---|
| 232 | cd ${TMPDIR}/Singular-${S_VERSION}; cvs co All |
---|
| 233 | cd ${TMPDIR}; \ |
---|
| 234 | tar cf Singular-${S_VERSION}.tar Singular-${S_VERSION}; \ |
---|
| 235 | gzip Singular-${S_VERSION}.tar |
---|
| 236 | cp ${TMPDIR}/Singular-${S_VERSION}.tar.gz . |
---|
[1124cc7] | 237 | rm -rf ${TMPDIR} |
---|
[2afef4] | 238 | |
---|
[af6a6b] | 239 | # You can remeber the password with "iwd" == "ich war dabei" |
---|
| 240 | CRYPT = enigma # it does not seem to decrypt correctly with the HP crypt |
---|
| 241 | cryptdist: srcdist |
---|
| 242 | ${CRYPT} S-${S_VERSION}-iwd < Singular-${S_VERSION}.tar.gz > Singular-${S_VERSION}.tar.gz.crypt |
---|
| 243 | |
---|
| 244 | |
---|
[9bc556] | 245 | ############################################################## |
---|
[d246c4] | 246 | # stuff for configure |
---|
[9bc556] | 247 | Makefile : Makefile.in config.status |
---|
[d246c4] | 248 | CONFIG_FILES=Makefile ./config.status |
---|
| 249 | |
---|
| 250 | doc/Makefile: doc/Makefile.in config.status |
---|
| 251 | CONFIG_FILES=doc/Makefile ./config.status |
---|
[6afd7c] | 252 | |
---|
[71364b] | 253 | config.status: configure |
---|
[6afd7c] | 254 | ./config.status --recheck |
---|
| 255 | |
---|
| 256 | configure: configure.in |
---|
[5615cd9] | 257 | @echo "You need to rerun autoconf. I am proceeding, for now." |
---|
| 258 | @touch configure |
---|
[9e5e191] | 259 | # autoconf |
---|
| 260 | # |
---|