# Makefile
#
# Ein Makefile dient dazu, das Erstellen von Zieldateien
# aus Quelldateien durch Automatisierung zu Erleichtern.
#
# Links stehen immer die Ziele, hinter dem Doppelpunkt
# die Quellen und darunter der Befehl, der aus den
# Quellen die Ziele erzeugt.
#
# Besondere Ziele sind standardmäßig
#
# all:		erstelle alles
# clean:	lösche alle Hilfsdateien
#
# Die zugehörigen Shellbefehle sind (im Ordner des
# Makefiles):
#
# make
# make all
# make clean
#
# Die ersten beiden dieser Befehle sind äquivalent.


# Erzeuge den Lexer (mittels flex).

lex.yy.c: parser.l parser.tab.h
	flex parser.l


# Erzeuge die Parserdateien (mittels bison).

parser.tab.c parser.tab.h: parser.y
	bison -d parser.y


# Erzeuge den Parser (mit dem C-Compiler).

parser: lex.yy.c parser.tab.c parser.tab.h
	gcc -o parser parser.tab.c lex.yy.c -lfl

# Erzeuge alles (also den Parser).

all: parser


# Räume auf.

clean:
	rm parser parser.tab.c lex.yy.c parser.tab.h
