mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
The name "defines" is incorrect, the generated file contains far more than just #defines. * src/getargs.h, src/getargs.c (-H, --header): New option. With optional argument, just like --defines, --xml, etc. (defines_flag): Rename as... (header_flag): this. Adjust dependencies. * data/skeletons/bison.m4, data/skeletons/c.m4, data/skeletons/glr.c, * data/skeletons/glr.cc, data/skeletons/glr2.cc, data/skeletons/lalr1.cc, * data/skeletons/yacc.c: Adjust. * examples, doc/bison.texi: Adjust. * tests/headers.at, tests/local.at, tests/output.at: Convert most tests from using --defines to using --header.
41 lines
1.1 KiB
Makefile
41 lines
1.1 KiB
Makefile
# This Makefile is designed to be simple and readable. It does not
|
|
# aim at portability. It requires GNU Make.
|
|
|
|
BASE = bistromathic
|
|
BISON = bison
|
|
XSLTPROC = xsltproc
|
|
|
|
# We need to find the headers and libs for readline (and possibly intl).
|
|
# You probably need to customize this for your own environment.
|
|
CPPFLAGS = -I/opt/local/include
|
|
LDFLAGS = -L/opt/local/lib
|
|
|
|
# Find the translation catalogue for Bison's generated messagess.
|
|
BISON_LOCALEDIR = $(shell $(BISON) $(BISON_FLAGS) --print-localedir)
|
|
CPPFLAGS += -DENABLE_NLS -DBISON_LOCALEDIR='"$(BISON_LOCALEDIR)"'
|
|
|
|
LIBS = -lreadline -lm # In some environments, -lintl is needed.
|
|
|
|
all: $(BASE)
|
|
|
|
%.c %.h %.xml %.gv: %.y
|
|
$(BISON) $(BISONFLAGS) --header --xml --graph=$*.gv -o $*.c $<
|
|
|
|
$(BASE): parse.o
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)
|
|
|
|
run: $(BASE)
|
|
@echo "Type bistromathic expressions. Quit with ctrl-d."
|
|
./$<
|
|
|
|
html: $(BASE).html
|
|
%.html: %.xml
|
|
$(XSLTPROC) $(XSLTPROCFLAGS) -o $@ $$($(BISON) --print-datadir)/xslt/xml2xhtml.xsl $<
|
|
|
|
CLEANFILES = \
|
|
$(BASE) *.o \
|
|
parse.[ch] parse.output parse.xml parse.html parse.gv
|
|
|
|
clean:
|
|
rm -f $(CLEANFILES)
|