summaryrefslogtreecommitdiff
path: root/support/splint/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'support/splint/Makefile')
-rw-r--r--support/splint/Makefile33
1 files changed, 27 insertions, 6 deletions
diff --git a/support/splint/Makefile b/support/splint/Makefile
index b7f0269350..e122cfb363 100644
--- a/support/splint/Makefile
+++ b/support/splint/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2012-2020, Alexander Shibakov
+# Copyright 2012-2024, Alexander Shibakov
# This file is part of SPLinT
#
# SPLinT is free software: you can redistribute it and/or modify
@@ -13,11 +13,16 @@
#
# You should have received a copy of the GNU General Public License
# along with SPLinT. If not, see <http://www.gnu.org/licenses/>.
+SPLINT_EXAMPLES_BASE = expression ld
+SPLINT_EXAMPLES_EXTRA = symbols xxpression
+SPLINT_EXAMPLE_OTHER = $(if $BISON_IS_CRIPPLED,,$SPLINT_EXAMPLES_EXTRA)
-SPLINT_EXAMPLE_OTHER = $(if $BISON_IS_CRIPPLED,,symbols xxpression)
+SPLINT_EXAMPLES_DIRS = ${SPLINT_EXAMPLES_BASE} ${SPLINT_EXAMPLE_OTHER}
+SPLINT_EXAMPLES_DIRS_ALL = ${SPLINT_EXAMPLES_BASE} ${SPLINT_EXAMPLES_EXTRA}
-SPLINT_EXAMPLES_DIRS = expression ld ${SPLINT_EXAMPLE_OTHER}
-SPLINT_EXAMPLES_DIRS_ALL = expression ld symbols xxpression
+# the install directory; should be replaced by the appropriate local directory
+# in makefile.loc
+SPLINT_INSTALL_DIR = /tmp
DO_SUBMAKE = for dir in ${SPLINT_EXAMPLES_DIRS}; do cd ${SPLINT_ROOT}examples/$$dir && ${MAKE} $(1); done
CLEAN_SUBMAKE = for dir in ${SPLINT_EXAMPLES_DIRS_ALL}; do cd ${SPLINT_ROOT}examples/$$dir && ${MAKE} $(1); done
@@ -31,12 +36,28 @@ lists: tex/*.sty
perl scripts/cslist.pl $^ > cseqs.lst
manual:
- cd ${SPLINT_ROOT}cweb && ${MAKE} splint.pdf
+ cd ${SPLINT_ROOT}cweb && ${MAKE} docs
docs:
- cd ${SPLINT_ROOT}cweb && ${MAKE} splint.pdf && ${MAKE} ssffo.pdf
+ cd ${SPLINT_ROOT}cweb && ${MAKE} docs
$(call DO_SUBMAKE,docs)
+# install a stand alone version of all the parsers in the package
+
+install: all
+ @cp ${SPLINT_ROOT}tex/*.sty ${SPLINT_INSTALL_DIR}/tex/
+ @cp ${SPLINT_ROOT}cweb/*.tok ${SPLINT_INSTALL_DIR}/cweb/
+ @cp -a ${SPLINT_ROOT}other/ ${SPLINT_INSTALL_DIR}/other/
+ @cp ${SPLINT_XPTABLES} ${SPLINT_INSTALL_DIR}/cweb/
+ @cp ${SPLINT_XLTABLES} ${SPLINT_INSTALL_DIR}/cweb/
+ @cd ${SPLINT_ROOT}examples/ld && ${MAKE} install
+
+uninstall:
+ @cd ${SPLINT_ROOT}examples/ld && ${MAKE} uninstall
+ @rm -f ${SPLINT_INSTALL_DIR}/tex/*
+ @rm -f ${SPLINT_INSTALL_DIR}/cweb/*
+ @rm -rf ${SPLINT_INSTALL_DIR}/other/texmf/
+
# clean will erase all automatically generated files in the current directory
clean: clean_core