[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / OpenXM / misc / packages / Generic / openxm

File: [local] / OpenXM / misc / packages / Generic / openxm / Makefile (download)

Revision 1.7, Fri Mar 10 03:20:26 2000 UTC (24 years, 4 months ago) by takayama
Branch: MAIN
Changes since 1.6: +105 -38 lines

A new Makefile to generate OpenXM-binary-*.tgz and OpenXM-shared-*.tgz.
It has not yet tested and I will test it during the lunch time.
It takes 15 minutes for the full build!

# $OpenXM: OpenXM/misc/packages/Generic/openxm/Makefile,v 1.7 2000/03/10 03:20:26 takayama Exp $
# This is a Makefile to generate source and binary distributions of
# the OpenXM package on various plathomes.

## 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
## #!/bin/sh
## CVS_RSH=ssh
## export CVS_RSH
## cvs $*

## Configurations.
## OpenXM Version Number.
VERSION=1.1.2

RELEASE=
## If you like to have a release name as a part of tar ball, then uncomment
## the next line.
##RELEASE=`uname -a`

TYPE=`uname -s`-`uname -m`

### 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

usage :
	@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 -n "Type is "
	@echo $(TYPE)

### 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"

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) ; \
	fi
	@touch .all_done

install : install-binary-files install-shared-files
# 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

install-shared-files:  all
	@echo "install-binary-files with PREFIX= "
	@echo ${prefix}
	tar cf - ${SHARED_FILES} | (cd ${prefix} ; tar xf -)

install.man : install
	-cp ${prefix}/OpenXM/man/man1/sm1.1 ${prefix}/OpenXM/man/man1/openxm.1 ${MAN_DIR}
	-gzip ${MAN_DIR}/sm1.1 ${MAN_DIR}/openxm.1 

clean :
	cd $(srcdir)/OpenXM/src ; make clean
	rm -f .*_done*

distclean :
	cd $(srcdir)/OpenXM/src ; make distclean
	rm -f .*_done*

clean-installed-openxm:
	/bin/rm -rf ${prefix}/OpenXM

########### end of the real Makefile



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 ; \
	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})

tar-ball-01: fetch
	@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 ) ; \
	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})

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})


clean :
	/bin/rm -rf .*_done *~
	/bin/rm -rf work