[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 | |
---|
[aac46c] | 16 | BUILD_SUBDIRS = @BUILD_SUBDIRS@ |
---|
[6afd7c] | 17 | SUBDIRS = @SUBDIRS@ |
---|
| 18 | |
---|
[3d8259] | 19 | PERL = @PERL@ |
---|
[f36635] | 20 | TMP_DIR = @TMP_DIR@ |
---|
[9ead31] | 21 | MYGZIP = @MYGZIP@ |
---|
| 22 | GUNZIP = @GUNZIP@ |
---|
[3d8259] | 23 | |
---|
[9bc556] | 24 | ############################################################## |
---|
[71364b] | 25 | # default target |
---|
| 26 | ${SINGULAR}: |
---|
[64c6d1] | 27 | ${MAKE} install |
---|
| 28 | |
---|
[3d8259] | 29 | ############################################################## |
---|
[9bc556] | 30 | # general targets |
---|
[71364b] | 31 | # simply descend for these targets |
---|
[3d8259] | 32 | .PHONY: all install uninstall |
---|
| 33 | |
---|
[f36635] | 34 | TEXINFO_TEX_FILES = epsf.tex texinfo.tex txi-cs.tex txi-de.tex txi-no.tex |
---|
| 35 | TEXINFO_TEX_DIR = Texinfo/doc |
---|
[3835a59] | 36 | all install uninstall: |
---|
| 37 | @ for SUBDIR in ${BUILD_SUBDIRS}; \ |
---|
[6afd7c] | 38 | do \ |
---|
[71364b] | 39 | echo ${MAKE} $@ in $${SUBDIR}; \ |
---|
[f36635] | 40 | ( cd $${SUBDIR} && ${MAKE} $@;); \ |
---|
| 41 | (if test "$${SUBDIR}" = Texinfo && test -d doc; then \ |
---|
| 42 | for FILE in ${TEXINFO_TEX_FILES}; \ |
---|
| 43 | do \ |
---|
| 44 | if test "$@" = uninstall; then\ |
---|
| 45 | echo rm -f doc/$${FILE};\ |
---|
| 46 | rm -f doc/$${FILE}; \ |
---|
| 47 | else \ |
---|
| 48 | echo cp ${TEXINFO_TEX_DIR}/$${FILE} doc; \ |
---|
| 49 | cp ${TEXINFO_TEX_DIR}/$${FILE} doc; \ |
---|
| 50 | fi; \ |
---|
| 51 | done;\ |
---|
| 52 | fi;); \ |
---|
[6afd7c] | 53 | done |
---|
| 54 | |
---|
[460c1e1] | 55 | install-doc: |
---|
| 56 | cd doc; make install |
---|
| 57 | |
---|
[3835a59] | 58 | ############################################################## |
---|
| 59 | # cleaning up |
---|
[3d8259] | 60 | .PHONY: local-clean local-distclean local-maintainer-clean \ |
---|
| 61 | clean distclean mostlyclean maintainer-clean |
---|
[3835a59] | 62 | |
---|
| 63 | # we use a canned sequence to avoid code redundancy |
---|
| 64 | define recurse |
---|
| 65 | @ for SUBDIR in ${SUBDIRS}; \ |
---|
| 66 | do \ |
---|
| 67 | echo ${MAKE} $@ in $${SUBDIR}; \ |
---|
| 68 | ( cd $${SUBDIR} && ${MAKE} $@; ) \ |
---|
| 69 | done |
---|
| 70 | endef |
---|
| 71 | |
---|
| 72 | local-clean: |
---|
| 73 | rm -rf *~ a.out core *.o *.log |
---|
| 74 | |
---|
| 75 | local-distclean: local-clean |
---|
[3d8259] | 76 | rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar |
---|
[3835a59] | 77 | |
---|
| 78 | local-maintainer-clean: local-distclean |
---|
| 79 | @ echo "This command is intended for maintainer use, only" |
---|
| 80 | rm -rf configure |
---|
| 81 | |
---|
[0e1eb3] | 82 | clean mostlyclean: local-clean |
---|
[3835a59] | 83 | $(recurse) |
---|
| 84 | |
---|
[0e1eb3] | 85 | distclean: local-distclean |
---|
[3835a59] | 86 | $(recurse) |
---|
| 87 | |
---|
| 88 | maintainer-clean: uninstall local-maintainer-clean |
---|
| 89 | $(recurse) |
---|
[6afd7c] | 90 | |
---|
[9bc556] | 91 | ############################################################## |
---|
[71364b] | 92 | # some extra targets for the specific packages |
---|
[3d8259] | 93 | .PHONY: factory libfac MP gmp smallgmp |
---|
| 94 | Singular factory libfac MP gmp smallgmp: |
---|
[1464283] | 95 | cd $@; ${MAKE} all |
---|
| 96 | |
---|
[9bc556] | 97 | ############################################################## |
---|
[71364b] | 98 | # documentation |
---|
[fe40293] | 99 | .PHONY: info dvi ps doc doc/singular.hlp html |
---|
[3d8259] | 100 | |
---|
[fe40293] | 101 | info dvi ps doc/singular.hlp html: ${SINGULAR} |
---|
[64c6d1] | 102 | cd doc; ${MAKE} $@ |
---|
| 103 | |
---|
[3835a59] | 104 | doc info/singular.hlp: |
---|
[64c6d1] | 105 | cd doc; ${MAKE} install |
---|
[0164d0] | 106 | |
---|
[9bc556] | 107 | ############################################################## |
---|
[3d8259] | 108 | # Tst targets |
---|
| 109 | .PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long |
---|
[9bc556] | 110 | Tst-All: Tst-Old Tst-Short Tst-Long |
---|
| 111 | |
---|
| 112 | Tst: Tst-Old Tst-Short |
---|
| 113 | |
---|
| 114 | Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd |
---|
[a7186ef] | 115 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst |
---|
[9bc556] | 116 | |
---|
[6919b3] | 117 | Tst-Short: ${SINGULAR} Tst/Short/ok_s.lst Tst/regress.cmd |
---|
[0632984] | 118 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/ok_s.lst |
---|
[9bc556] | 119 | |
---|
[6919b3] | 120 | Tst-Long: ${SINGULAR} Tst/Long/ok_l.lst Tst/regress.cmd |
---|
[0632984] | 121 | ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/ok_l.lst |
---|
[9bc556] | 122 | |
---|
[fe40293] | 123 | ############################################################## |
---|
| 124 | # distribution targets |
---|
[4b72f6] | 125 | # |
---|
| 126 | S_VERSION = $${SINGULAR_VERSION-@SINGULAR_VERSION@} |
---|
| 127 | SINGUNAME = @SINGUNAME@ |
---|
| 128 | localdir = /usr/local |
---|
| 129 | install_prefix = ${localdir}/Singular/${S_VERSION} |
---|
| 130 | |
---|
[74d2017] | 131 | BINDIST_DIRS = kernel Singular doc IntegerProgramming |
---|
[60467b] | 132 | PLU_BINDIST_DIRS = ${BINDIST_DIRS} |
---|
[4b72f6] | 133 | SHAREDIST_DIRS = Singular doc emacs |
---|
[60467b] | 134 | PLU_SHAREDIST_DIRS = ${SHAREDIST_DIRS} |
---|
[4b72f6] | 135 | TMPDIR = ${TMP_DIR}/singdist |
---|
| 136 | |
---|
[fe40293] | 137 | LN_S = @LN_S@ |
---|
| 138 | MKINSTALLDIRS = ./mkinstalldirs |
---|
[643fbb] | 139 | |
---|
| 140 | BINDIST_NAME = Singular-${S_VERSION}-${SINGUNAME} |
---|
| 141 | PLU_BINDIST_NAME = SingularPlural-${S_VERSION}-${SINGUNAME} |
---|
| 142 | SHAREDIST_NAME = Singular-${S_VERSION}-share |
---|
| 143 | PLU_SHAREDIST_NAME = SingularPlural-${S_VERSION}-share |
---|
[4b72f6] | 144 | |
---|
| 145 | |
---|
[6919b3] | 146 | install-dist install-local: install-bindist install-sharedist |
---|
[4b72f6] | 147 | |
---|
| 148 | install-bindist: |
---|
| 149 | for DIR in ${BINDIST_DIRS}; \ |
---|
| 150 | do \ |
---|
[6993ab7] | 151 | if test -d $${DIR}; then \ |
---|
| 152 | (cd $${DIR}; ${MAKE} install-bindist install_prefix=${install_prefix});\ |
---|
| 153 | fi \ |
---|
[4b72f6] | 154 | done |
---|
| 155 | |
---|
[60467b] | 156 | install-bindist-plural: |
---|
| 157 | for DIR in ${PLU_BINDIST_DIRS}; \ |
---|
| 158 | do \ |
---|
| 159 | if test -d $${DIR}; then \ |
---|
| 160 | (cd $${DIR}; ${MAKE} install-bindist-plural install_prefix=${install_prefix});\ |
---|
| 161 | fi \ |
---|
| 162 | done |
---|
| 163 | |
---|
[4b72f6] | 164 | install-sharedist: ${SINGULAR} |
---|
| 165 | for DIR in ${SHAREDIST_DIRS}; \ |
---|
| 166 | do \ |
---|
| 167 | (cd $${DIR}; ${MAKE} install-sharedist install_prefix=${install_prefix}); \ |
---|
| 168 | done |
---|
| 169 | |
---|
[60467b] | 170 | install-sharedist-plural: ${SINGULAR} |
---|
| 171 | for DIR in ${PLU_SHAREDIST_DIRS}; \ |
---|
| 172 | do \ |
---|
| 173 | (cd $${DIR}; ${MAKE} install-sharedist-plural install_prefix=${install_prefix}); \ |
---|
| 174 | done |
---|
| 175 | |
---|
| 176 | dist: ${SHAREDIST_NAME}.tar.gz ${BINDIST_NAME}.tar.gz |
---|
[643fbb] | 177 | |
---|
[60467b] | 178 | dist-plural: ${PLU_SHAREDIST_NAME}.tar.gz ${PLU_BINDIST_NAME}.tar.gz |
---|
[4b72f6] | 179 | |
---|
[9ead31] | 180 | sharedist ${SHAREDIST_NAME}.tar.gz: |
---|
[ade34b] | 181 | if test -d ${TMPDIR}; then rm -rf ${TMPDIR}; fi |
---|
[4b72f6] | 182 | ${MAKE} install-sharedist localdir=${TMPDIR} |
---|
[263cde] | 183 | chmod -R a+rX ${TMPDIR} |
---|
[9ead31] | 184 | cd ${TMPDIR}; tar cf ${SHAREDIST_NAME}.tar Singular; ${MYGZIP} ${SHAREDIST_NAME}.tar |
---|
| 185 | mv ${TMPDIR}/${SHAREDIST_NAME}.tar.gz . |
---|
[4b72f6] | 186 | rm -rf ${TMPDIR} |
---|
| 187 | |
---|
[60467b] | 188 | sharedist-plural ${PLU_SHAREDIST_NAME}.tar.gz: |
---|
| 189 | if test -d ${TMPDIR}; then rm -rf ${TMPDIR}; fi |
---|
| 190 | ${MAKE} install-sharedist-plural localdir=${TMPDIR} |
---|
| 191 | chmod -R a+rX ${TMPDIR} |
---|
| 192 | cd ${TMPDIR}; tar cf ${SHAREDIST_NAME}.tar Singular; ${MYGZIP} ${SHAREDIST_NAME}.tar |
---|
| 193 | mv ${TMPDIR}/${SHAREDIST_NAME}.tar.gz . |
---|
| 194 | rm -rf ${TMPDIR} |
---|
| 195 | |
---|
[9ead31] | 196 | bindist ${BINDIST_NAME}.tar.gz: |
---|
[ade34b] | 197 | if test -d ${TMPDIR}; then rm -fr ${TMPDIR}; fi |
---|
[4b72f6] | 198 | ${MAKE} install-bindist localdir=${TMPDIR} |
---|
[263cde] | 199 | chmod -R a+rX ${TMPDIR} |
---|
[9ead31] | 200 | cd ${TMPDIR}; tar cf ${BINDIST_NAME}.tar Singular; ${MYGZIP} ${BINDIST_NAME}.tar |
---|
[be4505] | 201 | mv ${TMPDIR}/${BINDIST_NAME}.tar.gz . |
---|
[0fc04d] | 202 | rm -rf ${TMPDIR} |
---|
| 203 | |
---|
| 204 | static-bindist ${BINDIST_NAME}-static.tar.gz: |
---|
| 205 | if test -d ${TMPDIR}; then rm -fr ${TMPDIR}; fi |
---|
| 206 | ${MAKE} install-bindist localdir=${TMPDIR} LD_STATIC=1 |
---|
| 207 | chmod -R a+rX ${TMPDIR} |
---|
| 208 | cd ${TMPDIR}; tar cf ${BINDIST_NAME}-static.tar Singular; ${MYGZIP} ${BINDIST_NAME}-static.tar |
---|
| 209 | mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz . |
---|
[4b72f6] | 210 | rm -rf ${TMPDIR} |
---|
| 211 | |
---|
[60467b] | 212 | static-bindist-plural ${PLU_BINDIST_NAME}-static.tar.gz: |
---|
| 213 | if test -d ${TMPDIR}; then rm -fr ${TMPDIR}; fi |
---|
| 214 | ${MAKE} install-bindist-plural localdir=${TMPDIR} LD_STATIC=1 |
---|
| 215 | chmod -R a+rX ${TMPDIR} |
---|
| 216 | cd ${TMPDIR}; tar cf ${BINDIST_NAME}-static.tar Singular; ${MYGZIP} ${BINDIST_NAME}-static.tar |
---|
| 217 | mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz . |
---|
| 218 | rm -rf ${TMPDIR} |
---|
| 219 | |
---|
[6919b3] | 220 | install-root: |
---|
[43bcc5] | 221 | ${MKINSTALLDIRS} ${localdir}/bin |
---|
| 222 | ${LN_S} ${localdir}/Singular/${S_VERSION}/${SINGUNAME}/Singular ${localdir}/bin/Singular-${S_VERSION} |
---|
| 223 | ${LN_S} ${localdir}/Singular/${S_VERSION}/${SINGUNAME}/ESingular ${localdir}/bin/ESingular-${S_VERSION} |
---|
| 224 | |
---|
| 225 | |
---|
| 226 | |
---|
[9ead31] | 227 | ## |
---|
| 228 | ## old targets -- need to be updated |
---|
| 229 | ## |
---|
| 230 | |
---|
[6459a5] | 231 | BINDIR_NAME = Singular/${S_VERSION}/${SINGUNAME} |
---|
| 232 | LIBDIR_NAME = Singular/${S_VERSION}/LIB |
---|
| 233 | GFTABLESDIR_NAME= Singular/${S_VERSION}/LIB/gftables |
---|
| 234 | DOCDIR_NAME = Singular/${S_VERSION}/doc |
---|
| 235 | HTMLDIR_NAME = Singular/${S_VERSION}/html |
---|
| 236 | INFODIR_NAME = Singular/${S_VERSION}/info |
---|
[ba4643] | 237 | EMACSDIR_NAME = Singular/${S_VERSION}/emacs |
---|
[f36635] | 238 | |
---|
[af6a6b] | 239 | ZIP = zip |
---|
[1124cc7] | 240 | |
---|
| 241 | test_t: |
---|
| 242 | echo ${S_VERSION} |
---|
[fe40293] | 243 | |
---|
[49a3054] | 244 | .PHONY: sharedist bindist static-bindist infodist win-sharedist |
---|
[9ead31] | 245 | _static-bindist: ${SINGULAR} |
---|
[2afef4] | 246 | cd Singular; ${MAKE} Singular-$@ libparse |
---|
[fe40293] | 247 | rm -rf ${TMPDIR} |
---|
[f36635] | 248 | ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME} |
---|
| 249 | cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular-static |
---|
| 250 | cp Singular/libparse ${TMPDIR}/${BINDIR_NAME} |
---|
| 251 | -strip ${TMPDIR}/${BINDIR_NAME}/* |
---|
| 252 | cat INSTALL.unix | sed -e "s/<x-y-z>/${S_VERSION}/g" > \ |
---|
[ffc0b6] | 253 | ${TMPDIR}/Singular/INSTALL |
---|
[85c8634] | 254 | cd ${TMPDIR}; chmod -R a+rX *;\ |
---|
[f36635] | 255 | tar cf ${BINDIST_NAME}-static.tar Singular; \ |
---|
[9ead31] | 256 | ${MYGZIP} ${BINDIST_NAME}-static.tar |
---|
[af6a6b] | 257 | mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz . |
---|
[fe40293] | 258 | rm -rf ${TMPDIR} |
---|
| 259 | |
---|
[9ead31] | 260 | _infodist: |
---|
[c6b432b] | 261 | rm -rf ${TMPDIR} |
---|
| 262 | ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/ |
---|
| 263 | cp `which info` ${TMPDIR}/${SINGUNAME}/bin/ |
---|
[616b1d] | 264 | -strip ${TMPDIR}/${SINGUNAME}/bin/info |
---|
[c6b432b] | 265 | cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \ |
---|
[9ead31] | 266 | ${MYGZIP} info-${SINGUNAME}.tar |
---|
[af6a6b] | 267 | mv ${TMPDIR}/info-${SINGUNAME}.tar.gz . |
---|
[c6b432b] | 268 | rm -rf ${TMPDIR} |
---|
[fe40293] | 269 | |
---|
[9fc0da] | 270 | INSTALL = ./Singular/install-sh -c |
---|
[2afef4] | 271 | SH_PROGRAM = /bin/sh |
---|
| 272 | INFO_PROGRAM = /bin/info |
---|
[af6a6b] | 273 | CYGWIN_DLL = /bin/cygwin1.dll |
---|
[2afef4] | 274 | |
---|
[af6a6b] | 275 | windist: ${SINGULAR} |
---|
[a3705ae] | 276 | cd Singular; ${MAKE} install-bindist |
---|
[2afef4] | 277 | rm -rf ${TMPDIR} |
---|
[f36635] | 278 | ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME} |
---|
| 279 | ${INSTALL} Singular/Singular-bindist \ |
---|
| 280 | ${TMPDIR}/${BINDIR_NAME}/Singular.exe |
---|
| 281 | ${INSTALL} Singular/libparse ${TMPDIR}/${BINDIR_NAME} |
---|
| 282 | ${INSTALL} ${SH_PROGRAM} ${TMPDIR}/${BINDIR_NAME} |
---|
| 283 | ${INSTALL} ${INFO_PROGRAM} ${TMPDIR}/${BINDIR_NAME} |
---|
| 284 | ${INSTALL} ${CYGWIN_DLL} ${TMPDIR}/${BINDIR_NAME} |
---|
[af6a6b] | 285 | cat INSTALL.win | sed -e "s/<x-y-z>/${S_VERSION}/g" > \ |
---|
[ffc0b6] | 286 | ${TMPDIR}/Singular/INSTALL |
---|
[85c8634] | 287 | cd ${TMPDIR}; chmod -R a+rX *;\ |
---|
[b98c7d] | 288 | ${ZIP} -r sing Singular |
---|
[af6a6b] | 289 | mv ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip |
---|
| 290 | rm -rf ${TMPDIR} |
---|
| 291 | srcdist: |
---|
| 292 | rm -rf ${TMPDIR} |
---|
| 293 | ${MKINSTALLDIRS} ${TMPDIR}/Singular-${S_VERSION} |
---|
| 294 | cd ${TMPDIR}/Singular-${S_VERSION}; cvs co All |
---|
| 295 | cd ${TMPDIR}; \ |
---|
| 296 | tar cf Singular-${S_VERSION}.tar Singular-${S_VERSION}; \ |
---|
[9ead31] | 297 | ${MYGZIP} Singular-${S_VERSION}.tar |
---|
[af6a6b] | 298 | cp ${TMPDIR}/Singular-${S_VERSION}.tar.gz . |
---|
[1124cc7] | 299 | rm -rf ${TMPDIR} |
---|
[2afef4] | 300 | |
---|
[af6a6b] | 301 | # You can remeber the password with "iwd" == "ich war dabei" |
---|
| 302 | CRYPT = enigma # it does not seem to decrypt correctly with the HP crypt |
---|
| 303 | cryptdist: srcdist |
---|
| 304 | ${CRYPT} S-${S_VERSION}-iwd < Singular-${S_VERSION}.tar.gz > Singular-${S_VERSION}.tar.gz.crypt |
---|
| 305 | |
---|
| 306 | |
---|
[9bc556] | 307 | ############################################################## |
---|
[d246c4] | 308 | # stuff for configure |
---|
[9bc556] | 309 | Makefile : Makefile.in config.status |
---|
[d246c4] | 310 | CONFIG_FILES=Makefile ./config.status |
---|
| 311 | |
---|
| 312 | doc/Makefile: doc/Makefile.in config.status |
---|
| 313 | CONFIG_FILES=doc/Makefile ./config.status |
---|
[6afd7c] | 314 | |
---|
[71364b] | 315 | config.status: configure |
---|
[6afd7c] | 316 | ./config.status --recheck |
---|
| 317 | |
---|
| 318 | configure: configure.in |
---|
[5615cd9] | 319 | @echo "You need to rerun autoconf. I am proceeding, for now." |
---|
| 320 | @touch configure |
---|
[9e5e191] | 321 | # autoconf |
---|
| 322 | # |
---|