1### @configure_input@ 2 3## Copyright (C) 2013-2021 Free Software Foundation, Inc. 4 5## This file is part of GNU Emacs. 6 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. 11 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. 16 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/>. 19 20### Commentary: 21 22## This directory contains grammar files in Bison and Wisent, 23## used to generate the parser data in the lisp/cedet directory. 24 25SHELL = @SHELL@ 26 27srcdir = @srcdir@ 28top_srcdir = @top_srcdir@ 29top_builddir = @top_builddir@ 30 31# 'make' verbosity. 32AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 33 34AM_V_GEN = $(am__v_GEN_@AM_V@) 35am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 36am__v_GEN_0 = @echo " GEN " $@; 37am__v_GEN_1 = 38 39AM_V_at = $(am__v_at_@AM_V@) 40am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 41am__v_at_0 = @ 42am__v_at_1 = 43 44# Prevent any settings in the user environment causing problems. 45unexport EMACSDATA EMACSDOC EMACSPATH 46 47EMACS = ${top_builddir}/src/emacs 48emacs = EMACSLOADPATH= "${EMACS}" -batch --no-site-file --no-site-lisp 49 50make_bovine = ${emacs} -l semantic/bovine/grammar -f bovine-batch-make-parser 51make_wisent = ${emacs} -l semantic/wisent/grammar -f wisent-batch-make-parser 52 53cedetdir = ${top_srcdir}/lisp/cedet 54bovinedir = ${cedetdir}/semantic/bovine 55wisentdir = ${cedetdir}/semantic/wisent 56 57BOVINE = \ 58 ${bovinedir}/c-by.el \ 59 ${bovinedir}/make-by.el \ 60 ${bovinedir}/scm-by.el 61 62## FIXME Should include this one too: 63## ${cedetdir}/semantic/grammar-wy.el 64## but semantic/grammar.el (which is what we use to generate grammar-wy.el) 65## requires it! 66WISENT = \ 67 ${wisentdir}/javat-wy.el \ 68 ${wisentdir}/js-wy.el \ 69 ${wisentdir}/python-wy.el \ 70 ${cedetdir}/srecode/srt-wy.el 71 72ALL = ${BOVINE} ${WISENT} 73 74.PHONY: all bovine wisent 75 76all: ${ALL} 77 78bovine: ${BOVINE} 79 80wisent: ${WISENT} 81 82## c-by.el, make-by.el. 83${bovinedir}/%-by.el: ${srcdir}/%.by 84 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 85 $(AM_V_at)${make_bovine} -o "$@" $< 86 87${bovinedir}/scm-by.el: ${srcdir}/scheme.by 88 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 89 $(AM_V_at)${make_bovine} -o "$@" $< 90 91## grammar-wy.el 92${cedetdir}/semantic/%-wy.el: ${srcdir}/%.wy 93 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 94 $(AM_V_at)${make_wisent} -o "$@" $< 95 96## js-wy.el, python-wy.el 97${wisentdir}/%-wy.el: ${srcdir}/%.wy 98 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 99 $(AM_V_at)${make_wisent} -o "$@" $< 100 101${wisentdir}/javat-wy.el: ${srcdir}/java-tags.wy 102 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 103 $(AM_V_at)${make_wisent} -o "$@" $< 104 105${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy 106 $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" 107 $(AM_V_at)${make_wisent} -o "$@" $< 108 109 110.PHONY: distclean bootstrap-clean maintainer-clean extraclean 111 112distclean: 113 rm -f Makefile 114 115## Perhaps this should do what extraclean (qv) does. 116bootstrap-clean: 117 118maintainer-clean: distclean 119 120## We do not normally delete the generated files, even in bootstrap. 121## Creating them does not take long, so we could easily change this. 122extraclean: 123 rm -f ${ALL} 124 125# Makefile.in ends here 126