115 lines
3.1 KiB
Makefile
115 lines
3.1 KiB
Makefile
### @configure_input@
|
|
|
|
## Copyright (C) 2013-2024 Free Software Foundation, Inc.
|
|
|
|
## This file is part of GNU Emacs.
|
|
|
|
## GNU Emacs 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.
|
|
|
|
## GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
### Commentary:
|
|
|
|
## This directory contains grammar files in Bison and Wisent,
|
|
## used to generate the parser data in the lisp/cedet directory.
|
|
|
|
SHELL = @SHELL@
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
|
|
-include ${top_builddir}/src/verbose.mk
|
|
|
|
# Prevent any settings in the user environment causing problems.
|
|
unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
|
|
|
|
EMACS = ${top_builddir}/src/emacs
|
|
emacs = "${EMACS}" -batch --no-site-file --no-site-lisp \
|
|
--eval '(setq load-prefer-newer t)'
|
|
|
|
make_bovine = ${emacs} -l semantic/bovine/grammar -f bovine-batch-make-parser
|
|
make_wisent = ${emacs} -l semantic/wisent/grammar -f wisent-batch-make-parser
|
|
|
|
cedetdir = ${top_srcdir}/lisp/cedet
|
|
bovinedir = ${cedetdir}/semantic/bovine
|
|
wisentdir = ${cedetdir}/semantic/wisent
|
|
|
|
grammar_bovine = ${bovinedir}/grammar.el
|
|
grammar_wisent = ${wisentdir}/grammar.el
|
|
|
|
BOVINE = \
|
|
${bovinedir}/c-by.el \
|
|
${bovinedir}/make-by.el \
|
|
${bovinedir}/scm-by.el
|
|
|
|
WISENT = \
|
|
${cedetdir}/semantic/grammar-wy.el \
|
|
${wisentdir}/javat-wy.el \
|
|
${wisentdir}/js-wy.el \
|
|
${wisentdir}/python-wy.el \
|
|
${cedetdir}/srecode/srt-wy.el
|
|
|
|
ALL = ${BOVINE} ${WISENT}
|
|
|
|
.PHONY: all bovine wisent
|
|
|
|
all: ${ALL}
|
|
|
|
bovine: ${BOVINE}
|
|
|
|
wisent: ${WISENT}
|
|
|
|
## c-by.el, make-by.el.
|
|
${bovinedir}/%-by.el: ${srcdir}/%.by ${grammar_bovine}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_bovine} -o "$@" $<
|
|
|
|
${bovinedir}/scm-by.el: ${srcdir}/scheme.by ${grammar_bovine}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_bovine} -o "$@" $<
|
|
|
|
## grammar-wy.el
|
|
${cedetdir}/semantic/%-wy.el: ${srcdir}/%.wy ${grammar_wisent}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_wisent} -o "$@" $<
|
|
|
|
## js-wy.el, python-wy.el
|
|
${wisentdir}/%-wy.el: ${srcdir}/%.wy ${grammar_wisent}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_wisent} -o "$@" $<
|
|
|
|
${wisentdir}/javat-wy.el: ${srcdir}/java-tags.wy ${grammar_wisent}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_wisent} -o "$@" $<
|
|
|
|
${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy ${grammar_wisent}
|
|
$(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
|
|
$(AM_V_at)${make_wisent} -o "$@" $<
|
|
|
|
.PHONY: distclean bootstrap-clean maintainer-clean gen-clean
|
|
|
|
distclean:
|
|
rm -f Makefile
|
|
|
|
## IMO this should run gen-clean.
|
|
bootstrap-clean:
|
|
|
|
gen-clean:
|
|
rm -f ${ALL}
|
|
|
|
maintainer-clean: gen-clean distclean
|
|
|
|
|
|
|
|
# Makefile.in ends here
|