CC = cc
#CFLAGS = -g -fullwarn
#CFLAGS = -migrate -O5 -D_FASTMATH -tune host -fptm n -taso_short -unroll 16 -fast -om
CFLAGS = -32 -O
LDFLAGS = -lm

OBJS = saol_parser.o saol_syntax.o saol_templates.o saol_core_opcodes.o \
       saol_co_imp.o saol_rates.o saol_tables.o saol_interp.o saol_main.o \
       saol_sched.o y.tab.o aifif.o fft.o IEEE80.o byteswap.o saol_score.o \
       saol_bitstream.o

saolc: $(OBJS) Makefile
	$(CC) $(CFLAGS) $(OBJS) -o saolc $(LDFLAGS)

encoder: saol_encoder.o 
	$(CC) $(CFLAGS) saol_encoder.o -o encoder 

.c.o: saol.h $<
	$(CC) $(CFLAGS) $< -c

aifif.o: aifif.c aifif.h

fft.o: fft.c fft.h

mmeaudio.o: mmeaudio.c audio.h
	$(CC) $(CFLAGS) -c mmeaudio.c -DDEC

y.tab.h: y.tab.c

saol_score.o: saol_sched.h saol_score.c

IEEE80.o: IEEE80.c IEEE80.h

byteswap.o: byteswap.c byteswap.h

saol_sched.o: saol_interp.h saol_sched.h saol_sched.c y.tab.h

saol_main.o: saol.h saol_main.c y.tab.h

saol_tables.o: saol_interp.h saol_tables.c

saol_interp.o: saol_interp.h saol_sched.h saol.h saol_interp.c y.tab.h

saol_rates.o: y.tab.h saol.h saol_rates.c

saol_syntax.o: y.tab.h saol.h saol_syntax.c

saol_templates.o: saol.h saol_templates.c

saol_parser.o: saol_parser.c y.tab.h saol.h

saol_core_opcodes.o: saol.h saol_co_imp.h y.tab.h

saol_co_imp.o: saol.h saol_co_imp.h y.tab.h

y.tab.o: y.tab.c

y.tab.c: saol.yacc lex.yy.c saol.h
	yacc -vdtl saol.yacc

lex.yy.c: saol.lex
	lex saol.lex

clean: saolc
	rm -f *.o saolc
