# Makefile for Mp4Enc
# @authors  Prashanth Gujjeti (prashanth.gujjeti@sun.com)
# @ 03/27/2003

#
# Include path
#
INCLUDE_PATH=-I./../libisomediafile/src -I./../libisomediafile/solaris -I./ -I./../Include \
-I./../Core -I./../BifsEnc -I./../Mux
CC = CC 
DEBUG_FLAG = -g
#Sources
SOURCES:sh = ls *.cpp 
BIFSSRC = ../BifsEnc/EncOD.cpp ../BifsEnc/ODEnc.cpp ../BifsEnc/ScanOD.cpp \
../BifsEnc/Token.cpp ../BifsEnc/Parser.cpp ../BifsEnc/VrmlPars.cpp
CORESRC = ../Core/defs.cpp ../Core/ODCoder.cpp ../Core/ODEncDec.cpp ../Core/ODP.cpp \
../Core/sdl.cpp ../Core/SysCoder.cpp ../Core/ODP_SLExtension.cpp \
../Core/ODP3.cpp
ZTLSRC = ../ZTL/ztl.cpp
UISRC = ../UI/ODEncDec2.cpp ../UI/ODP4.cpp
MUXSRC = ../Mux/AAC.cpp ../Mux/Animation.cpp ../Mux/G723.cpp ../Mux/H263.cpp \
../Mux/JPEG.cpp ../Mux/Mpg4Vid.cpp ../Mux/NHnt.cpp ../Mux/TSBifs.cpp 

CRIPMPSRC = ../Craig-IPMP/IPMP_Messages/IPMP_Messages.cpp \
../Craig-IPMP/IPMP_Messages/IPMP_MessagesEncDec.cpp 

AFXSRC = ../IM1Decoders/AFX/AFXEncDec.cpp ../IM1Decoders/AFX/ODPAFX.cpp 

#
#OBJECT FILES
#
#TMP1:sh = ls *.cpp 
TMP1=esMp4.cpp main.cpp MP4Dump.cpp MP4Enc.cpp vtc.cpp 3DMCStream.cpp DIBRStream.cpp \
InterpolatorCompressionStream.cpp MG.cpp MPEGJ.cpp
OBJS=${TMP1:%.cpp=%.o} 
BIFSOBJ=${BIFSSRC:%.cpp=%.o}
COREOBJ=${CORESRC:%.cpp=%.o}
ZTLOBJ=${ZTLSRC:%.cpp=%.o}
UIOBJ=${UISRC:%.cpp=%.o}
MUXOBJ=${MUXSRC:%.cpp=%.o}

CRIPMPOBJ=${CRIPMPSRC:%.cpp=%.o}
AFXPOBJ=${AFXSRC:%.cpp=%.o}

#
# TARGET
#

TARGET= mp4enc

LIBRARY_PATH=-L./../../library_player3d -L. 

# Use Mux's Makefile
all:libisomp4 mux_obj afx_obj ${TARGET}
${TARGET}:${OBJS}
# PORTING to CC 5.3
# No need of -ptr
#	$(CC) -ptr. -ptr./../Mux -ptr./../Core -ptr./../BifsEnc -ptr./../UI -o ${TARGET} \
#${LIBRARY_PATH} ${OBJS} ${BIFSOBJ} ${COREOBJ} ${ZTLOBJ} ${UIOBJ} ${MUXOBJ} \
#-lisomp4 -ldl
	$(CC) -o ${TARGET} \
${LIBRARY_PATH} ${OBJS} ${BIFSOBJ} ${COREOBJ} ${ZTLOBJ} ${UIOBJ} ${CRIPMPOBJ} ${AFXOBJ} ${MUXOBJ} \
-lisomp4 -ldl

%.o:%.cpp
	$(CC)  -DMUX -D__UNIX $(INCLUDE_PATH) $(DEBUG_FLAG) -c -KPIC  $?

libisomp4:
	cd ../libisomediafile/solaris; make

mux_obj:
	cd ../Mux; make

afx_obj:
	cd ../IM1Decoders/AFX; make mux

clean:
	rm -rf ${TARGET} *.o SunWScache
	cd ../Mux; make clean 

