top_builddir = $(GDAL_ROOT) # # the library can be built by the native build or with the help of libtool # HAVE_LIBTOOL = @HAVE_LIBTOOL@ LIBTOOL = @LIBTOOL@ ifeq ($(HAVE_LIBTOOL),yes) LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile LIBTOOL_LINK = $(LIBTOOL) --mode=link LIBTOOL_INSTALL = $(LIBTOOL) --mode=install LIBTOOL_FINISH = $(LIBTOOL) --mode=finish --silent LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean else LIBTOOL_FINISH = /bin/true endif CC = $(LIBTOOL_COMPILE) @CC@ CXX = $(LIBTOOL_COMPILE) @CXX@ LD = $(LIBTOOL_LINK) @CXX@ RM = $(LIBTOOL_CLEAN) /bin/rm -f *.lo INSTALL = $(LIBTOOL_INSTALL) $(GDAL_ROOT)/install-sh -c INSTALL_LIB = $(LIBTOOL_INSTALL) $(GDAL_ROOT)/install-sh -c INSTALL_DATA = $(GDAL_ROOT)/install-sh -c -m 0644 INSTALL_DIR = $(GDAL_ROOT)/install-sh -d #Flags to build optimized relese version CXX_OPTFLAGS = @CXXFLAGS@ C_OPTFLAGS = @CFLAGS@ # Flags to build debug version CXX_DBGFLAGS = -g -DDEBUG C_DBGFLAGS = -g -DDEBUG # Flags to build profiling version CXX_PROFFLAGS = -g3 -pg -DDEBUG C_PROFFLAGS = -g3 -pg -DDEBUG LIBS = @LIBS@ PYTHON_INCLUDES = @PYTHON_INCLUDES@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ @NUMPY_FLAG@ PYTHON = @PYTHON@ HAVE_OGDI = @HAVE_OGDI@ OGR_ENABLED = @OGR_ENABLED@ prefix = @prefix@ exec_prefix = @exec_prefix@ INST_PREFIX = @exec_prefix@ INST_INCLUDE = @includedir@ INST_DATA = @datadir@ INST_LIB = @libdir@ INST_BIN = @bindir@ INST_PYMOD = @pymoddir@ INST_DOCS = @exec_prefix@/doc INST_MAN = @mandir@ # # Whether we use debug flags, or optimization is determined by # the CFG environment variable. Set to debug for debug builds. # This is similar to the OGDI builds. # ifneq (,$(findstring debug,$(CFG))) C_ODFLAGS = $(C_DBGFLAGS) CXX_ODFLAGS = $(CXX_DBGFLAGS) endif ifneq (,$(findstring gprof,$(CFG))) C_ODFLAGS = $(CXX_PROFFLAGS) CXX_ODFLAGS = $(C_PROFFLAGS) LNK_FLAGS = -pg LIBS := $(filter-out -ldbmalloc,$(LIBS)) endif ifeq ($(CFG),) C_ODFLAGS = $(C_OPTFLAGS) CXX_ODFLAGS = $(CXX_OPTFLAGS) LIBS := $(filter-out -ldbmalloc,$(LIBS)) endif CPPFLAGS = @CPPFLAGS@ -I$(GDAL_ROOT)/port @EXTRA_INCLUDES@ CFLAGS = @C_WFLAGS@ @C_PIC@ $(C_ODFLAGS) $(USER_DEFS) CXXFLAGS = @CXX_WFLAGS@ @CXX_PIC@ $(CXX_ODFLAGS) $(USER_DEFS) RANLIB = @RANLIB@ SO_EXT = @SO_EXT@ LD_SHARED = @LD_SHARED@ EXE = @EXE_EXT@ ifeq ($(notdir $(LD_SHARED)),true) HAVE_LD_SHARED = no else HAVE_LD_SHARED = yes endif GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \ -I$(GDAL_ROOT)/ogr -I$(GDAL_ROOT)/alg # libtool targets and help variables LIBGDAL := $(GDAL_ROOT)/libgdal.la LIBGDAL_CURRENT := 5 LIBGDAL_REVISION := 1 LIBGDAL_AGE := 4 # native build targets and variables GDAL_VER = @GDAL_VER@ GDAL_LIB = $(GDAL_ROOT)/libgdal.a GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT) GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal # # OGR/PostgreSQL support. # HAVE_OGR_PG = @HAVE_PG@ PG_LIB = @PG_LIB@ PG_INC = @PG_INC@ LIBS += $(PG_LIB) # # HDF4 Support. # HDF4_INCLUDE = @HDF4_INCLUDE@ -I$(GDAL_ROOT)/ogr # # DODS Include file location # DODS_INC = @DODS_INC@ ifeq ($(DODS_INC),) HAVE_DODS = no else HAVE_DODS = yes endif # # SQLite # SQLITE_INC = @SQLITE_INC@ HAVE_SQLITE = @HAVE_SQLITE@ # # JPEG2000 via Kakadu Support. # KAKDIR = @KAKDIR@ # # JPEG-2000 Support via JasPer library. # HAVE_JASPER = @HAVE_JASPER@ JASPER_INCLUDE = -I../libjasper/include JASPER_FLAGS = @JASPER_FLAGS@ # # MrSID support via LizardTech's DSDK # MRSID_FLAGS = @MRSID_FLAGS@ MRSID_INCLUDE = @MRSID_INCLUDE@ # # Xerces C++ XML Parser for GML. # HAVE_XERCES = @HAVE_XERCES@ XERCES_INCLUDE = @XERCES_INCLUDE@ # # Oracle Spatial Support # HAVE_OCI = @HAVE_OCI@ OCI_INCLUDE = @OCI_INCLUDE@ # GEOS Support HAVE_GEOS = @HAVE_GEOS@ GEOS_INC = @GEOS_INC@ # GRASS Support GRASS_SETTING = @GRASS_SETTING@ GRASS_INCLUDE = @GRASS_INCLUDE@ # # FMEObjects # ifeq (@X_FME_HOME@,) HAVE_FME = no FME_INCLUDE = else HAVE_FME = yes FME_INCLUDE = -I@X_FME_HOME@/fmeobjects/cpp endif OGDI_INCLUDE = @OGDI_INCLUDE@ PNG_SETTING = @PNG_SETTING@ JPEG_SETTING = @JPEG_SETTING@ TIFF_SETTING = @TIFF_SETTING@ GEOTIFF_SETTING = @GEOTIFF_SETTING@ GIF_SETTING = @GIF_SETTING@ FITS_SETTING = @FITS_SETTING@ OGDI_SETTING = @HAVE_OGDI@ ODBC_SETTING = @ODBC_SETTING@ NETCDF_SETTING = @NETCDF_SETTING@ LIBZ_SETTING = @LIBZ_SETTING@ # # PROJ.4 stuff # PROJ_STATIC = @PROJ_STATIC@ ifeq ($(PROJ_STATIC),yes) PROJ_FLAGS = -DPROJ_STATIC endif PROJ_INCLUDE = @PROJ_INCLUDE@ GDAL_LIBS = $(GDAL_LIB) ifeq ($(OGR_ENABLED),yes) GDAL_LIBS := $(GDAL_LIB) $(PG_LIB) $(OCI_LIB) $(GDAL_LIBS) endif # # Note these codes have to exactly match the format directory names, # and their uppercase form should be the format portion of the # format registration entry point. eg. gdb -> GDALRegister_GDB(). # GDAL_FORMATS = gxf gtiff hfa aigrid aaigrid ceos ceos2 iso8211 xpm \ sdts raw dted mem jdem envisat elas fit vrt usgsdem l1b \ nitf bmp pcidsk \ @OPT_GDAL_FORMATS@ # # CONFIG_LIBS is what local program should link against, and CONFIG_LIBS_INS # is what will be emitted into the gdal-config script that is installed # globally. # ifeq ($(HAVE_LIBTOOL), yes) CONFIG_LIBS = $(LIBGDAL) CONFIG_LIBS_INS = -L$(INST_LIB) -lgdal EXE_DEP_LIBS = $(LIBGDAL) SO_EXT = la else ifeq ($(HAVE_LD_SHARED),yes) CONFIG_LIBS = $(GDAL_SLIB_LINK) $(LIBS) CONFIG_LIBS_INS = -L$(INST_LIB) -lgdal EXE_DEP_LIBS = $(GDAL_SLIB) else CONFIG_LIBS = $(GDAL_LIBS) $(LIBS) CONFIG_LIBS_INS = $(foreach LF,$(GDAL_LIBS),$(INST_LIB)/$(notdir $(LF)))\ $(LIBS) EXE_DEP_LIBS = $(GDAL_LIB) endif endif # HAVE_LIBTOOL # # generic library rules # # # gdal and ogr low level drivers use the following default rules in order to # populate the ../o/ directory with all object and library object files # O_OBJ = $(foreach file,$(OBJ),../o/$(file)) ../o/%.o: %.c $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< ../o/%.o: %.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< %.o: %.c $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< %.o: %.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< # # default rules for handling subdirectories # %-target: $(MAKE) -C $* %-clean: $(MAKE) -C $* clean