source: git/Makefile.in @ 63be42

fieker-DuValspielwiese
Last change on this file since 63be42 was 03ba9f, checked in by Kai Krüger <krueger@…>, 26 years ago
Modified Files: Makefile.in configure.in Added Files: rpm/Makefile.in rpm/Singular.spec.in rpm/rpmrc.in Added support for creating binary-rpms of Singular git-svn-id: file:///usr/local/Singular/svn/trunk@2344 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 8.2 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@
20
21##############################################################
22# default target
23${SINGULAR}:
24        ${MAKE} install
25
26##############################################################
27# general targets
28# simply descend for these targets
29.PHONY: all install uninstall
30
31all install uninstall:
32        @ for SUBDIR in ${BUILD_SUBDIRS}; \
33        do \
34          echo ${MAKE} $@ in $${SUBDIR}; \
35          ( cd $${SUBDIR} && ${MAKE} $@; ) \
36        done
37
38##############################################################
39# cleaning up
40.PHONY: local-clean local-distclean local-maintainer-clean \
41        clean distclean mostlyclean maintainer-clean
42
43# we use a canned sequence to avoid code redundancy
44define recurse
45@ for SUBDIR in ${SUBDIRS}; \
46do \
47  echo ${MAKE} $@ in $${SUBDIR}; \
48  ( cd $${SUBDIR} && ${MAKE} $@; ) \
49done
50endef
51
52local-clean:
53        rm -rf *~ a.out core *.o *.log
54
55local-distclean: local-clean
56        rm -rf Makefile config.cache config.log config.status TAGS* *.gz *.tar
57
58local-maintainer-clean: local-distclean
59        @ echo "This command is intended for maintainer use, only"
60        rm -rf configure
61
62clean mostlyclean: local-clean
63        $(recurse)
64
65distclean: local-distclean
66        $(recurse)
67
68maintainer-clean: uninstall local-maintainer-clean
69        $(recurse)
70
71##############################################################
72# some extra targets for the specific packages
73.PHONY: factory libfac MP gmp smallgmp
74Singular factory libfac MP gmp smallgmp:
75        cd $@; ${MAKE} all
76
77##############################################################
78# documentation
79.PHONY: info dvi ps doc doc/singular.hlp html
80
81info dvi ps doc/singular.hlp html: ${SINGULAR}
82        cd doc; ${MAKE} $@
83
84doc info/singular.hlp:
85        cd doc; ${MAKE} install
86
87##############################################################
88# Tst targets
89.PHONY: Tst-All Tst Tst-Old Tst-Short Tst-Long
90Tst-All: Tst-Old Tst-Short Tst-Long
91
92Tst: Tst-Old Tst-Short
93
94Tst-Old: ${SINGULAR} Tst/Old/universal.lst Tst/regress.cmd
95        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Old/universal.lst
96
97Tst-Short: ${SINGULAR} Tst/Short Tst/regress.cmd
98        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Short/*.tst
99
100Tst-Long:  ${SINGULAR} Tst/Short Tst/regress.cmd
101        ${PERL} Tst/regress.cmd -r -s ${SINGULAR} Tst/Long/*.tst
102
103
104
105
106##############################################################
107# distribution targets
108LN_S            = @LN_S@
109MKINSTALLDIRS   = ./mkinstalldirs
110TMPDIR          = /tmp/singdist
111SINGUNAME       = @SINGUNAME@
112S_VERSION       = $${SINGULAR_VERSION-@SINGULAR_VERSION@}
113SINGULAR_DOS_VERSION = @SINGULAR_DOS_VERSION@
114DISTROOT_NAME   = Singular-${S_VERSION}
115BINDIST_NAME    = ${DISTROOT_NAME}-${SINGUNAME}
116SHAREDIST_NAME  = ${DISTROOT_NAME}-share
117
118test_t:
119        echo ${S_VERSION}
120
121.PHONY: sharedist bindist static-bindist infodist win-sharedist
122sharedist: ${SINGULAR}
123        cd doc; ${MAKE} all ps
124        rm -rf ${TMPDIR}
125        ${MKINSTALLDIRS} ${TMPDIR}/Singular/LIB/${S_VERSION}
126        ${MKINSTALLDIRS} ${TMPDIR}/Singular/doc/${S_VERSION}
127        ${MKINSTALLDIRS} ${TMPDIR}/Singular/html/${S_VERSION}
128        ${MKINSTALLDIRS} ${TMPDIR}/info
129        ${MKINSTALLDIRS} ${TMPDIR}/Singular/LIB/gftables
130        cp Singular/LIB/*.lib ${TMPDIR}/Singular/LIB/${S_VERSION}
131        rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/fastsolv.lib
132        rm -f ${TMPDIR}/Singular/LIB/${S_VERSION}/tst.lib
133        cp Singular/LIB/gftables/[0-9]* ${TMPDIR}/Singular/LIB/gftables
134        cd ${TMPDIR}/Singular/LIB/${S_VERSION}; \
135                ${LN_S} ../gftables .
136        cp doc/singular.hlp doc/singular.ps doc/usercard.ps \
137           doc/singular.dvi doc/usercard.dvi \
138           ${TMPDIR}/Singular/doc/${S_VERSION}
139        cp -R doc/html/* ${TMPDIR}/Singular/html/${S_VERSION}
140        cd ${TMPDIR}/info; \
141        ${LN_S} ../Singular/doc/${S_VERSION}/singular.hlp .
142        cat README.share | sed -e "s/<x.y.z>/${S_VERSION}/" > \
143                           ${TMPDIR}/Singular/README.share
144        cat README.general | sed -e "s/<x.y.z>/${S_VERSION}/" > \
145                             ${TMPDIR}/Singular/README.general
146        cp COPYING ${TMPDIR}/Singular
147        cd ${TMPDIR}; \
148           tar -cf sing.tar Singular info; \
149           gzip sing.tar
150        cp ${TMPDIR}/sing.tar.gz ${SHAREDIST_NAME}.tar.gz
151        rm -rf ${TMPDIR}
152
153win-sharedist:
154        export SINGULAR_VERSION=${SINGULAR_DOS_VERSION} && ${MAKE} sharedist
155
156bindist: ${SINGULAR}
157        cd Singular; ${MAKE} Singular-$@ libparse
158        rm -rf ${TMPDIR}
159        ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/
160        ${MKINSTALLDIRS} ${TMPDIR}/Singular
161        cp Singular/Singular-$@ \
162           ${TMPDIR}/${SINGUNAME}/bin/Singular-${S_VERSION}
163        cd ${TMPDIR}/${SINGUNAME}/bin; \
164           ${LN_S} Singular-${S_VERSION} Singular
165        cp Singular/libparse ${TMPDIR}/${SINGUNAME}/bin/
166        -strip ${TMPDIR}/${SINGUNAME}/bin/*
167        cp COPYING ${TMPDIR}/Singular
168        cat README.bin | sed -e "s/<x.y.z>/${S_VERSION}/" > \
169                         ${TMPDIR}/Singular/README.bin
170        cat README.general | sed -e "s/<x.y.z>/${S_VERSION}/" > \
171                             ${TMPDIR}/Singular/README.general
172        cat INSTALL | sed -e "s/<x.y.z>/${S_VERSION}/" > \
173                      ${TMPDIR}/Singular/INSTALL
174        cd ${TMPDIR}; \
175           tar cf ${BINDIST_NAME}.tar ${SINGUNAME} Singular; \
176           gzip ${BINDIST_NAME}.tar
177        cp ${TMPDIR}/${BINDIST_NAME}.tar.gz .
178        rm -rf ${TMPDIR}
179
180static-bindist: ${SINGULAR}
181        cd Singular; ${MAKE} Singular-$@ libparse
182        rm -rf ${TMPDIR}
183        ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/
184        ${MKINSTALLDIRS} ${TMPDIR}/Singular
185        cp Singular/Singular-$@ \
186           ${TMPDIR}/${SINGUNAME}/bin/Singular-${S_VERSION}-static
187        cd ${TMPDIR}/${SINGUNAME}/bin;  \
188           ${LN_S} Singular-${S_VERSION}-static Singular
189        cp COPYING ${TMPDIR}/Singular
190        cat README.bin | sed -e "s/<x.y.z>/${S_VERSION}/" > \
191                         ${TMPDIR}/Singular/README.bin
192        cat README.general | sed -e "s/<x.y.z>/${S_VERSION}/" > \
193                             ${TMPDIR}/Singular/README.general
194        cat INSTALL | sed -e "s/<x.y.z>/${S_VERSION}/" > \
195                      ${TMPDIR}/Singular/INSTALL
196        cd ${TMPDIR}; \
197           tar cf ${BINDIST_NAME}-static.tar ${SINGUNAME} Singular;\
198           gzip ${BINDIST_NAME}-static.tar
199        cp ${TMPDIR}/${BINDIST_NAME}-static.tar.gz .
200        rm -rf ${TMPDIR}
201
202infodist:
203        rm -rf ${TMPDIR}
204        ${MKINSTALLDIRS} ${TMPDIR}/${SINGUNAME}/bin/
205        cp `which info` ${TMPDIR}/${SINGUNAME}/bin/
206        -strip ${TMPDIR}/${SINGUNAME}/bin/info
207        cd ${TMPDIR}; tar cf info-${SINGUNAME}.tar ${SINGUNAME}; \
208                      gzip info-${SINGUNAME}.tar
209        cp ${TMPDIR}/info-${SINGUNAME}.tar.gz .
210        rm -rf ${TMPDIR}
211
212ZIP             = zip
213INSTALL         = ./Singular/install-sh -c
214SH_PROGRAM      = /bin/sh
215INFO_PROGRAM    = /bin/info
216CYGWIN_DLL      = /bin/cygwinb19.dll
217WIN_BINDIR      = ${TMPDIR}/Singular/${S_VERSION}
218WIN_SHAREDIST_NAME = Singular-${SINGULAR_DOS_VERSION}-share
219
220windist: ${WIN_SHAREDIST_NAME}.tar.gz ${SINGULAR}
221        cd Singular; ${MAKE} Singular-bindist libparse
222        rm -rf ${TMPDIR}
223        ${MKINSTALLDIRS} ${WIN_BINDIR}
224        ${INSTALL} Singular/Singular-bindist ${WIN_BINDIR}/Singular.exe
225        ${INSTALL} Singular/libparse ${WIN_BINDIR}
226        ${INSTALL} ${SH_PROGRAM} ${WIN_BINDIR}
227        ${INSTALL} ${INFO_PROGRAM} ${WIN_BINDIR}
228        ${INSTALL} ${CYGWIN_DLL} ${WIN_BINDIR}
229        cp  ${WIN_SHAREDIST_NAME}.tar.gz ${TMPDIR}
230        cd ${TMPDIR}; gunzip ${WIN_SHAREDIST_NAME}.tar.gz; \
231                      tar xf ${WIN_SHAREDIST_NAME}.tar
232        rm -rf ${TMPDIR}/info ${TMPDIR}/Singular/README.share
233        cat INSTALL.win | sed -e "s/<x.y.z>/${S_VERSION}/" > \
234                         ${TMPDIR}/Singular/INSTALL
235        cat README.win | sed -e "s/<x.y.z>/${S_VERSION}/" > \
236                         ${TMPDIR}/Singular/README
237        cd ${TMPDIR}; \
238           ${ZIP} -r sing Singular
239        cp ${TMPDIR}/sing.zip Singular-${S_VERSION}-${SINGUNAME}.zip
240        rm -rf ${TMPDIR}
241
242rpmdist:
243        cd rpm; ${MAKE} rpm
244
245##############################################################
246# stuff for configure
247Makefile : Makefile.in config.status
248        CONFIG_FILES=Makefile ./config.status
249
250doc/Makefile: doc/Makefile.in config.status
251        CONFIG_FILES=doc/Makefile ./config.status
252
253config.status: configure
254        ./config.status --recheck
255
256configure: configure.in
257        @echo "You need to rerun autoconf. I am proceeding, for now."
258        @touch configure
259#       autoconf
260#
Note: See TracBrowser for help on using the repository browser.