source: git/Makefile.in @ f36635

spielwiese
Last change on this file since f36635 was f36635, checked in by Olaf Bachmann <obachman@…>, 25 years ago
* merged in changes from 1-2-3 git-svn-id: file:///usr/local/Singular/svn/trunk@3207 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 8.0 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@
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
53##############################################################
54# cleaning up
55.PHONY: local-clean local-distclean local-maintainer-clean \
56        clean distclean mostlyclean maintainer-clean
57
58# we use a canned sequence to avoid code redundancy
59define recurse
60@ for SUBDIR in ${SUBDIRS}; \
61do \
62  echo ${MAKE} $@ in $${SUBDIR}; \
63  ( cd $${SUBDIR} && ${MAKE} $@; ) \
64done
65endef
66
67local-clean:
68        rm -rf *~ a.out core *.o *.log
69
70local-distclean: local-clean
71        rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar
72
73local-maintainer-clean: local-distclean
74        @ echo "This command is intended for maintainer use, only"
75        rm -rf configure
76
77clean mostlyclean: local-clean
78        $(recurse)
79
80distclean: local-distclean
81        $(recurse)
82
83maintainer-clean: uninstall local-maintainer-clean
84        $(recurse)
85
86##############################################################
87# some extra targets for the specific packages
88.PHONY: factory libfac MP gmp smallgmp
89Singular factory libfac MP gmp smallgmp:
90        cd $@; ${MAKE} all
91
92##############################################################
93# documentation
94.PHONY: info dvi ps doc doc/singular.hlp html
95
96info dvi ps doc/singular.hlp html: ${SINGULAR}
97        cd doc; ${MAKE} $@
98
99doc info/singular.hlp:
100        cd doc; ${MAKE} install
101
102##############################################################
103# Tst targets
104.PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long
105Tst-All: Tst-Old Tst-Short Tst-Long
106
107Tst: Tst-Old Tst-Short
108
109Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd
110        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst
111
112Tst-Short: ${SINGULAR} Tst/Short Tst/regress.cmd
113        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/*.tst
114
115Tst-Long:  ${SINGULAR} Tst/Short Tst/regress.cmd
116        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/*.tst
117
118
119
120
121##############################################################
122# distribution targets
123LN_S            = @LN_S@
124MKINSTALLDIRS   = ./mkinstalldirs
125TMPDIR          = ${TMP_DIR}/singdist
126SINGUNAME       = @SINGUNAME@
127S_VERSION       = $${SINGULAR_VERSION-@SINGULAR_VERSION@}
128BINDIR_NAME     = Singular/${SINGUNAME}/${S_VERSION}
129LIBDIR_NAME     = Singular/LIB/${S_VERSION}
130GFTABLESDIR_NAME= Singular/LIB/gftables
131DOCDIR_NAME     = Singular/doc/${S_VERSION}
132HTMLDIR_NAME    = Singular/html/${S_VERSION}
133
134BINDIST_NAME    = Singular-${S_VERSION}-${SINGUNAME}
135SHAREDIST_NAME  = Singular-${S_VERSION}-share
136ZIP             = zip
137
138test_t:
139        echo ${S_VERSION}
140
141.PHONY: sharedist bindist static-bindist infodist win-sharedist
142sharedist: ${SINGULAR}
143        cd doc; ${MAKE} all ps
144        rm -rf ${TMPDIR}/
145        ${MKINSTALLDIRS} ${TMPDIR}/${LIBDIR_NAME}
146        ${MKINSTALLDIRS} ${TMPDIR}/${GFTABLESDIR_NAME}
147        ${MKINSTALLDIRS} ${TMPDIR}/${DOCDIR_NAME}
148        ${MKINSTALLDIRS} ${TMPDIR}/${HTMLDIR_NAME}
149        cp Singular/LIB/*.lib ${TMPDIR}/${LIBDIR_NAME}
150        rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/fastsolv.lib
151        rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/tst.lib
152        cp Singular/LIB/gftables/[0-9]* ${TMPDIR}/${GFTABLESDIR_NAME}
153        cp doc/singular.hlp doc/singular.ps doc/usercard.ps \
154           doc/singular.dvi doc/usercard.dvi \
155           ${TMPDIR}/${DOCDIR_NAME}
156        cp -R doc/html/* ${TMPDIR}/${HTMLDIR_NAME}
157        cat README.general | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
158                             ${TMPDIR}/Singular/README
159        cat COPYING | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
160                             ${TMPDIR}/Singular/COPYING
161        chmod -R  a+rX  ${TMPDIR}/Singular
162        cd ${TMPDIR}; \
163            ${ZIP} -r ${SHAREDIST_NAME} Singular; \
164            tar cf ${SHAREDIST_NAME}.tar Singular; gzip ${SHAREDIST_NAME}.tar
165        mv ${TMPDIR}/${SHAREDIST_NAME}.zip ${TMPDIR}/${SHAREDIST_NAME}.tar.gz .
166        rm -rf ${TMPDIR}/
167
168
169bindist: ${SINGULAR}
170        cd Singular; ${MAKE} Singular-$@ libparse
171        rm -rf ${TMPDIR}
172        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
173        cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular
174        cp Singular/libparse ${TMPDIR}/${BINDIR_NAME}
175        -strip ${TMPDIR}/${BINDIR_NAME}/*
176        cat INSTALL.unix | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
177                      ${TMPDIR}/Singular/INSTALL
178        cd ${TMPDIR}; chmod -R a+rX *;\
179           tar cf ${BINDIST_NAME}.tar Singular; \
180           gzip ${BINDIST_NAME}.tar
181        mv ${TMPDIR}/${BINDIST_NAME}.tar.gz .
182        rm -rf ${TMPDIR}
183
184static-bindist: ${SINGULAR}
185        cd Singular; ${MAKE} Singular-$@ libparse
186        rm -rf ${TMPDIR}
187        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
188        cp Singular/Singular-$@ ${TMPDIR}/${BINDIR_NAME}/Singular-static
189        cp Singular/libparse ${TMPDIR}/${BINDIR_NAME}
190        -strip ${TMPDIR}/${BINDIR_NAME}/*
191        cat INSTALL.unix | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
192                      ${TMPDIR}/Singular/INSTALL
193        cd ${TMPDIR}; chmod -R a+rX *;\
194           tar cf ${BINDIST_NAME}-static.tar Singular; \
195           gzip ${BINDIST_NAME}-static.tar
196        mv ${TMPDIR}/${BINDIST_NAME}-static.tar.gz .
197        rm -rf ${TMPDIR}
198
199infodist:
200        rm -rf ${TMPDIR}
201        ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/
202        cp `which info` ${TMPDIR}/${SINGUNAME}/bin/
203        -strip ${TMPDIR}/${SINGUNAME}/bin/info
204        cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \
205                      gzip info-${SINGUNAME}.tar
206        mv ${TMPDIR}/info-${SINGUNAME}.tar.gz .
207        rm -rf ${TMPDIR}
208
209INSTALL         = ./Singular/install-sh -c
210SH_PROGRAM      = /bin/sh
211INFO_PROGRAM    = /bin/info
212CYGWIN_DLL      = /bin/cygwin1.dll
213
214windist: ${SINGULAR}
215        cd Singular; ${MAKE} Singular-bindist libparse
216        rm -rf ${TMPDIR}
217        ${MKINSTALLDIRS} ${TMPDIR}/${BINDIR_NAME}
218        ${INSTALL} Singular/Singular-bindist \
219                   ${TMPDIR}/${BINDIR_NAME}/Singular.exe
220        ${INSTALL} Singular/libparse ${TMPDIR}/${BINDIR_NAME}
221        ${INSTALL} ${SH_PROGRAM} ${TMPDIR}/${BINDIR_NAME}
222        ${INSTALL} ${INFO_PROGRAM} ${TMPDIR}/${BINDIR_NAME}
223        ${INSTALL} ${CYGWIN_DLL} ${TMPDIR}/${BINDIR_NAME}
224        cat INSTALL.win | sed -e "s/<x-y-z>/${S_VERSION}/g" > \
225                         ${TMPDIR}/Singular/INSTALL
226        cd ${TMPDIR}; chmod -R a+rX *;\
227           ${ZIP} -r sing Singular
228        mv ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip
229        rm -rf ${TMPDIR}
230srcdist:
231        rm -rf ${TMPDIR}
232        ${MKINSTALLDIRS} ${TMPDIR}/Singular-${S_VERSION}
233        cd ${TMPDIR}/Singular-${S_VERSION}; cvs co All
234        cd  ${TMPDIR}; \
235        tar cf Singular-${S_VERSION}.tar Singular-${S_VERSION}; \
236        gzip Singular-${S_VERSION}.tar
237        cp ${TMPDIR}/Singular-${S_VERSION}.tar.gz .
238        rm -rf ${TMPDIR}
239
240# You can remeber the password with "iwd" == "ich war dabei"
241CRYPT   = enigma # it does not seem to decrypt correctly with the HP crypt
242cryptdist: srcdist
243        ${CRYPT} S-${S_VERSION}-iwd < Singular-${S_VERSION}.tar.gz > Singular-${S_VERSION}.tar.gz.crypt
244
245
246##############################################################
247# stuff for configure
248Makefile : Makefile.in config.status
249        CONFIG_FILES=Makefile ./config.status
250
251doc/Makefile: doc/Makefile.in config.status
252        CONFIG_FILES=doc/Makefile ./config.status
253
254config.status: configure
255        ./config.status --recheck
256
257configure: configure.in
258        @echo "You need to rerun autoconf. I am proceeding, for now."
259        @touch configure
260#       autoconf
261#
Note: See TracBrowser for help on using the repository browser.