CFLAGS=-O9 -Wall --pedantic -foptimize-register-move -ffast-math -fschedule-insns2 -frerun-loop-opt -frerun-cse-after-loop -finline-functions -ffunction-cse -fmove-all-movables -freduce-all-givs -funroll-all-loops -fexpensive-optimizations -mcpu=pentiumpro -march=i386 
#CFLAGS=-O9
#CFLAGS=-fstack-check
SHELL=sh

all: var.o config.o ass.tab.o avinfo.o common.o riff.o mpeg.o text.o codec.o ifo.o ogm.o mkv.o print.o
	gcc var.o config.o ass.tab.o avinfo.o common.o  riff.o mpeg.o text.o codec.o ifo.o ogm.o mkv.o print.o -o avinfo
#	cp avinfo.exe y:/bin/
#	./avinfo "S:/anime/.full/[Anime-Rakuen]_Noiseman_Sound_Insect_(B589C7B9).avi" --list
#	avinfo "s:/temp/Battle Athletes TV Ep16.ogm"   --raw

config.o: config.c tpls.ass c_conv2.c
	gcc c_conv2.c -o conv
	./conv tpls.ass >tpls
	gcc -c config.c $(CFLAGS)

var.o: var.c
	gcc -c var.c $(CFLAGS) 

ass.tab.o: ass.tab.c 
	gcc -c ass.tab.c $(CFLAGS) 

ass.tab.c: ass.y 
	bison -d -v ass.y

avinfo.o: avinfo.c 
	gcc -c avinfo.c $(CFLAGS) 

common.o: common.c  
	gcc -c $(CFLAGS) common.c

print.o: print.c
	gcc -c $(CFLAGS) print.c

riff.o: riff.c  
	gcc -c $(CFLAGS) riff.c

mpeg.o: mpeg.c  
	gcc -c $(CFLAGS)  mpeg.c

text.o: text.c 
	gcc -c $(CFLAGS)  text.c

codec.o: codec.c
	gcc -c $(CFLAGS) codec.c

ifo.o: ifo.c
	gcc -c $(CFLAGS) ifo.c

ogm.o: ogm.c
	gcc -c $(CFLAGS) ogm.c
	
mkv.o: mkv.c
	gcc -c $(CFLAGS) mkv.c

clean:
	rm -f *.o *.s ass.tab.* 
	rm ass.output
	rm tpls
	rm conv.*
	rm avinfo.exe


ldbg: common.o codec.o
	gcc print.c common.o codec.o

cache.o: cache.c
	gcc -c $(CFLAGS) cache.c
