SHELL := bash
NAME := codea
-CFLAGS := -ansi -pedantic -D_GNU_SOURCE
-OBJS := scanner.o parser.o symtable.o code.o
+CFLAGS := -ansi -pedantic -D_GNU_SOURCE -g
+OBJS := scanner.o parser.o symtable.o code.o chelper.o tree.o
all: $(NAME)
@echo " FLEX $<"
@flex -o$@ $<
-%.o: %.c parser.h symtable.h
+#dirty deps ;)
+%.o: %.c parser.h symtable.h chelper.h tree.h
@echo " CC $<"
+ @cp $< tmp.c
@gcc -c $(CFLAGS) $< #-Wall
+ @rm tmp.c
-parser.c: oxout.y
+parser.c: oxout.y chelper.h tree.h
@echo " YACC $<"
@yacc -t -v -d $< -o $@
@echo " OX $^"
@ox $^
-%.c: %.bfe
+%.c: %.bfe chelper.h tree.h
@echo " IBURG $<"
@bfe < $< | iburg > $@
clean:
rm -f $(NAME) $(OBJS) scanner.c parser.{h,c,output} oxout.{y,l,h} code.c
-1test: 2test
+1test:
+ ~/test/scripts/modlvatest_codea.sh 2>&1
-2test:
+lvatest:
/usr/ftp/pub/ublu/test/$(NAME)/test 2>&1
+
+bench:
+ ~/test/scripts/bench.sh $(NAME)