# Copyright 2012-2024, Alexander Shibakov # This file is part of SPLinT # # SPLinT is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # SPLinT is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SPLinT. If not, see . SPLINT_EXAMPLES_BASE = expression ld SPLINT_EXAMPLES_EXTRA = symbols xxpression SPLINT_EXAMPLE_OTHER = $(if $BISON_IS_CRIPPLED,,$SPLINT_EXAMPLES_EXTRA) SPLINT_EXAMPLES_DIRS = ${SPLINT_EXAMPLES_BASE} ${SPLINT_EXAMPLE_OTHER} SPLINT_EXAMPLES_DIRS_ALL = ${SPLINT_EXAMPLES_BASE} ${SPLINT_EXAMPLES_EXTRA} # 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 include makefile.inc include makefile.loc # output a list of all control sequences defined in the package lists: tex/*.sty perl scripts/cslist.pl $^ > cseqs.lst manual: cd ${SPLINT_ROOT}cweb && ${MAKE} docs docs: 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 -rm -f cseqs.lst # mostlyclean will leave all the generated table and token equivalence files mostlyclean: -cd cweb && ${MAKE} clean_temp && rm -f ctablesout b?out ltout smallp_out \ smalll_out lstabout bo.c np.c $(call CLEAN_SUBMAKE,mostlyclean) # distclean will erase all automatically generated files distclean: clean rm -f splint.tar.bz2 cd cweb && ${MAKE} clean $(call CLEAN_SUBMAKE,clean)