TERRALIBDIR = F:\TerraLib\tl-emiliano-3.2.1 HC= ghc HC_OPTS= -XForeignFunctionInterface -XOverlappingInstances -XUndecidableInstances -fwarn-name-shadowing -XGenerics CFLAGS= -I$(TERRALIBDIR)\src\terralib\kernel -I$(TERRALIBDIR)\src\terralib\application -I$(TERRALIBDIR)\src\shapelib -I$(TERRALIBDIR)\src\terralib\functions -I$(TERRALIBDIR)\src\terralib\drivers\shapelib -I$(TERRALIBDIR)\src\terralib\drivers\MySQL -I$(TERRALIBDIR)\src\terralib\drivers\MySQL\include CC=e:\Softwares\MinGW\bin\gcc #all: TARGET TeHsGeometry.hs #SRCS= SRCS= TerraHS/Misc/StrFunctions.hs TerraHS/Misc/TimeFunctions.hs TerraHS/Misc/Databases.hs TerraHS/Misc/Generic.hs TerraHS/Misc/Object.hs TerraHS/Misc.hs TerraHS/TerraLib/TeCoord2D.hs TerraHS/TerraLib/TePoint.hs TerraHS/TerraLib/TeLine2D.hs TerraHS/TerraLib/TeBox.hs TerraHS/TerraLib/TeCell.hs TerraHS/TerraLib/TePolygon.hs TerraHS/TerraLib/TeGeometry.hs TerraHS/TerraLib/TeTable.hs TerraHS/TerraLib/TeSTInstance.hs TerraHS/TerraLib/TeOverlay.hs TerraHS/TerraLib/TeTopologyOps.hs TerraHS/TerraLib/TeGeometryAlgorithms.hs TerraHS/TerraLib/TeRaster.hs TerraHS/TerraLib/TeLayer.hs TerraHS/TerraLib/TeQuerier.hs TerraHS/TerraLib/TeDatabase.hs TerraHS/TerraLib.hs TerraHS.hs Algebras/Base/Points.hs Algebras/Base/Lines.hs Algebras/Base/Polygons.hs Algebras/Base/Attribute.hs Algebras/Base/Ids.hs Algebras/Base/Geometries.hs Algebras/Base/GeoObjects.hs Algebras/Functor/Category.hs Algebras/Base/Raster.hs Algebras/Base/Operations.hs Algebras/Base/GeoDatabases.hs Algebras/Base.hs Algebras/Model.hs Algebras/Functor/GeoModel.hs #SRCS= TerraHS/Misc/StrFunctions.hs TerraHS/Misc/TimeFunctions.hs TerraHS/Misc/Databases.hs TerraHS/Misc/Generic.hs TerraHS/Misc/Object.hs TerraHS/Misc.hs TerraHS/TerraLib/TeCoord2D.hs TerraHS/TerraLib/TePoint.hs OBJS=$(SRCS:.hs=.o) INT=$(SRCS:.hs=.hi) INT=$(SRCS:.hc=.hi) all: CTARGET install: mkdir dist mkdir dist/TerraHS/ cp TerraHS/*.hi dist/TerraHS/ cp *.a dist cp *.hi dist #TARGET : $(OBJS) # ar -cqs libIntCTerralib.a *.o TARGET: $(OBJS) # ar -cqs lib/libHSTerraHS-0.3.a $(COBJS) $(OBJS) ar -cqs lib/libHSTerraHS-0.4.a $(OBJS) #ld -r --whole-archive -o lib/HSTerraHS-0.4.o lib/libHSTerraHS-0.4.a #ghc -shared lib/HSTerraHS-0.4.so $(OBJS) .SUFFIXES : .o .hs .hi .lhs .hc .hsc .s .cpp # Standard suffix rules .o.hi: @: .hs.o: $(HC) -c $(HC_OPTS) TerraHS/TerraLib/TeDatabase.hs-boot -package-name TerraHS-0.4 $(HC) -c $< $(HC_OPTS) -package-name TerraHS-0.4 # cpp #CSRCS= CSRCS= TerraHS/TerraLibc/c_tegeometry.cpp TerraHS/TerraLibc/c_tetable.cpp TerraHS/TerraLibc/c_tedatabase.cpp TerraHS/TerraLibc/c_testinstance.cpp TerraHS/TerraLibc/c_geometryalgorithms.cpp TerraHS/TerraLibc/c_teraster.cpp TerraHS/TerraLibc/c_telayer.cpp TerraHS/TerraLibc/TeMySQL.cpp TerraHS/TerraLibc/c_temporal.cpp TerraHS/TerraLibc/c_tequerier.cpp COBJS=$(CSRCS:.cpp=.o) CTARGET : $(COBJS) # g++ -shared -o lib/terralibc.dll lib/libmysqlclient.a -lterralib_mw $(COBJS) lib/terralibc.def -Wl,--enable-stdcall-fixup,--out-implib,libterralibc.a -L lib g++ -shared -o lib/terralibc.dll $(COBJS) lib/libmysql.a lib/libterralib_mw.a lib/terralibc.def -Wl,--enable-stdcall-fixup,--out-implib,libterralibc.a -L lib .SUFFIXES : .o .cpp .cpp.o: $(CC) -DBUILD_DLL -c $< $(CFLAGS) -o $@ clean: rm -f *.o *.hi *~