--- /dev/null
+SHELL := bash
+NAME := ag
+CFLAGS := -ansi -pedantic -D_GNU_SOURCE
+OBJS := scanner.o parser.o symbol_table.o
+TARGETS := parser.y scanner.lex
+
+all: $(NAME)
+
+$(NAME): $(OBJS)
+ @echo " LINK $<"
+ @gcc -o $@ $(OBJS) -lfl
+
+scanner.c: oxout.l
+ @echo " FLEX $<"
+ @flex -o$@ $<
+
+%.o: %.c parser.h symbol_table.h
+ @echo " CC $<"
+ @gcc -c $(CFLAGS) $< #-Wall
+
+parser.c: oxout.y
+ @echo " YACC $<"
+ @yacc -t -v -d $< -o $@
+
+parser.h: parser.c
+
+oxout.y oxout.l: $(TARGETS)
+ @echo " OX $(TARGETS)"
+ @ox parser.y scanner.lex
+
+.PHONY: clean
+clean:
+ rm -f $(NAME) $(OBJS) scanner.c parser.{h,c,output} oxout.{y,l}
+
+1test: 2test
+
+2test:
+ /usr/ftp/pub/ublu/test/$(NAME)/test 2>&1