# THE FOLLOWING SYMBOLS MUST BE CHANGED TO AVOID CONFLICTS
# Cache with AVICache 
# Module with AVIModule

# THE FOLLOWING IS DUPLICATED IN LIBAUDIOFILE
# #if 0 out Gsm_Long_Term_Synthesis_Filtering in audiodecoder/xa_gsm.c

# COUT FUNCTIONS APPEAR TO SCREW UP LOCKING FOR PRINTF SO MUST BE
# COMMENTED OUT OR REPLACED WITH PRINTF
# aviplay/aviutil.cpp:145
# aviplay/aviutil.cpp:165
# aviplay/aviutil.cpp:166

# THE CFLAGS ARE MANDATORY TO ACHIEVE WIN32 LINKING

AVIDIR = .
include makefile_objs
include ../global_config

OUTPUT = libavi.so
CFLAGS = -march=i586 -I/usr/local/include -D_REENTRANT \
	-Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude \
	-DWIN32_PATH=\"/usr/lib/win32\" -w 
LOADERCFLAGS = 

all: $(AVIOBJS)
#	ar rcs libavi.a $(AVIOBJS)
#	g++ -shared -o libavi.so $(AVIOBJS)

.cpp.o:
	$(CC) -c $*.cpp -o $*.o

clean:
	find \( -name core \
		-o -name '*.o' \
		-o -name '*.a' \
		-o -name '*.lo' \
		-o -name '*.la' \
		-o -name '*.so' \) -exec rm -f {} \;
	find -name '.libs' -exec rm -rf {} \;
	find -name '.deps' -exec rm -rf {} \;

test:
	$(CC) -g -o test test.cpp -Iinclude $(CFLAGS) \
		-L./ \
		-L/usr/X11R6/lib \
		libavi.a \
		../esound/libesound.a \
		../libsndfile/libsndfile.a \
		-ldl \
		-lpthread

$(LOADER):
	$(GCC) -c $(CFLAGS) -Iloader -fno-omit-frame-pointer -fno-inline -D__WINE__ $*.c -o $*.o

$(LOADERASM):
	$(GCC) -c $*.s -o $*.o

$(VIDEOCODEC):
	$(CC) -c $(CFLAGS) -Ivideocodec -Ivideocodec/DirectShow $*.cpp -o $*.o

$(AVIFILE):
	$(CC) -c $(CFLAGS) -Iavifile -fno-omit-frame-pointer $*.cpp -o $*.o
	
$(AUDIODECODER):
	$(CC) -c $(CFLAGS) -Iaudiodecoder -Iaudiodecoder/mpeg $*.cpp -o $*.o

$(AUDIODECODERMPEG):
	$(CC) -c -O2 $(CFLAGS) -Iaudiodecoder -Iaudiodecoder/mpeg $*.cpp -o $*.o

$(AUDIODECODERC):
	$(GCC) -c $(CFLAGS) -Iaudiodecoder $*.c -o $*.o

$(AUDIOENCODERCPP):
	$(GCC) -c $(CFLAGS) -Iaudioencoder $*.cpp -o $*.o

$(AUDIOENCODERC):
	$(GCC) -c $(CFLAGS) -O3 -fomit-frame-pointer -funroll-loops -ffast-math  -finline-functions -Iaudioencoder -DLAMEPARSE -DNDEBUG -D__NO_MATH_INLINES $*.c -o $*.o

$(AVIPLAY):
	$(CC) -c $(CFLAGS) -Iaviplay $*.cpp -o $*.o
