parser: makefile ... (und rest von paulchen ss08 kopiert)
[uebersetzerbau-ss10.git] / parser / Makefile
diff --git a/parser/Makefile b/parser/Makefile
new file mode 100644 (file)
index 0000000..176a9f5
--- /dev/null
@@ -0,0 +1,38 @@
+NAME := parser
+PARSER := $(NAME)
+SCANNER := scanner
+
+CFLAGS := -pedantic -ansi -g -D_GNU_SOURCE
+
+all: $(NAME)
+
+$(NAME): $(SCANNER).o $(PARSER).o
+       @echo "  LINK    $<"
+       @gcc $(CFLAGS) -o $@ $? -lfl
+
+$(SCANNER).o: $(SCANNER).c $(PARSER).h
+       @echo "  CC      $<"
+       @gcc $(CFLAGS) -c $<
+
+$(SCANNER).c: $(SCANNER).lex
+       @echo "  FLEX    $<"
+       @flex -o$@ $<
+
+$(PARSER).o: $(PARSER).c
+       @echo "  CC      $<"
+       @gcc $(CFLAGS) -c $<
+
+$(PARSER).c: $(PARSER).y
+       @echo "  YACC    $<"
+       @yacc -t -v -d $< -o $@
+
+$(PARSER).h: $(PARSER).c
+
+
+.PHONY: clean
+clean:
+       rm -f $(PARSER){,.o,.c,.h,.output} $(SCANNER).{c,o}
+
+2test:
+       /usr/ftp/pub/ublu/test/$(NAME)/test 2>&1
+