TARGETS = project_ortho_cobe \
	  raster_build_quadtree \
	  compress_texture \
	  cobe_build_quadtree \
	  build_vecto_base \
	  build_vecto_pof \
	  joint_lines \
	  pack_vectinfo \
	  pack_directory \
	  remove_lod

all: $(TARGETS)

OPTIONS = -DUSE_TEXTURE_COMPRESSION
OPTIMIZE = #-O3 
DEBUG = -DNDEBUG -g #-pg

CXXFLAGS = -Wall $(shell sdl-config --cflags) $(OPTIONS) $(OPTIMIZE) $(DEBUG) 
SDL_LIBS = $(shell sdl-config --libs) -lSDL_image
GL_LIBS = -L/usr/X11R6/lib -lGL -lGLU -lGLEW
LD_FLAGS = $(SDL_LIBS) $(GL_LIBS) 
CC = g++

ortho2cobe.o: ortho2cobe.cpp
VSDL.o: VSDL.cpp
rawimage.o: rawimage.cpp

build_textures_base: build_textures_base.o carto.o zone.o geoimage.o base_tuilery.o filesearch.o ../libchunkedterrain.a
	   $(CC) -o build_textures_base build_textures_base.o carto.o geoimage.o zone.o base_tuilery.o filesearch.o ../libchunkedterrain.a $(SDL_LIBS) -lgeotiff -ltiff -ljpeg -lz

build_textures_quadtree: build_textures_quadtree.o ../Node.o ../TerrainSetup.o
	   $(CC) -o build_textures_quadtree build_textures_quadtree.o ../Node.o ../TerrainSetup.o $(SDL_LIBS)

compress_texture: compress_texture.o VSDL.o
	   $(CC) $(OPTIMIZE) -o compress_texture compress_texture.o VSDL.o $(LD_FLAGS)

project_ortho_cobe: project_ortho_cobe.o rawimage.o
	$(CC) $(OPTIMIZE) -o project_ortho_cobe project_ortho_cobe.o rawimage.o ../Texture.o ../projection.o ../Node.o ../gl_stuff.o $(LD_FLAGS)

raster_build_quadtree: raster_build_quadtree.o rawimage.o
	$(CC) $(OPTIMIZE) -o raster_build_quadtree raster_build_quadtree.o rawimage.o ../Texture.o ../projection.o ../Node.o ../gl_stuff.o $(LD_FLAGS)

ortho2cobe: ortho2cobe.o rawimage.o
	$(CC) $(OPTIMIZE) -o ortho2cobe ortho2cobe.o rawimage.o ../Texture.o ../projection.o ../Node.o ../gl_stuff.o $(LD_FLAGS)

cobe_build_quadtree: cobe_build_quadtree.o
	$(CC) $(OPTIMIZE) -o cobe_build_quadtree cobe_build_quadtree.o ../Texture.o ../projection.o ../gl_stuff.o $(LD_FLAGS)

joint_lines: joint_lines.cpp 
	$(CC) $(OPTIMIZE) -o joint_lines joint_lines.cpp $(LD_FLAGS)

build_vecto_base: build_vecto_base.cpp
	$(CC) $(CXXFLAGS) -o build_vecto_base build_vecto_base.cpp ../projection.o ../VectObjects.o ../VectInfos.o ../sdl_stuff.o ../Options.o  $(LD_FLAGS)

build_vecto_pof: build_vecto_pof.cpp
	$(CC) $(CXXFLAGS) -o build_vecto_pof build_vecto_pof.cpp ../projection.o ../VectObjects.o ../VectInfos.o ../sdl_stuff.o ../Options.o  $(LD_FLAGS)

remove_lod: remove_lod.cpp
	$(CC) $(OPTIMIZE) -o remove_lod remove_lod.cpp ../projection.o ../Node.o  $(LD_FLAGS)

pack_vectinfo: pack_vectinfo.cpp
	$(CC) $(CXXFLAGS) -o pack_vectinfo pack_vectinfo.cpp ../VectInfos.o ../VectObjects.o ../sdl_stuff.o ../projection.o ../Node.o ../Options.o  $(LD_FLAGS)

pack_directory: pack_directory.cpp directory_parser.hpp directory_parser.cpp
	$(CC) $(OPTIMIZE) -o pack_directory pack_directory.cpp directory_parser.cpp ../DataSet.o $(LD_FLAGS)

clean:
	   rm *.o *~ -rf

distclean:
	   rm *.o *~ $(TARGETS) -rf

