| 1 |
top_builddir = $(GDAL_ROOT) |
|---|
| 2 |
|
|---|
| 3 |
# |
|---|
| 4 |
# the library can be built by the native build or with the help of libtool |
|---|
| 5 |
# |
|---|
| 6 |
HAVE_LIBTOOL = @HAVE_LIBTOOL@ |
|---|
| 7 |
LIBTOOL = @LIBTOOL@ |
|---|
| 8 |
ifeq ($(HAVE_LIBTOOL),yes) |
|---|
| 9 |
LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile |
|---|
| 10 |
LIBTOOL_LINK = $(LIBTOOL) --mode=link |
|---|
| 11 |
LIBTOOL_INSTALL = $(LIBTOOL) --mode=install |
|---|
| 12 |
LIBTOOL_FINISH = $(LIBTOOL) --mode=finish --silent |
|---|
| 13 |
LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean |
|---|
| 14 |
else |
|---|
| 15 |
LIBTOOL_FINISH = /bin/true |
|---|
| 16 |
endif |
|---|
| 17 |
|
|---|
| 18 |
CC = $(LIBTOOL_COMPILE) @CC@ |
|---|
| 19 |
CXX = $(LIBTOOL_COMPILE) @CXX@ |
|---|
| 20 |
LD = $(LIBTOOL_LINK) @CXX@ |
|---|
| 21 |
RM = $(LIBTOOL_CLEAN) /bin/rm -f *.lo |
|---|
| 22 |
INSTALL = $(LIBTOOL_INSTALL) $(GDAL_ROOT)/install-sh -c |
|---|
| 23 |
INSTALL_LIB = $(LIBTOOL_INSTALL) $(GDAL_ROOT)/install-sh -c |
|---|
| 24 |
INSTALL_DATA = $(GDAL_ROOT)/install-sh -c -m 0644 |
|---|
| 25 |
INSTALL_DIR = $(GDAL_ROOT)/install-sh -d |
|---|
| 26 |
|
|---|
| 27 |
#Flags to build optimized relese version |
|---|
| 28 |
CXX_OPTFLAGS = @CXXFLAGS@ |
|---|
| 29 |
C_OPTFLAGS = @CFLAGS@ |
|---|
| 30 |
# Flags to build debug version |
|---|
| 31 |
CXX_DBGFLAGS = -g -DDEBUG |
|---|
| 32 |
C_DBGFLAGS = -g -DDEBUG |
|---|
| 33 |
# Flags to build profiling version |
|---|
| 34 |
CXX_PROFFLAGS = -g3 -pg -DDEBUG |
|---|
| 35 |
C_PROFFLAGS = -g3 -pg -DDEBUG |
|---|
| 36 |
|
|---|
| 37 |
LIBS = @LIBS@ |
|---|
| 38 |
|
|---|
| 39 |
PYTHON_INCLUDES = @PYTHON_INCLUDES@ |
|---|
| 40 |
PYTHON_LIBS = @PYTHON_LIBS@ |
|---|
| 41 |
PYTHON_CFLAGS = @PYTHON_CFLAGS@ @NUMPY_FLAG@ |
|---|
| 42 |
PYTHON = @PYTHON@ |
|---|
| 43 |
|
|---|
| 44 |
HAVE_OGDI = @HAVE_OGDI@ |
|---|
| 45 |
OGR_ENABLED = @OGR_ENABLED@ |
|---|
| 46 |
|
|---|
| 47 |
prefix = @prefix@ |
|---|
| 48 |
exec_prefix = @exec_prefix@ |
|---|
| 49 |
INST_PREFIX = @exec_prefix@ |
|---|
| 50 |
INST_INCLUDE = @includedir@ |
|---|
| 51 |
INST_DATA = @datadir@ |
|---|
| 52 |
INST_LIB = @libdir@ |
|---|
| 53 |
INST_BIN = @bindir@ |
|---|
| 54 |
INST_PYMOD = @pymoddir@ |
|---|
| 55 |
INST_DOCS = @exec_prefix@/doc |
|---|
| 56 |
INST_MAN = @mandir@ |
|---|
| 57 |
|
|---|
| 58 |
# |
|---|
| 59 |
# Whether we use debug flags, or optimization is determined by |
|---|
| 60 |
# the CFG environment variable. Set to debug for debug builds. |
|---|
| 61 |
# This is similar to the OGDI builds. |
|---|
| 62 |
# |
|---|
| 63 |
ifneq (,$(findstring debug,$(CFG))) |
|---|
| 64 |
C_ODFLAGS = $(C_DBGFLAGS) |
|---|
| 65 |
CXX_ODFLAGS = $(CXX_DBGFLAGS) |
|---|
| 66 |
endif |
|---|
| 67 |
|
|---|
| 68 |
ifneq (,$(findstring gprof,$(CFG))) |
|---|
| 69 |
C_ODFLAGS = $(CXX_PROFFLAGS) |
|---|
| 70 |
CXX_ODFLAGS = $(C_PROFFLAGS) |
|---|
| 71 |
LNK_FLAGS = -pg |
|---|
| 72 |
LIBS := $(filter-out -ldbmalloc,$(LIBS)) |
|---|
| 73 |
endif |
|---|
| 74 |
|
|---|
| 75 |
ifeq ($(CFG),) |
|---|
| 76 |
C_ODFLAGS = $(C_OPTFLAGS) |
|---|
| 77 |
CXX_ODFLAGS = $(CXX_OPTFLAGS) |
|---|
| 78 |
LIBS := $(filter-out -ldbmalloc,$(LIBS)) |
|---|
| 79 |
endif |
|---|
| 80 |
|
|---|
| 81 |
CPPFLAGS = @CPPFLAGS@ -I$(GDAL_ROOT)/port |
|---|
| 82 |
CFLAGS = @C_WFLAGS@ @C_PIC@ $(C_ODFLAGS) @EXTRA_INCLUDES@ $(USER_DEFS) |
|---|
| 83 |
CXXFLAGS = @CXX_WFLAGS@ @CXX_PIC@ $(CXX_ODFLAGS) \ |
|---|
| 84 |
@EXTRA_INCLUDES@ $(USER_DEFS) |
|---|
| 85 |
|
|---|
| 86 |
RANLIB = @RANLIB@ |
|---|
| 87 |
SO_EXT = @SO_EXT@ |
|---|
| 88 |
LD_SHARED = @LD_SHARED@ |
|---|
| 89 |
EXE = @EXE_EXT@ |
|---|
| 90 |
|
|---|
| 91 |
ifeq ($(notdir $(LD_SHARED)),true) |
|---|
| 92 |
HAVE_LD_SHARED = no |
|---|
| 93 |
else |
|---|
| 94 |
HAVE_LD_SHARED = yes |
|---|
| 95 |
endif |
|---|
| 96 |
|
|---|
| 97 |
GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \ |
|---|
| 98 |
-I$(GDAL_ROOT)/ogr |
|---|
| 99 |
|
|---|
| 100 |
# libtool targets and help variables |
|---|
| 101 |
LIBGDAL := $(GDAL_ROOT)/libgdal.la |
|---|
| 102 |
LIBGDAL_CURRENT := 3 |
|---|
| 103 |
LIBGDAL_REVISION := 0 |
|---|
| 104 |
LIBGDAL_AGE := 2 |
|---|
| 105 |
|
|---|
| 106 |
# native build targets and variables |
|---|
| 107 |
GDAL_VER = @GDAL_VER@ |
|---|
| 108 |
|
|---|
| 109 |
GDAL_LIB = $(GDAL_ROOT)/libgdal.a |
|---|
| 110 |
GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT) |
|---|
| 111 |
GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal |
|---|
| 112 |
|
|---|
| 113 |
# |
|---|
| 114 |
# OGR/PostgreSQL support. |
|---|
| 115 |
# |
|---|
| 116 |
HAVE_OGR_PG = @HAVE_PG@ |
|---|
| 117 |
PG_LIB = @PG_LIB@ |
|---|
| 118 |
PG_INC = @PG_INC@ |
|---|
| 119 |
LIBS += $(PG_LIB) |
|---|
| 120 |
|
|---|
| 121 |
# |
|---|
| 122 |
# HDF4 Support. |
|---|
| 123 |
# |
|---|
| 124 |
HDF4_INCLUDE = @HDF4_INCLUDE@ |
|---|
| 125 |
|
|---|
| 126 |
# |
|---|
| 127 |
# DODS Include file location |
|---|
| 128 |
# |
|---|
| 129 |
DODS_INC = @DODS_INC@ |
|---|
| 130 |
ifeq ($(DODS_INC),) |
|---|
| 131 |
HAVE_DODS = no |
|---|
| 132 |
else |
|---|
| 133 |
HAVE_DODS = yes |
|---|
| 134 |
endif |
|---|
| 135 |
|
|---|
| 136 |
# |
|---|
| 137 |
# JPEG2000 via Kakadu Support. |
|---|
| 138 |
# |
|---|
| 139 |
KAKDIR = @KAKDIR@ |
|---|
| 140 |
|
|---|
| 141 |
# |
|---|
| 142 |
# JPEG-2000 Support via JasPer library. |
|---|
| 143 |
# |
|---|
| 144 |
HAVE_JASPER = @HAVE_JASPER@ |
|---|
| 145 |
JASPER_INCLUDE = -I../libjasper/include |
|---|
| 146 |
JASPER_FLAGS = @JASPER_FLAGS@ |
|---|
| 147 |
|
|---|
| 148 |
# |
|---|
| 149 |
# MrSID support via LizardTech's DSDK |
|---|
| 150 |
# |
|---|
| 151 |
MRSID_FLAGS = @MRSID_FLAGS@ |
|---|
| 152 |
MRSID_INCLUDE = @MRSID_INCLUDE@ |
|---|
| 153 |
|
|---|
| 154 |
# |
|---|
| 155 |
# Xerces C++ XML Parser for GML. |
|---|
| 156 |
# |
|---|
| 157 |
HAVE_XERCES = @HAVE_XERCES@ |
|---|
| 158 |
XERCES_INCLUDE = @XERCES_INCLUDE@ |
|---|
| 159 |
|
|---|
| 160 |
# |
|---|
| 161 |
# Oracle Spatial Support |
|---|
| 162 |
# |
|---|
| 163 |
HAVE_OCI = @HAVE_OCI@ |
|---|
| 164 |
OCI_INCLUDE = @OCI_INCLUDE@ |
|---|
| 165 |
|
|---|
| 166 |
|
|---|
| 167 |
# |
|---|
| 168 |
# FMEObjects |
|---|
| 169 |
# |
|---|
| 170 |
ifeq (@X_FME_HOME@,) |
|---|
| 171 |
HAVE_FME = no |
|---|
| 172 |
FME_INCLUDE = |
|---|
| 173 |
else |
|---|
| 174 |
HAVE_FME = yes |
|---|
| 175 |
FME_INCLUDE = -I@X_FME_HOME@/fmeobjects/cpp |
|---|
| 176 |
endif |
|---|
| 177 |
|
|---|
| 178 |
|
|---|
| 179 |
OGDI_INCLUDE = @OGDI_INCLUDE@ |
|---|
| 180 |
|
|---|
| 181 |
|
|---|
| 182 |
PNG_SETTING = @PNG_SETTING@ |
|---|
| 183 |
JPEG_SETTING = @JPEG_SETTING@ |
|---|
| 184 |
TIFF_SETTING = @TIFF_SETTING@ |
|---|
| 185 |
GEOTIFF_SETTING = @GEOTIFF_SETTING@ |
|---|
| 186 |
GIF_SETTING = @GIF_SETTING@ |
|---|
| 187 |
FITS_SETTING = @FITS_SETTING@ |
|---|
| 188 |
OGDI_SETTING = @HAVE_OGDI@ |
|---|
| 189 |
ODBC_SETTING = @ODBC_SETTING@ |
|---|
| 190 |
NETCDF_SETTING = @NETCDF_SETTING@ |
|---|
| 191 |
|
|---|
| 192 |
# |
|---|
| 193 |
# PROJ.4 stuff |
|---|
| 194 |
# |
|---|
| 195 |
PROJ_STATIC = @PROJ_STATIC@ |
|---|
| 196 |
ifeq ($(PROJ_STATIC),yes) |
|---|
| 197 |
PROJ_FLAGS = -DPROJ_STATIC |
|---|
| 198 |
endif |
|---|
| 199 |
PROJ_INCLUDE = @PROJ_INCLUDE@ |
|---|
| 200 |
|
|---|
| 201 |
GDAL_LIBS = $(GDAL_LIB) |
|---|
| 202 |
|
|---|
| 203 |
ifeq ($(OGR_ENABLED),yes) |
|---|
| 204 |
GDAL_LIBS := $(GDAL_LIB) $(PG_LIB) $(OCI_LIB) $(GDAL_LIBS) |
|---|
| 205 |
endif |
|---|
| 206 |
|
|---|
| 207 |
# |
|---|
| 208 |
# Note these codes have to exactly match the format directory names, |
|---|
| 209 |
# and their uppercase form should be the format portion of the |
|---|
| 210 |
# format registration entry point. eg. gdb -> GDALRegister_GDB(). |
|---|
| 211 |
# |
|---|
| 212 |
GDAL_FORMATS = gxf gtiff hfa aigrid aaigrid ceos ceos2 iso8211 xpm \ |
|---|
| 213 |
sdts raw dted mem jdem envisat elas fit vrt usgsdem l1b \ |
|---|
| 214 |
nitf bmp pcidsk \ |
|---|
| 215 |
@OPT_GDAL_FORMATS@ |
|---|
| 216 |
|
|---|
| 217 |
# |
|---|
| 218 |
# CONFIG_LIBS is what local program should link against, and CONFIG_LIBS_INS |
|---|
| 219 |
# is what will be emitted into the gdal-config script that is installed |
|---|
| 220 |
# globally. |
|---|
| 221 |
# |
|---|
| 222 |
|
|---|
| 223 |
ifeq ($(HAVE_LIBTOOL), yes) |
|---|
| 224 |
CONFIG_LIBS = $(LIBGDAL) |
|---|
| 225 |
CONFIG_LIBS_INS = -L$(INST_LIB) -lgdal |
|---|
| 226 |
EXE_DEP_LIBS = $(LIBGDAL) |
|---|
| 227 |
SO_EXT = la |
|---|
| 228 |
else |
|---|
| 229 |
|
|---|
| 230 |
ifeq ($(HAVE_LD_SHARED),yes) |
|---|
| 231 |
CONFIG_LIBS = $(GDAL_SLIB_LINK) $(LIBS) |
|---|
| 232 |
CONFIG_LIBS_INS = -L$(INST_LIB) -lgdal.$(GDAL_VER) |
|---|
| 233 |
EXE_DEP_LIBS = $(GDAL_SLIB) |
|---|
| 234 |
else |
|---|
| 235 |
CONFIG_LIBS = $(GDAL_LIBS) $(LIBS) |
|---|
| 236 |
CONFIG_LIBS_INS = $(foreach LF,$(GDAL_LIBS),$(INST_LIB)/$(notdir $(LF)))\ |
|---|
| 237 |
$(LIBS) |
|---|
| 238 |
EXE_DEP_LIBS = $(GDAL_LIB) |
|---|
| 239 |
endif |
|---|
| 240 |
|
|---|
| 241 |
endif # HAVE_LIBTOOL |
|---|
| 242 |
|
|---|
| 243 |
|
|---|
| 244 |
# |
|---|
| 245 |
# generic library rules |
|---|
| 246 |
# |
|---|
| 247 |
|
|---|
| 248 |
# |
|---|
| 249 |
# gdal and ogr low level drivers use the following default rules in order to |
|---|
| 250 |
# populate the ../o/ directory with all object and library object files |
|---|
| 251 |
# |
|---|
| 252 |
|
|---|
| 253 |
O_OBJ = $(foreach file,$(OBJ),../o/$(file)) |
|---|
| 254 |
|
|---|
| 255 |
../o/%.o: %.c |
|---|
| 256 |
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< |
|---|
| 257 |
|
|---|
| 258 |
../o/%.o: %.cpp |
|---|
| 259 |
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< |
|---|
| 260 |
|
|---|
| 261 |
# |
|---|
| 262 |
# default rules for handling subdirectories |
|---|
| 263 |
# |
|---|
| 264 |
|
|---|
| 265 |
%-target: |
|---|
| 266 |
$(MAKE) -C $* |
|---|
| 267 |
|
|---|
| 268 |
%-clean: |
|---|
| 269 |
$(MAKE) -C $* clean |
|---|