source: git/Makefile.in @ ade34b

jengelh-datetimespielwiese
Last change on this file since ade34b was ade34b, checked in by Hans Schönemann <hannes@…>, 23 years ago
*hannes: portability changes git-svn-id: file:///usr/local/Singular/svn/trunk@3968 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 9.6 KB
Line 
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
11@SET_MAKE@
12SHELL           = /bin/sh
13
14SINGULAR        = @SINGULAR@
15
16BUILD_SUBDIRS   = @CONFIG_SUBDIRS@ @BUILD_SUBDIRS@
17SUBDIRS         = @SUBDIRS@
18
19PERL            = @PERL@
20TMP_DIR         = @TMP_DIR@
21
22##############################################################
23# default target
24${SINGULAR}:
25        ${MAKE} install
26
27##############################################################
28# general targets
29# simply descend for these targets
30.PHONY: all install uninstall
31
32TEXINFO_TEX_FILES = epsf.tex texinfo.tex txi-cs.tex txi-de.tex txi-no.tex
33TEXINFO_TEX_DIR = Texinfo/doc
34all install uninstall:
35        @ for SUBDIR in ${BUILD_SUBDIRS}; \
36        do \
37          echo ${MAKE} $@ in $${SUBDIR}; \
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;); \
51        done
52
53install-doc:
54        cd doc; make install
55
56##############################################################
57# cleaning up
58.PHONY: local-clean local-distclean local-maintainer-clean \
59        clean distclean mostlyclean maintainer-clean
60
61# we use a canned sequence to avoid code redundancy
62define recurse
63@ for SUBDIR in ${SUBDIRS}; \
64do \
65  echo ${MAKE} $@ in $${SUBDIR}; \
66  ( cd $${SUBDIR} && ${MAKE} $@; ) \
67done
68endef
69
70local-clean:
71        rm -rf *~ a.out core *.o *.log
72
73local-distclean: local-clean
74        rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar
75
76local-maintainer-clean: local-distclean
77        @ echo "This command is intended for maintainer use, only"
78        rm -rf configure
79
80clean mostlyclean: local-clean
81        $(recurse)
82
83distclean: local-distclean
84        $(recurse)
85
86maintainer-clean: uninstall local-maintainer-clean
87        $(recurse)
88
89##############################################################
90# some extra targets for the specific packages
91.PHONY: factory libfac MP gmp smallgmp
92Singular factory libfac MP gmp smallgmp:
93        cd $@; ${MAKE} all
94
95##############################################################
96# documentation
97.PHONY: info dvi ps doc doc/singular.hlp html
98
99info dvi ps doc/singular.hlp html: ${SINGULAR}
100        cd doc; ${MAKE} $@
101
102doc info/singular.hlp:
103        cd doc; ${MAKE} install
104
105##############################################################
106# Tst targets
107.PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long
108Tst-All: Tst-Old Tst-Short Tst-Long
109
110Tst: Tst-Old Tst-Short
111
112Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd
113        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst
114
115Tst-Short: ${SINGULAR} Tst/Short Tst/regress.cmd
116        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/*.tst
117
118Tst-Long:  ${SINGULAR} Tst/Short Tst/regress.cmd
119        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/*.tst
120
121
122
123
124##############################################################
125# distribution targets
126#
127S_VERSION       = $${SINGULAR_VERSION-@SINGULAR_VERSION@}
128SINGUNAME       = @SINGUNAME@
129localdir        = /usr/local
130install_prefix  = ${localdir}/Singular/${S_VERSION}
131
132BINDIST_DIRS    = Singular doc
133SHAREDIST_DIRS  = Singular doc emacs
134TMPDIR          = ${TMP_DIR}/singdist
135
136LN_S            = @LN_S@
137MKINSTALLDIRS   = ./mkinstalldirs
138BINDIST_NAME    = Singular-${S_VERSION}-${SINGUNAME}
139SHAREDIST_NAME  = Singular-${S_VERSION}-share
140
141
142install-dist: install-bindist install-sharedist
143
144install-bindist:
145        for DIR in ${BINDIST_DIRS}; \
146        do \
147          (cd $${DIR}; ${MAKE} install-bindist install_prefix=${install_prefix});\
148        done
149
150install-sharedist: ${SINGULAR}
151        for DIR in ${SHAREDIST_DIRS}; \
152        do \
153          (cd $${DIR}; ${MAKE} install-sharedist install_prefix=${install_prefix}); \
154        done
155
156dist: ${SHAREDIST_NAME}.tgz  ${BINDIST_NAME}.tgz
157
158sharedist ${SHAREDIST_NAME}.tgz:
159        if test -d ${TMPDIR}; then rm -rf ${TMPDIR}; fi
160        ${MAKE} install-sharedist localdir=${TMPDIR}
161        cd ${TMPDIR}; tar cf - Singular| gzip -c > ${SHAREDIST_NAME}.tgz
162        mv ${TMPDIR}/${SHAREDIST_NAME}.tgz .
163        rm -rf ${TMPDIR}
164
165bindist ${BINDIST_NAME}.tgz:
166        if test -d ${TMPDIR}; then rm -fr ${TMPDIR}; fi
167        ${MAKE} install-bindist localdir=${TMPDIR}
168        cd ${TMPDIR}; tar cf - Singular | gzip -c > ${BINDIST_NAME}.tgz
169        mv ${TMPDIR}/Singular-${S_VERSION}-${SINGUNAME}.tgz .
170        rm -rf ${TMPDIR}
171
172install-local-dist: ${SHAREDIST_NAME}.tgz ${BINDIST_NAME}.tgz
173        cp ${SHAREDIST_NAME}.tgz ${BINDIST_NAME}.tgz ${localdir}
174        cd ${localdir}
175        gunzip -c ${SHAREDIST_NAME}.tgz | tar xf -
176        gunzip -c ${BINDIST_NAME}.tgz | tar xf -
177        rm -rf ${localdir}/${SHAREDIST_NAME}.tgz ${localdir}/${BINDIST_NAME}.tgz
178        ${MKINSTALLDIRS} ${localdir}/bin
179        ${LN_S} ${localdir}/Singular/${S_VERSION}/${SINGUNAME}/Singular ${localdir}/bin/Singular-${S_VERSION}
180        ${LN_S} ${localdir}/Singular/${S_VERSION}/${SINGUNAME}/ESingular ${localdir}/bin/ESingular-${S_VERSION}
181
182
183
184BINDIR_NAME     = Singular/${S_VERSION}/${SINGUNAME}
185LIBDIR_NAME     = Singular/${S_VERSION}/LIB
186GFTABLESDIR_NAME= Singular/${S_VERSION}/LIB/gftables
187DOCDIR_NAME     = Singular/${S_VERSION}/doc
188HTMLDIR_NAME    = Singular/${S_VERSION}/html
189INFODIR_NAME    = Singular/${S_VERSION}/info
190EMACSDIR_NAME   = Singular/${S_VERSION}/emacs
191
192ZIP             = zip
193
194test_t:
195        echo ${S_VERSION}
196
197.PHONY: sharedist bindist static-bindist infodist win-sharedist
198_sharedist: ${SINGULAR}
199        cd doc; ${MAKE} all ps
200        cd emacs; ${MAKE} all
201        rm -rf ${TMPDIR}/
202        ${MKINSTALLDIRS} ${TMPDIR}/${LIBDIR_NAME}
203        ${MKINSTALLDIRS} ${TMPDIR}/${GFTABLESDIR_NAME}
204        ${MKINSTALLDIRS} ${TMPDIR}/${DOCDIR_NAME}
205        ${MKINSTALLDIRS} ${TMPDIR}/${HTMLDIR_NAME}
206        ${MKINSTALLDIRS} ${TMPDIR}/${INFODIR_NAME}
207        ${MKINSTALLDIRS} ${TMPDIR}/${EMACSDIR_NAME}
208        cp Singular/LIB/*.lib ${TMPDIR}/${LIBDIR_NAME}
209        rm -f ${TMPDIR}/${LIBDIR_NAME}/tst.lib
210        cp Singular/LIB/gftables/[0-9]* ${TMPDIR}/${GFTABLESDIR_NAME}
211        cp doc/singular.idx doc/manual.ps doc/usercard.ps \
212           doc/manual.dvi doc/usercard.dvi \
213           ${TMPDIR}/${DOCDIR_NAME}
214        cp doc/singular.hlp ${TMPDIR}/${INFODIR_NAME}
215        cp -R doc/html/* ${TMPDIR}/${HTMLDIR_NAME}
216        cp emacs/*.el ${TMPDIR}/${EMACSDIR_NAME}
217        cp emacs/.emacs-singular ${TMPDIR}/${EMACSDIR_NAME}
218        chmod -R  a+rX  ${TMPDIR}/Singular
219        cd ${TMPDIR}; \
220            ${ZIP} -r ${SHAREDIST_NAME} Singular; \
221            tar cf ${SHAREDIST_NAME}.tar Singular; gzip ${SHAREDIST_NAME}.tar
222        mv ${TMPDIR}/${SHAREDIST_NAME}.zip ${TMPDIR}/${SHAREDIST_NAME}.tar.gz .
223        rm -rf ${TMPDIR}/
224
225
226_bindist: ${SINGULAR}
227        cd Singular; ${MAKE} Singular-$@ libparse
228        rm -rf ${TMPDIR}
229        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
230        cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular
231        cp Singular/ESingular ${TMPDIR}/${BINDIR_NAME}/ESingular
232        cp Singular/libparse ${TMPDIR}/${BINDIR_NAME}
233        -strip ${TMPDIR}/${BINDIR_NAME}/*
234        cd ${TMPDIR}; chmod -R a+rX *;\
235           tar cf ${BINDIST_NAME}.tar Singular; \
236           gzip ${BINDIST_NAME}.tar
237        mv ${TMPDIR}/${BINDIST_NAME}.tar.gz .
238        rm -rf ${TMPDIR}
239
240static-bindist: ${SINGULAR}
241        cd Singular; ${MAKE} Singular-$@ libparse
242        rm -rf ${TMPDIR}
243        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
244        cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular-static
245        cp Singular/libparse ${TMPDIR}/${BINDIR_NAME}
246        -strip ${TMPDIR}/${BINDIR_NAME}/*
247        cat INSTALL.unix | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
248                      ${TMPDIR}/Singular/INSTALL
249        cd ${TMPDIR}; chmod -R a+rX *;\
250           tar cf ${BINDIST_NAME}-static.tar Singular; \
251           gzip ${BINDIST_NAME}-static.tar
252        mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz .
253        rm -rf ${TMPDIR}
254
255infodist:
256        rm -rf ${TMPDIR}
257        ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/
258        cp `which info` ${TMPDIR}/${SINGUNAME}/bin/
259        -strip ${TMPDIR}/${SINGUNAME}/bin/info
260        cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \
261                      gzip info-${SINGUNAME}.tar
262        mv ${TMPDIR}/info-${SINGUNAME}.tar.gz .
263        rm -rf ${TMPDIR}
264
265INSTALL         = ./Singular/install-sh -c
266SH_PROGRAM      = /bin/sh
267INFO_PROGRAM    = /bin/info
268CYGWIN_DLL      = /bin/cygwin1.dll
269
270windist: ${SINGULAR}
271        cd Singular; ${MAKE} Singular-bindist libparse
272        rm -rf ${TMPDIR}
273        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
274        ${INSTALL} Singular/Singular-bindist \
275                   ${TMPDIR}/${BINDIR_NAME}/Singular.exe
276        ${INSTALL} Singular/libparse ${TMPDIR}/${BINDIR_NAME}
277        ${INSTALL} ${SH_PROGRAM} ${TMPDIR}/${BINDIR_NAME}
278        ${INSTALL} ${INFO_PROGRAM} ${TMPDIR}/${BINDIR_NAME}
279        ${INSTALL} ${CYGWIN_DLL} ${TMPDIR}/${BINDIR_NAME}
280        cat INSTALL.win | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
281                         ${TMPDIR}/Singular/INSTALL
282        cd ${TMPDIR}; chmod -R a+rX *;\
283           ${ZIP} -r sing Singular
284        mv ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip
285        rm -rf ${TMPDIR}
286srcdist:
287        rm -rf ${TMPDIR}
288        ${MKINSTALLDIRS} ${TMPDIR}/Singular-${S_VERSION}
289        cd ${TMPDIR}/Singular-${S_VERSION}; cvs co All
290        cd  ${TMPDIR}; \
291        tar cf Singular-${S_VERSION}.tar Singular-${S_VERSION}; \
292        gzip Singular-${S_VERSION}.tar
293        cp ${TMPDIR}/Singular-${S_VERSION}.tar.gz .
294        rm -rf ${TMPDIR}
295
296# You can remeber the password with "iwd" == "ich war dabei"
297CRYPT   = enigma # it does not seem to decrypt correctly with the HP crypt
298cryptdist: srcdist
299        ${CRYPT} S-${S_VERSION}-iwd < Singular-${S_VERSION}.tar.gz > Singular-${S_VERSION}.tar.gz.crypt
300
301
302##############################################################
303# stuff for configure
304Makefile : Makefile.in config.status
305        CONFIG_FILES=Makefile ./config.status
306
307doc/Makefile: doc/Makefile.in config.status
308        CONFIG_FILES=doc/Makefile ./config.status
309
310config.status: configure
311        ./config.status --recheck
312
313configure: configure.in
314        @echo "You need to rerun autoconf. I am proceeding, for now."
315        @touch configure
316#       autoconf
317#
Note: See TracBrowser for help on using the repository browser.