=================================================================== RCS file: /home/cvs/OpenXM/misc/packages/Generic/openxm/Makefile,v retrieving revision 1.7 retrieving revision 1.20 diff -u -p -r1.7 -r1.20 --- OpenXM/misc/packages/Generic/openxm/Makefile 2000/03/10 03:20:26 1.7 +++ OpenXM/misc/packages/Generic/openxm/Makefile 2000/10/28 15:59:52 1.20 @@ -1,11 +1,17 @@ -# $OpenXM: OpenXM/misc/packages/Generic/openxm/Makefile,v 1.6 2000/03/06 09:01:09 takayama Exp $ -# This is a Makefile to generate source and binary distributions of -# the OpenXM package on various plathomes. +# $OpenXM: OpenXM/misc/packages/Generic/openxm/Makefile,v 1.19 2000/09/21 08:06:40 takayama Exp $ +# The FIRST part is a Makefile FOR COMMITTERS: it is used +# to generate source and binary distributions of +# the OpenXM package on various operating systems. +# If you add new directory under OpenXM/lib, edit SHARED_FILES. + +# If you add new files to be installed under /usr/local/bin, man, etc, +# you have to edit several files. See OpenXM/misc/packages/README. + ## For committers: prepare cvs-OpenXM under your search path ## to access to CVS servers. -RCVS=cvs-OpenXM -d kerberos.math.sci.kobe-u.ac.jp:/usr/cvs -### cvs-OpenXM is the following shell script +RCVS=cvs-OpenXM -d kerberos.math.sci.kobe-u.ac.jp:/home/cvs +### cvs-OpenXM is the following shell script in my case. ## #!/bin/sh ## CVS_RSH=ssh ## export CVS_RSH @@ -13,7 +19,10 @@ RCVS=cvs-OpenXM -d kerberos.math.sci.kobe-u.ac.jp:/usr ## Configurations. ## OpenXM Version Number. -VERSION=1.1.2 +PREFIX=/usr/local +VERSION=1.1.3 +TAG=HEAD +FTP_AREA=/export/home01/ftp/pub/OpenXM/${VERSION} RELEASE= ## If you like to have a release name as a part of tar ball, then uncomment @@ -22,78 +31,116 @@ RELEASE= TYPE=`uname -s`-`uname -m` +OpenXM_HOME=$(HOME)/OpenXM +TAR_WORK=$(HOME)/tmp +#TAR_WORK=${OpenXM_HOME}/misc/packages/Generic/openxm/work +INSTALL_WORK=${OpenXM_HOME}/misc/packages/Generic/openxm/work/openxm-install-dir + +### Variables for the real Makefile +### Variables should be set before the first target. +srcdir = . +prefix=${PREFIX} +MAN_DIR=${prefix}/man/man1 +WORK=work/openxm-${VERSION} +### End of variables for the real Makefile + ### Common SHARED_FILES = OpenXM/Copyright OpenXM/doc OpenXM/include OpenXM/man \ - OpenXM/rc \ OpenXM/lib/asir-contrib OpenXM/lib/java-support \ OpenXM/lib/k097 OpenXM/lib/math OpenXM/lib/pari \ OpenXM/lib/sm1 OpenXM/lib/asir -BINARY_FILES = OpenXM/bin OpenXM/lib/*.a OpenXM/lib/*.so* -OpenXM_BINARIES=gnuplot4ox gnuplot_x11 k0 ox ox_sm1 oxlog oxweave sm1 tigers +BINARY_FILES = OpenXM/bin OpenXM/lib/*.a OpenXM/lib/*.so* OpenXM/lib/*.a.* \ + OpenXM/rc +MAN_PAGES = openxm.1 sm1.1 -usage : +EXECUTABLES=gnuplot4ox gnuplot_x11 k0 ox ox_sm1 oxlog oxweave sm1 tigers ox_math + +usage : usage-of-real-make + @echo "--------------------------------------------------" + @echo "Usage for building distributions (for COMMITTERS):" @echo "Targets are " - @echo " fetch : get the sources from the cvs server under work" - @echo " tar-ball : generate OpenXM-source.tgz under work" - @echo " tar-ball-01 : generate OpenXM-source-01.tgz under work" - @echo " binary-tar-ball : generate OpenXM-binary-OS-CPU.tgz under work" + @echo " fetch : get the sources from the cvs server under $(WORK)" + @echo " tar-ball : generate openxm-${VERSION}.tar.gz under $(TAR_WORK)" + @echo " tar-ball-01 : generate openxm01-${VERSION}.tar.gz under $(TAR_WORK)" + @echo " binary-tar-ball : generate OpenXM-binary-OS-CPU.tgz under $(TAR_WORK)" + @echo " shared-tar-ball : generate OpenXM-shared.tgz under $(TAR_WORK)" + @echo " install-tar-to-ftp-area : copy openxm-${VERSION}.tar.gz to ${FTP_AREA}" + @echo " clean-work " + @echo " clean-for-make " + @echo "--------------------------------------------------" @echo -n "Type is " @echo $(TYPE) + @echo -n "INSTALL_WORK is " + @echo $(INSTALL_WORK) + @echo -n "TAR_WORK is " + @echo $(TAR_WORK) + @echo -n "FTP_AREA is " + @echo $(FTP_AREA) + @echo " " +### The SECOND part is a Makefile to build binaries from source. +### It only calls the Makefile at OpenXM/src. ### Start of Makefile to work in the directory work/openxm-$(VERSION) -### It does not work here. ### Original version is in misc/packages/FreeBSD/openxm-1.1.2 ### Absolute path should be used for TAR_WORK -TAR_WORK=$(HOME)/tmp -#TAR_WORK=`pwd`/work -INSTALL_WORK=`pwd`/work/openxm-install-dir -srcdir = . -prefix=${PREFIX} -MAN_DIR=${prefix}/man/man1 usage-of-real-make: - @echo "Targets are all, install, clean, distclean" - @echo "You need to specify the PREFIX to install," - @echo "e.g., make install PREFIX=/usr/local" + @echo "Usage for building OpenXM binaries (main Makefile is at OpenXM/src):" + @echo "Targets are " + @echo " configure, all, install, clean, distclean" + @echo "You need to specify the PREFIX to install, e.g., make install PREFIX=/usr/local" configure : - @if [ ! -f .configure_done ] ; then - (cd $(srcdir)/OpenXM/src ; make configure ) \ + @if [ ! -f .configure_done ] ; then \ + (cd $(srcdir)/OpenXM/src ; make configure ) ; \ fi @touch .configure_done all : configure @if [ ! -f .all_done ] ; then \ -# (cd $(srcdir)/OpenXM/src ; make ; make install) ; \ - (cd $(srcdir)/OpenXM/src ; make binary-dist) ; \ + (cd $(srcdir)/OpenXM/src ; make binary-dist) ; \ fi @touch .all_done +all-ideal : configure + @if [ ! -f .all_done ] ; then \ + (cd $(srcdir)/OpenXM/src ; make ; make install) ; \ + fi + @touch .all_done + install : install-binary-files install-shared-files + make install-shell-scripts PREFIX=${prefix} + +install-shell-scripts: # Install shell scripts to ${prefix}/bin, which is typically /usr/local/bin (cd ${prefix}/OpenXM/rc ; make ; make install PREFIX=${prefix}) + install-binary-files: all @echo "install-binary-files with PREFIX= " @echo ${prefix} tar cf - ${BINARY_FILES} | (cd ${prefix} ; tar xf -) - -for i in $(OpenXM_BINARIES); do strip ${prefix}/OpenXM/bin/$$i ; done + (cd ${prefix}/OpenXM/bin ; make clean-for-install) + -for i in $(EXECUTABLES); do strip ${prefix}/OpenXM/bin/$$i ; done install-shared-files: all @echo "install-binary-files with PREFIX= " @echo ${prefix} tar cf - ${SHARED_FILES} | (cd ${prefix} ; tar xf -) +install-man-pages-for-rpm: + -(cd ${prefix}/OpenXM/man/man1 ; cp $(MAN_PAGES) ${PREFIX}/man/man1) + install.man : install - -cp ${prefix}/OpenXM/man/man1/sm1.1 ${prefix}/OpenXM/man/man1/openxm.1 ${MAN_DIR} + -(cd ${prefix}/OpenXM/man/man1 ; cp ${MAN_PAGES} ${MAN_DIR}) -gzip ${MAN_DIR}/sm1.1 ${MAN_DIR}/openxm.1 clean : - cd $(srcdir)/OpenXM/src ; make clean + -(cd $(srcdir)/OpenXM/src ; make clean) rm -f .*_done* distclean : - cd $(srcdir)/OpenXM/src ; make distclean + -(cd $(srcdir)/OpenXM/src ; make distclean) rm -f .*_done* clean-installed-openxm: @@ -103,41 +150,63 @@ clean-installed-openxm: -WORK=work/openxm-${VERSION} fetch : @if [ ! -f ./.fetch_done ]; then \ - /bin/rm -rf work ; mkdir work ; mkdir $(WORK)\ - ( cd $(WORK) ; $(RCVS) export -rHEAD OpenXM OpenXM_contrib OpenXM_contrib2) ; \ - cp Makefile $(WORK)/Makefile ; \ + /bin/rm -rf work ; mkdir work ; mkdir ${WORK} ; \ + ( cd ${WORK} ; ${RCVS} export -r${TAG} OpenXM OpenXM_contrib OpenXM_contrib2) ; \ + cp Makefile ${WORK}/Makefile ; \ fi @touch ./.fetch_done -tar-ball: fetch - (cd $(WORK)/OpenXM/src ; make generate-source-distribution) - (cd work ; tar czvf $(TAR_WORK)/openxm-${VERSION}.tar.gz openxm-${VERSION}) +build-tar-work: + @if [ ! -d ${TAR_WORK} ]; then \ + mkdir ${TAR_WORK} ; \ + fi -tar-ball-01: fetch +build-ftp-area: + @if [ ! -d ${FTP_AREA} ]; then \ + mkdir ${FTP_AREA} ; \ + fi + +tar-ball: fetch build-tar-work + @if [ ! -f ./.tar-ball_done ]; then \ + cp Makefile ${WORK}/Makefile ; \ + (cd ${WORK}/OpenXM/src ; make generate-source-distribution) ; \ + (cd work ; tar czvf ${TAR_WORK}/openxm-${VERSION}.tar.gz openxm-${VERSION}) ; \ + fi + touch ./.tar-ball_done + +tar-ball-01: fetch build-tar-work @if [ ! -f ./.tar-ball-01_done ]; then \ - (cd $(WORK)/OpenXM/src ; make generate-source-distribution) ; \ - (cd work ; tar czvf $(TAR_WORK)/openxm01-${VERSION}.tar.gz openxm-${VERSION}/OpenXM openxm-${VERSION}/OpenXM_contrib ) ; \ + cp Makefile ${WORK}/Makefile ; \ + (cd ${WORK}/OpenXM/src ; make generate-source-distribution) ; \ + (cd work ; tar czvf ${TAR_WORK}/openxm01-${VERSION}.tar.gz openxm-${VERSION}/OpenXM openxm-${VERSION}/OpenXM_contrib ) ; \ fi @touch ./.tar-ball-01_done -binary-tar-ball : tar-ball-01 - rm -rf $(INSTALL_WORK) - mkdir $(INSTALL_WORK) $(INSTALL_WORK)/bin $(INSTALL_WORK)/man - mkdir $(INSTALL_WORK)/man/man1 - (cd $(WORK) ; make install-binary-files PREFIX=$(INSTALL_WORK)) - (cd $(WORK) ; tar czf $(TAR_WORK)/OpenXM-binary-$(TYPE)$(RELEASE).tgz ${BINARY_FILES}) +binary-tar-ball : fetch + cp Makefile ${WORK}/Makefile + rm -rf ${INSTALL_WORK} + mkdir ${INSTALL_WORK} ${INSTALL_WORK}/bin ${INSTALL_WORK}/man + mkdir ${INSTALL_WORK}/man/man1 + (cd ${WORK} ; make install-binary-files PREFIX=${INSTALL_WORK}) + (cd ${INSTALL_WORK} ; tar czf ${TAR_WORK}/OpenXM-binary-$(TYPE)$(RELEASE).tgz ${BINARY_FILES}) -share-tar-ball : tar-ball-01 - rm -rf $(INSTALL_WORK) - mkdir $(INSTALL_WORK) $(INSTALL_WORK)/bin $(INSTALL_WORK)/man - mkdir $(INSTALL_WORK)/man/man1 - (cd $(WORK) ; make install-shared-files PREFIX=$(INSTALL_WORK)) - (cd $(WORK) ; tar czf $(TAR_WORK)/OpenXM-common-$(TYPE)$(RELEASE).tgz ${SHARED_FILES}) +shared-tar-ball : fetch + cp Makefile ${WORK}/Makefile + rm -rf ${INSTALL_WORK} + mkdir ${INSTALL_WORK} ${INSTALL_WORK}/bin ${INSTALL_WORK}/man + mkdir ${INSTALL_WORK}/man/man1 + (cd ${WORK} ; make install-shared-files PREFIX=${INSTALL_WORK}) + (cd ${INSTALL_WORK} ; tar czf ${TAR_WORK}/OpenXM-shared.tgz ${SHARED_FILES}) +install-tar-to-ftp-area: build-ftp-area tar-ball + cp ${TAR_WORK}/openxm-${VERSION}.tar.gz ${FTP_AREA} -clean : +clean-work : /bin/rm -rf .*_done *~ - /bin/rm -rf work + /bin/rm -rf work work-fake + +clean-for-make: + (cd ${WORK} ; make distclean) + rm -f .configure_done .all_done