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

#PORTING to Java 2
#JAVA_HOME = /usr/java1.1
#
# Include path
#
# INCLUDE_PATH=-I. -I./../Include -I./../Core -I./../  -I./../../sparc_solaris_64bit/glut-3.7/include/GL -I./../opengl/sensors
# PORTING to CC 5.3
# Using GLUT_HOME
#INCLUDE_PATH=-I. -I./../Include -I./../Core -I./../  -I/pkg/X11/glut/include/GL -I./../opengl/sensors\
-I./../Decoder -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris
INCLUDE_PATH=-I. -I./../Include -I./../Core -I./../  -I${GLUT_HOME}/include/GL -I./../opengl/sensors\
-I./../Decoder -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris

#
# LIBRARY PATH
#
# Using GLUT_HOME
#LIBRARY_PATH=-L./../../library_player3d -L. -L/pkg/X11/glut/lib
LIBRARY_PATH=-L./../../library_player3d -L. -L${GLUT_HOME}/lib/glut -L./../script/JSWrap/SunOS5.9 
# LIBRARY_PATH=-L./../../library_player3d 
CC = CC 
DEBUG_FLAG = -g
#Sources
SOURCES:sh = ls *.cpp ../mpegj-player/MPJScene.cpp ../mpegj-player/MPJNode.cpp


#
#TARGET FILE 
#
TARGET=Player3d

#
#OBJECT FILES
#
OBJS=$(SOURCES:%.cpp=%.o) 

#
#library files
#
# SOLARIS PORTING - Added the "face"
# PORTING to Java 2
#LIB = -lztl -lCore -lmpegj -lmpjterminal -lDMIFBridge -ljava -lface -lGL -lOpenGl -lglut -L/lib -lGLU -L/lib -lGL -L/usr/openwin -ldga -lXmu -lm -lXm -lXi -lXext -lX11 -lm -lthread -lpthread -lsocket -lnsl -ldl
LIB = -lztl -lCore -lmpegj -lmpjterminal -lDMIFBridge -ljvm -lface -lGL -lOpenGl -ljs -lFileMP4Instance -lisomp4 -lglut -L/lib -lGLU -L/lib -lGL -L/usr/openwin -ldga -lXmu -lm -lXm -lXi -lXext -lX11 -lm -lthread -lpthread -lsocket -lnsl -ldl

all: ztl_obj core_obj dmif_obj file_obj file_mp4_obj \
ipmp_null_obj opengl_obj face_obj mpegj_player mpegj \
${TARGET} 

${TARGET}: ${OBJS} ../Include/thread_utils.o ../../library_player3d/libOpenGl.so 
# PORTING to CC 5.3 - Using -library=iostream
# Ptential problems
#	$(CC) -o  ${TARGET} -DGLUT -DPLAYER3D  ${LIBRARY_PATH} ${OBJS} ../Include/thread_utils.o ${LIB}
	$(CC) -o  ${TARGET} -DGLUT -DPLAYER3D -library=iostream ${LIBRARY_PATH} ${OBJS} ../Include/thread_utils.o ${LIB}
#	$(CC) -o  ${TARGET} -DGLUT  ${LIBRARY_PATH} ${INCLUDE_PATH} ${OBJS} ${LIB}

../Include/thread_utils.o: ../Include/thread_utils.cpp
	$(CC)  $(INCLUDE_PATH) $(DEBUG_FLAG) -D__UNIX -c -KPIC  ../Include/thread_utils.cpp -o ../Include/thread_utils.o

ztl_obj:
	cd ../ZTL; make all
core_obj:
	cd ../Core; make all
dmif_obj:
	cd ../DMIF/DMIFClientFilter;make all
file_obj:
	cd ../DMIF/FileTrifInstance;make all
file_mp4_obj:
	cd ../DMIF/FileMP4Instance;make all
remote_obj:
	cd ../DMIF/RemoteInstance;make all
ipmp_null_obj:
	cd ../IPMP/IPMPNull;make all
ipmp_triv_obj:
	cd ../IPMP/IPMPTriv;make all
opengl_obj:.
	cd ../OpenGl; make all
face_obj:
	cd ../Face; make all
mpegj_player:
	cd ../mpegj-player; make player3d_scene

%.o:%.cpp
	$(CC) -DGLUT -DPLAYER3D -DADV_AUDIO -DMPGJ -D__UNIX $(INCLUDE_PATH) $(DEBUG_FLAG) -c -KPIC -mt  $?


decoders: h263_dec g723_dec jpeg_dec fba_dec null_dec \
mpegj_dec


h263_dec:
	cd ../H263Decoder; make all

g723_dec:
	cd ../IM1Decoders/G723; make all

mesh_dec:
	cd ../MeshDecoder; make all

jpeg_dec:
	cd ../IM1Decoders/JPEG; make all

fba_dec:
	cd ../Fba; make all

null_dec:
	cd ../NullDecoder; make all

#pcm_dec:
#	cd ../PcmDecoder; make all

#mpeg4_dec:
#	cd ../Mpeg4Decoder; make

mpegj_dec:
	cd ../MpegjDec; make

# added this for mpegj
mpegj: channel cpu dmif_bridge mpegj-player debug_console mpjscene \
mpjterminal resource_mgr mpdecoder

channel:
	cd ../Mpgj/sources; make channel

cpu:
	cd ../Mpgj/sources; make cpu

dmif_bridge:
	cd ../Mpgj/sources; make dmif_bridge

mpegj-player:
	cd ../mpegj-player; make mpegj; make

debug_console:
	cd ../mpegj/MPEGJDebugConsole; make

mpjscene:
	cd ../mpegj/mpjscene-dll; make

mpjterminal:
	cd ../mpegj/mpjterminal; make

resource_mgr:
	cd ../mpegj/resourcemanager; make

mpdecoder:
	cd ../mpegj/decoder; make

clean:
	rm -rf *.o
	cd ../Core; make clean
	cd ../OpenGl; make clean
	cd ../../library_player3d; rm -r *
	find ../ -type f -name "*.o" | xargs rm
# PORTING to CC 5.3
	find ../ -type d -name "SunWS_cache" | xargs rm -r

