all: terraView

shapelib:
	cd ../../terralibx/shapelib; make

shp_dbg:
	cd ../../terralibx/shapelib; make debug

jpeg:
	cd ../../terralibx/libjpeg; make

jpeg_dbg:
	cd ../../terralibx/libjpeg; make debug

tiff:
	cd ../../terralibx/tiff; make

tiff_dbg:
	cd ../../terralibx/tiff; make debug

qwtlib:	
	cd ../../terralibx/qwt; make

qwt_dbg:	
	cd ../../terralibx/qwt; make debug

spl:	
	cd ../../terralibx/libspl; make	

spl_dbg:	
	cd ../../terralibx/libspl; make	debug

terralib:
	cd ../../terralibx/terralib; make

terralib_dbg:
	cd ../../terralibx/terralib; make debug

stat:
	cd ../../terralibx/stat; make
	
stat_dbg:
	cd ../../terralibx/stat; make debug
	
terralibpdi:
	cd ../../terralibx/image_processing; make
	
terralibpdi_dbg:
	cd ../../terralibx/image_processing; make debug
	
terraView: jpeg shapelib tiff qwtlib spl terralib stat terralibpdi tview_release copy_dlls

tview_release: 
	qmake -o makeTerraView terraView.pro; make -f makeTerraView

tview_dbg:
	qmake -o makeTerraView.debug terraView.pro TE_PROJECT_TYPE=DEBUG; make -f makeTerraView.debug

debug: jpeg_dbg shp_dbg tiff_dbg qwt_dbg spl_dbg terralib_dbg stat_dbg terralibpdi_dbg tview_dbg copy_dlls_dbg

copy_dlls:
	cd ../../terralibx/Release; rm -f libclntsh.so.10.1; ln -s ../Oracle/libclntsh.so.10.1 libclntsh.so.10.1
	cd ../../terralibx/Release; rm -f libclntsh.so; ln -s ../Oracle/libclntsh.so.10.1 libclntsh.so
	cd ../../terralibx/Release; rm -f libnnz10.so; ln -s ../Oracle/libnnz10.so libnnz10.so
	cd ../../terralibx/Release; rm -f libpq.a; ln -s ../PostgreSQL/libpq.a libpq.a
	cd ../../terralibx/Release; rm -f libmysqlclient.a; ln -s ../MySQL/libmysqlclient.a libmysqlclient.a
	cd ../../terralibx/Release; rm -f libGL.so.1; ln -s ../opengl/libGL.so.1 libGL.so.1
	cd ../../terralibx/Release; rm -f libGL.so; ln -s ../opengl/libGL.so.1 libGL.so
	cd ../../terralibx/Release; rm -f libGLU.so.1; ln -s ../opengl/libGLU.so.1 libGLU.so.1
	cd ../../terralibx/Release; rm -f libGLU.so; ln -s ../opengl/libGLU.so.1 libGLU.so
	cd ../../terralibx/Release; rm -f libdrm.so.2; ln -s ../opengl/libdrm.so.2 libdrm.so.2

copy_dlls_dbg:
	cd ../../terralibx/Debug; rm -f libclntsh.so.10.1; ln -s ../Oracle/libclntsh.so.10.1 libclntsh.so.10.1
	cd ../../terralibx/Debug; rm -f libclntsh.so; ln -s ../Oracle/libclntsh.so.10.1 libclntsh.so
	cd ../../terralibx/Debug; rm -f libnnz10.so; ln -s ../Oracle/libnnz10.so libnnz10.so
	cd ../../terralibx/Debug; rm -f libpq.a; ln -s ../PostgreSQL/libpq.a libpq.a
	cd ../../terralibx/Debug; rm -f libmysqlclient.a; ln -s ../MySQL/libmysqlclient.a libmysqlclient.a
	cd ../../terralibx/Debug; rm -f libGL.so.1; ln -s ../opengl/libGL.so.1 libGL.so.1
	cd ../../terralibx/Debug; rm -f libGL.so; ln -s ../opengl/libGL.so.1 libGL.so
	cd ../../terralibx/Debug; rm -f libGLU.so.1; ln -s ../opengl/libGLU.so.1 libGLU.so.1
	cd ../../terralibx/Debug; rm -f libGLU.so; ln -s ../opengl/libGLU.so.1 libGLU.so
	cd ../../terralibx/Debug; rm -f libdrm.so.2; ln -s ../opengl/libdrm.so.2 libdrm.so.2

clean:
	cd ../../terralibx/libjpeg; make clean
	cd ../../terralibx/shapelib; make clean
	cd ../../terralibx/tiff; make clean
	cd ../../terralibx/terralib; make clean
	cd ../../terralibx/stat; make clean
	cd ../../terralibx/image_processing; make clean
	cd ../../terralibx/qwt; make clean	
	cd ../../terralibx/libspl; make clean
	cd ../../terralibx/Release; rm -f lib*
	if \
	 test -f makeTerraView; \
	then \
	make -f makeTerraView distclean; rm -f makeTerraView; \
	fi
	
clean_debug:
	cd ../../terralibx/libjpeg; make clean_debug
	cd ../../terralibx/shapelib; make clean_debug
	cd ../../terralibx/tiff; make clean_debug
	cd ../../terralibx/terralib; make clean_debug
	cd ../../terralibx/stat; make clean_debug
	cd ../../terralibx/image_processing; make clean_debug
	cd ../../terralibx/qwt; make clean_debug	
	cd ../../terralibx/libspl; make clean_debug
	cd ../../terralibx/Debug; rm -f lib*
	if \
	 test -f makeTerraView.debug; \
	then \
	make -f makeTerraView.debug distclean; rm -f makeTerraView.debug; \
	fi
	
