AR=ar
CC=gcc
FLEX=flex
BISON=bison
GC_PATH=/home/pablo/gc6.2

CFLAGS=-I$(GC_PATH)/include

OBJS=hash.o out.o vec.o proc.o vm.o sym.o comp.o list.o env.o special.o lex.yy.o parser.tab.o port.o str.o built.o int.o error.o std.o macro.o char.o setter.o inline.o tipo.o struct.o sound.o float.o

INCS=hash.h out.h vec.h proc.h vm.h sym.h list.h comp.h env.h special.h port.h str.h built.h int.h error.h std.h macro.h char.h setter.h inline.h tipo.h struct.h sound.h float.h

MAIN=fu.o

fu.exe : $(MAIN) $(INCS) libfu.a $(GC_PATH)/gc.a
	$(CC) -o fu $(MAIN) libfu.a $(GC_PATH)/gc.a -ldl -lm

libfu.a : $(OBJS) $(INCS)
	$(AR) cr libfu.a $(OBJS)

lex.yy.c : lexer.l parser.tab.h
	$(FLEX) lexer.l

parser.tab.h parser.tab.c : parser.y
	$(BISON) parser.y -d
