dwww Home | Show directory contents | Find package

# 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)

Generated by dwww version 1.15 on Sat May 18 12:48:58 CEST 2024.