mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* examples/c++/Makefile, examples/c++/calc++/Makefile, * examples/c++/glr/Makefile, examples/c/bistromathic/Makefile, * examples/c/calc/Makefile, examples/c/glr/Makefile, * examples/c/lexcalc/Makefile, examples/c/mfcalc/Makefile, * examples/c/pushcalc/Makefile, examples/c/reccalc/Makefile, * examples/c/rpcalc/Makefile, examples/d/calc/Makefile, * examples/d/simple/Makefile, examples/java/calc/Makefile, * examples/java/simple/Makefile: Use --html to generate *.html directly. No longer demonstrate --xml. No longer show rules for xml to html. Use --header, not --defines. Use --graph without specifying the output file now that we generate *.gv by default.
37 lines
723 B
Makefile
37 lines
723 B
Makefile
# This Makefile is designed to be simple and readable. It does not
|
|
# aim at portability. It requires GNU Make.
|
|
|
|
BASE = calc++
|
|
BISON = bison
|
|
CXX = g++
|
|
FLEX = flex
|
|
|
|
all: $(BASE)
|
|
|
|
%.cc %.hh %.html %.gv: %.yy
|
|
$(BISON) $(BISONFLAGS) --html --graph -o $*.cc $<
|
|
|
|
%.cc: %.ll
|
|
$(FLEX) $(FLEXFLAGS) -o$@ $<
|
|
|
|
%.o: %.cc
|
|
$(CXX) $(CXXFLAGS) -c -o$@ $<
|
|
|
|
$(BASE): $(BASE).o driver.o parser.o scanner.o
|
|
$(CXX) -o $@ $^
|
|
|
|
$(BASE).o: parser.hh
|
|
parser.o: parser.hh
|
|
scanner.o: parser.hh
|
|
|
|
run: $(BASE)
|
|
@echo "Type arithmetic expressions. Quit with ctrl-d."
|
|
./$< -
|
|
|
|
CLEANFILES = \
|
|
$(BASE) *.o \
|
|
parser.hh parser.cc parser.output parser.xml parser.html parser.gv location.hh \
|
|
scanner.cc
|
|
clean:
|
|
rm -f $(CLEANFILES)
|