3 ## Copyright (C) 2013-2024 Free Software Foundation, Inc.
5 ## This file is part of GNU Emacs.
7 ## GNU Emacs is free software: you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation, either version 3 of the License, or
10 ## (at your option) any later version.
12 ## GNU Emacs is distributed in the hope that it will be useful,
13 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ## GNU General Public License for more details.
17 ## You should have received a copy of the GNU General Public License
18 ## along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
22 ## This directory contains grammar files in Bison and Wisent,
23 ## used to generate the parser data in the lisp/cedet directory.
28 top_srcdir
= @top_srcdir@
29 top_builddir
= @top_builddir@
31 -include ${top_builddir}/src
/verbose.mk
33 # Prevent any settings in the user environment causing problems.
34 unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
36 EMACS
= ${top_builddir}/src
/emacs
37 emacs
= "${EMACS}" -batch
--no-site-file
--no-site-lisp \
38 --eval
'(setq load-prefer-newer t)'
40 make_bovine
= ${emacs} -l semantic
/bovine
/grammar
-f bovine-batch-make-parser
41 make_wisent
= ${emacs} -l semantic
/wisent
/grammar
-f wisent-batch-make-parser
43 cedetdir
= ${top_srcdir}/lisp
/cedet
44 bovinedir
= ${cedetdir}/semantic
/bovine
45 wisentdir
= ${cedetdir}/semantic
/wisent
47 grammar_bovine
= ${bovinedir}/grammar.el
48 grammar_wisent
= ${wisentdir}/grammar.el
51 ${bovinedir}/c-by.el \
52 ${bovinedir}/make-by.el \
53 ${bovinedir}/scm-by.el
56 ${cedetdir}/semantic
/grammar-wy.el \
57 ${wisentdir}/javat-wy.el \
58 ${wisentdir}/js-wy.el \
59 ${wisentdir}/python-wy.el \
60 ${cedetdir}/srecode
/srt-wy.el
62 ALL
= ${BOVINE} ${WISENT}
64 .PHONY
: all bovine wisent
72 ## c-by.el, make-by.el.
73 ${bovinedir}/%-by.el
: ${srcdir}/%.by
${grammar_bovine}
74 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
75 $(AM_V_at
)${make_bovine} -o
"$@" $<
77 ${bovinedir}/scm-by.el
: ${srcdir}/scheme.by
${grammar_bovine}
78 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
79 $(AM_V_at
)${make_bovine} -o
"$@" $<
82 ${cedetdir}/semantic
/%-wy.el
: ${srcdir}/%.wy
${grammar_wisent}
83 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
84 $(AM_V_at
)${make_wisent} -o
"$@" $<
86 ## js-wy.el, python-wy.el
87 ${wisentdir}/%-wy.el
: ${srcdir}/%.wy
${grammar_wisent}
88 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
89 $(AM_V_at
)${make_wisent} -o
"$@" $<
91 ${wisentdir}/javat-wy.el
: ${srcdir}/java-tags.wy
${grammar_wisent}
92 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
93 $(AM_V_at
)${make_wisent} -o
"$@" $<
95 ${cedetdir}/srecode
/srt-wy.el
: ${srcdir}/srecode-template.wy
${grammar_wisent}
96 $(AM_V_GEN
)[ ! -f
"$@" ] || chmod
+w
"$@"
97 $(AM_V_at
)${make_wisent} -o
"$@" $<
99 .PHONY
: distclean bootstrap-clean maintainer-clean gen-clean
104 ## IMO this should run gen-clean.
110 maintainer-clean
: gen-clean
distclean
114 # Makefile.in ends here