--- /dev/null
+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
+