[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / OpenXM / rc

File: [local] / OpenXM / rc / Makefile (download)

Revision 1.24, Sun Jun 20 05:29:43 2004 UTC (19 years, 10 months ago) by takayama
Branch: MAIN
Changes since 1.23: +20 -8 lines

Added new targets:
  install-global-scripts, install-scripts

# $OpenXM: OpenXM/rc/Makefile,v 1.24 2004/06/20 05:29:43 takayama Exp $
# make install-under-prefix  [ prefix=/home/hoge ]  ; Default is /usr/local
prefix=/usr/local
CC=gcc
# SHELL_SCRIPTS=asir sm1 oxgp k0 oxmath oxMathematica ox
SHELL_SCRIPTS=asir sm1 oxmath oxMathematica ox openxm webasir
INSTALL_DIR=${prefix}/bin
MAN_DIR=../man/man1
KDE_MENU_DIR=/usr/lib/menu

all-scripts :  dot.bashrc  dot.cshrc .done_gen-shell-scripts

dot.bashrc : bashrc repl 
	rm -f dot.bashrc 
	echo "# DO NOT EDIT THIS FILE" >dot.bashrc
	./repl bash <bashrc >>dot.bashrc

dot.cshrc : cshrc repl
	rm -f dot.cshrc 
	echo "# DO NOT EDIT THIS FILE" >dot.cshrc
	./repl csh <cshrc >>dot.cshrc

repl : repl.c 
	rm -f repl
	${CC} -o ../bin/rc.repl repl.c
	ln -s ../bin/rc.repl repl

.done_gen-shell-scripts : dot.cshrc Makefile gen-shell-scripts
	./gen-shell-scripts
	-install openxm ../bin
	touch .done_gen-shell-scripts

#For the backword compatibility.
install: install-scripts
install-scripts : all-scripts  install-man
	-install -d ${INSTALL_DIR}
	-install $(SHELL_SCRIPTS) ${INSTALL_DIR}
install-man :
	-install openxm.1 ${MAN_DIR}
install-kde-menu-knoppix:
	install kde/openxm-binary-knoppix ${KDE_MENU_DIR}/openxm-binary

clean :
	rm -rf dot.bashrc dot.cshrc repl openxm $(SHELL_SCRIPTS) .done_gen-shell-scripts work global .done_global

## New targets.  Relocate OpenXM under ${prefix}
## They are designed to be a top level Makefile
all:
	(cd ../src ; make all)
all-non-free:
	(cd ../src ; make all-asir)
all-global-shell-scripts: repl
	@if [ ! -f .done_global ] ; then \
	echo "Generating shell scripts in global" ; \
	rm -rf global ; mkdir global ; \
	(cd global ; ../repl bash --prefix ${prefix} <../bashrc >dot.bashrc); \
	(cd global ; ../repl csh --prefix ${prefix} <../cshrc >dot.cshrc); \
	(cd global ; ../gen-shell-scripts) ; \
	touch .done_global ; \
	fi
install-non-free:
	(cd ../src ; make install-asir)
install-free:
	(cd ../src ; make install)
install-under-prefix: all-global-shell-scripts   install-free
	make copy-free
	make copy-non-free
install-global-scripts: all-global-shell-scripts
	(cd global ; install ${SHELL_SCRIPTS} ${INSTALL_DIR})

clean-under-prefix:
	-(cd ${prefix} ; rm -rf ${prefix}/OpenXM )
# Relocate only asir
#    make install-non-free ;  make clean-under-prefix ; 
#    make install-global-scripts ; make copy-non-free
# Relocate only free
#    make install-free ; make clean-under-prefix ;
#    make install-global-scripts ; make copy-free
#
# junk-list is not a collection of real junk files. 
# Files in it are not necessary for the binary package. They are important.
copy-free: all-global-shell-scripts
	-mkdir ${prefix}
	-(cd ../.. ; tar czf - --exclude-from OpenXM/rc/non-free-list --exclude OpenXM/misc --exclude OpenXM/rc --exclude OpenXM/src --exclude-from OpenXM/rc/junk-list OpenXM) | (cd ${prefix} ; tar xvzf -)
# During installation OpenXM/bin/openxm must be overridden by global/openxm
	install global/openxm ${prefix}/OpenXM/bin

copy-non-free: all-global-shell-scripts
	-mkdir ${prefix}
	-(cd ../.. ; tar czf - --exclude-from OpenXM/rc/junk-list `cat OpenXM/rc/non-free-list`) | (cd ${prefix} ; tar xvzf -)