=================================================================== RCS file: /home/cvs/OpenXM/rc/Makefile,v retrieving revision 1.22 retrieving revision 1.31 diff -u -p -r1.22 -r1.31 --- OpenXM/rc/Makefile 2004/06/14 11:03:52 1.22 +++ OpenXM/rc/Makefile 2019/09/30 07:09:37 1.31 @@ -1,16 +1,16 @@ -# $OpenXM: OpenXM/rc/Makefile,v 1.21 2004/03/01 03:10:26 takayama Exp $ -# make repl -# make all -# make install [ PREFIX=/home/hoge ] ; Default is /usr/local +# $OpenXM: OpenXM/rc/Makefile,v 1.30 2019/09/30 06:11:05 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 -PREFIX=/usr/local -INSTALL_DIR=${PREFIX}/bin +SHELL_SCRIPTS=asir asir2000 sm1 oxmath oxMathematica ox openxm webasir +SHELL_SCRIPTS_FREE= 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 +# SHELL_SCRIPTS are generated by "gen-shell-scripts" +all-scripts : dot.bashrc dot.cshrc .done_gen-shell-scripts dot.bashrc : bashrc repl rm -f dot.bashrc @@ -27,32 +27,88 @@ repl : repl.c ${CC} -o ../bin/rc.repl repl.c ln -s ../bin/rc.repl repl -openxm : dot.bashrc - rm -f openxm - echo "#!/bin/sh" >openxm - cat dot.bashrc >>openxm - echo 'exec $$*' >>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 : install-usr-bin install-kde-menu -install-usr-bin: all - -cp -f $(SHELL_SCRIPTS) ${INSTALL_DIR} +#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 -install.man : - -cp openxm.1 ${MAN_DIR} -install.asir_key: - -../bin/sm1 -f fetch_asir_key.sm1 +clean : + rm -rf dot.bashrc dot.cshrc repl openxm $(SHELL_SCRIPTS) .done_gen-shell-scripts work global .done_global -install-bin : - cp -f webasir ../bin +## 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}) +install-global-scripts-non-free: all-global-shell-scripts + (cd global ; install asir ${INSTALL_DIR}) +install-global-scripts-free: all-global-shell-scripts + (cd global ; install ${SHELL_SCRIPTS_FREE} ${INSTALL_DIR}) -clean : - rm -rf dot.bashrc dot.cshrc repl openxm $(SHELL_SCRIPTS) .done_gen-shell-scripts work +clean-under-prefix: + -(cd ${prefix} ; rm -rf ${prefix}/OpenXM ) +# Relocate only asir +# make install-non-free ; make clean-under-prefix ; +# make install-global-scripts-non-free ; make copy-non-free +# Relocate only free +# make install-free ; make clean-under-prefix ; +# make install-global-scripts-free ; 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/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 -) + +install-emacs-asir-on-mac: all-scripts + -mkdir -p ~/bin + cp ../bin/openxm ~/bin + if type "openxm" >/dev/null 2>&1; then \ + echo "openxm is already in the path."; \ + else \ + echo "export PATH=~/bin:$$PATH" >>~/.bash_profile ; \ + echo "~/bin is added to the path."; \ + fi + ~/bin/openxm use-asir-mode.sh --local-yes + @echo "Installation completed. Login again or do source ./dot.bashrc to start emacs/asir" + +norc-fix: + pushd ../bin ; mv openxm openxm.orig ; sed -e 's/ASIR_CONFIG/#ASIR_CONFIG/g' openxm.orig >openxm ; chmod +x openxm ; popd + cp ../bin/openxm ~/bin +