source: git/Makefile.in @ eb5966

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