# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. GDAL_ROOT = ..\.. !INCLUDE $(GDAL_ROOT)\nmake.opt OBJ = Packer_RLE.obj Tif_band.obj Raw_band.obj PNG_band.obj JPEG_band.obj JPNG_band.obj\ mrf_band.obj mrf_overview.obj mrf_util.obj marfa_dataset.obj PLUGIN_DLL = gdal_mrf.dll # If the LERC folder exists, build LERC support !IF EXIST(libLERC) LIBLERC = libLERC.obj EXTRAFLAGS = -DLERC -IlibLERC $(EXTRAFLAGS) OBJ = $(LIBLERC) LERC_Band.obj $(OBJ) !ENDIF !IFDEF JPEG_EXTERNAL_LIB EXTRAFLAGS = -I$(JPEGDIR) $(EXTRAFLAGS) !ELSE EXTRAFLAGS = /wd4611 -I../jpeg/libjpeg $(JPEG12_FLAGS) $(EXTRAFLAGS) EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../jpeg/libjpeg/libjpeg.lib # Only consider 12bit JPEG when using internal JPEG !IFDEF JPEG12_SUPPORTED OBJ = $(OBJ) JPEG12_band.obj EXTRAFLAGS = -DJPEG12_SUPPORTED $(EXTRAFLAGS) EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../jpeg/libjpeg12/libjpeg12.lib !ENDIF !ENDIF !IFDEF ZLIB_EXTERNAL_LIB EXTRAFLAGS = $(ZLIB_INC) $(EXTRAFLAGS) EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) $(ZLIB_LIB) !ELSE EXTRAFLAGS = -I../zlib $(EXTRAFLAGS) EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../zlib/libz.lib !ENDIF !IFDEF PNG_EXTERNAL_LIB EXTRAFLAGS = -I$(PNGDIR) $(EXTRAFLAGS) !ELSE EXTRAFLAGS = /wd4611 -I../png/libpng -DINTERNAL_PNG $(EXTRAFLAGS) !ENDIF EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../png/libpng/libpng.lib default: $(OBJ) xcopy /D /Y *.obj ..\o $(OBJ): marfa.h !IFDEF LIBLERC $(LIBLERC): cd libLERC nmake /f makefile.vc cd .. !ENDIF clean: -del *.obj -del *.dll -del *.exp -del *.lib -del *.manifest -del *.exe !IFDEF LIBLERC cd libLERC nmake /f makefile.vc clean cd .. !ENDIF # # Building the MRF as a windows plugin works only then the internal jpeg and png are used # It also requires these custom steps: # # - building static libraries: # ../jpeg/jpeglib/libjpeg.lib # Optional ../jpeg/jpeglib12/libjpeg12.lib # ../zlib/libz.lib # ../png/libpng/libpng.lib # # - exporting the GDALRegenerateOverviewsMultiBand by marking it CPL_DLL in gdal_priv.h # # plugin: $(PLUGIN_DLL) $(PLUGIN_DLL): $(OBJ) link /dll $(LDEBUG) /out:$(PLUGIN_DLL) $(OBJ) $(GDALLIB) $(EXTRA_LINK_FLAGS) if exist $(PLUGIN_DLL).manifest mt -manifest $(PLUGIN_DLL).manifest -outputresource:$(PLUGIN_DLL);2 plugin-install: -mkdir $(PLUGINDIR) $(INSTALL) $(PLUGIN_DLL) $(PLUGINDIR)