# SandroFurieri (c) 2008
# Makefile ( Mingw & wxwidgets) for spatialite-GUI

SRC = Main.cpp TableTree.cpp QueryView.cpp ResultSetView.cpp BlobExplorer.cpp \
	Dialogs.cpp Shapefiles.cpp Network.cpp Exif.cpp TextCsv.cpp Objects.cpp \
	MetadataInit.cpp win_resource/resource.rc
OBJ = Main.o TableTree.o QueryView.o ResultSetView.o BlobExplorer.o \
	Dialogs.o Shapefiles.o Network.o Exif.o TextCsv.o Objects.o \
	MetadataInit.o win_resource/resource.o 
EXE = ./bin/spatialite-gui.exe
INCLUDE = Classdef.h 

# Define default flags:
CXXFLAGS = $(shell wx-config --cxxflags) 
LIB = $(shell wx-config --libs)
EXTRAFLAGS = -O3 -march=i686 -Wall -Wundef -Wno-ctor-dtor-privacy \
	-fno-strict-aliasing -I/usr/local/include -D_LARGE_FILE=1 \
	-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1
REZ = $(shell wx-config --rescomp)
EXTRALIBS = /usr/local/lib/libspatialite.a /usr/local/lib/libgeos_c.a \
	/usr/local/lib/libiconv.a /usr/local/lib/libgeos.a \
	/usr/local/lib/libproj.a 

all: $(EXE)

$(EXE): $(OBJ) $(EXTRALIBS)
	$(CXX) $(OBJ) -o $(EXE) $(LIB) $(EXTRALIBS)
	strip --strip-all  $(EXE)

clean :
	$(RM) $(OBJ) $(EXE)
	
Main.o: Main.cpp $(INCLUDE)
	$(CXX) -c Main.cpp $(CXXFLAGS) $(EXTRAFLAGS)

TableTree.o: TableTree.cpp $(INCLUDE)
	$(CXX) -c TableTree.cpp $(CXXFLAGS) $(EXTRAFLAGS)

QueryView.o: QueryView.cpp $(INCLUDE)
	$(CXX) -c QueryView.cpp $(CXXFLAGS) $(EXTRAFLAGS)

ResultSetView.o: ResultSetView.cpp $(INCLUDE)
	$(CXX) -c ResultSetView.cpp $(CXXFLAGS) $(EXTRAFLAGS)

BlobExplorer.o: BlobExplorer.cpp $(INCLUDE)
	$(CXX) -c BlobExplorer.cpp $(CXXFLAGS) $(EXTRAFLAGS)

Dialogs.o: Dialogs.cpp $(INCLUDE)
	$(CXX) -c Dialogs.cpp $(CXXFLAGS) $(EXTRAFLAGS)

Shapefiles.o: Shapefiles.cpp $(INCLUDE)
	$(CXX) -c Shapefiles.cpp $(CXXFLAGS) $(EXTRAFLAGS)

Network.o: Network.cpp $(INCLUDE)
	$(CXX) -c Network.cpp $(CXXFLAGS) $(EXTRAFLAGS)

Exif.o: Exif.cpp $(INCLUDE)
	$(CXX) -c Exif.cpp $(CXXFLAGS) $(EXTRAFLAGS)

TextCsv.o: TextCsv.cpp $(INCLUDE)
	$(CXX) -c TextCsv.cpp $(CXXFLAGS) $(EXTRAFLAGS)

Objects.o: Objects.cpp $(INCLUDE)
	$(CXX) -c Objects.cpp $(CXXFLAGS) $(EXTRAFLAGS)

MetadataInit.o: MetadataInit.cpp $(INCLUDE)
	$(CXX) -c MetadataInit.cpp $(CXXFLAGS) $(EXTRAFLAGS)
		
win_resource/resource.o: win_resource/resource.rc
	$(REZ) -i win_resource/resource.rc -o win_resource/resource.o 
