=================================================================== RCS file: /home/cvs/OpenXM/rc/Makefile,v retrieving revision 1.5 retrieving revision 1.23 diff -u -p -r1.5 -r1.23 --- OpenXM/rc/Makefile 2000/01/30 23:47:40 1.5 +++ OpenXM/rc/Makefile 2004/06/20 04:55:32 1.23 @@ -1,41 +1,79 @@ -# $OpenXM: OpenXM/rc/Makefile,v 1.4 2000/01/30 10:40:42 takayama Exp $ -# make repl -# make all -# make install [ INSTALL_DIR=/home/hoge/bin ] ; Default is /usr/local/bin +# $OpenXM: OpenXM/rc/Makefile,v 1.22 2004/06/14 11:03:52 takayama Exp $ +# make install-under-prefix [ prefix=/home/hoge ] ; Default is /usr/local +prefix=/usr/local CC=gcc -SHELL_SCRIPTS=asir sm1 gp k0 oxmath oxMathematica -INSTALL_DIR=/usr/local/bin +# 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 : dot.bashrc dot.cshrc openxm .done_gen-shell-scripts +all-trad : 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 >dot.bashrc + ./repl bash >dot.bashrc dot.cshrc : cshrc repl rm -f dot.cshrc echo "# DO NOT EDIT THIS FILE" >dot.cshrc - ./repl >dot.cshrc + ./repl csh >dot.cshrc -repl : repl.c - ${CC} -static -o repl repl.c +repl : repl.c + rm -f repl + ${CC} -o ../bin/rc.repl repl.c + ln -s ../bin/rc.repl repl -openxm : dot.cshrc - rm -f openxm - echo "#!/bin/csh" >openxm - cat dot.cshrc >>openxm - echo '$$*' >>openxm - chmod +x openxm - cp -f openxm ../bin - .done_gen-shell-scripts : dot.cshrc Makefile gen-shell-scripts ./gen-shell-scripts + -install openxm ../bin touch .done_gen-shell-scripts -install : all - cp -f $(SHELL_SCRIPTS) ${INSTALL_DIR} +#For the backword compatibility. +install: install-trad +install-trad : all-trad install-man + -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 -f dot.bashrc dot.cshrc repl openxm $(SHELL_SCRIPTS) .gen-shell-scripts + 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-asir2000) +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-under-prefix: all-global-shell-scripts + (cd ../src ; make install) + make copy-free + make copy-non-free + +clean-under-prefix: + -(cd ${prefix} ; rm -rf ${prefix}/OpenXM ) + +# 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: + -mkdir ${prefix} + -(cd ../.. ; tar czf - --exclude-from OpenXM/rc/junk-list `cat OpenXM/rc/non-free-list`) | (cd ${prefix} ; tar xvzf -)