1# Licensed under the Apache License, Version 2.0 (the "License"); 2# you may not use this file except in compliance with the License. 3# You may obtain a copy of the License at 4# 5# http://www.apache.org/licenses/LICENSE-2.0 6# 7# Unless required by applicable law or agreed to in writing, software 8# distributed under the License is distributed on an "AS IS" BASIS, 9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10# See the License for the specific language governing permissions and 11# limitations under the License. 12 13GDAL_ROOT = ..\.. 14!INCLUDE $(GDAL_ROOT)\nmake.opt 15 16OBJ = Packer_RLE.obj Tif_band.obj PNG_band.obj JPEG_band.obj JPNG_band.obj\ 17 mrf_band.obj mrf_overview.obj mrf_util.obj marfa_dataset.obj 18 19PLUGIN_DLL = gdal_mrf.dll 20 21# MRF Lerc support only possible for internal LercLib since it requires Lerc2.h 22!IF "$(HAVE_LERC)" == "internal" 23LERC1 = Lerc1Image.obj 24EXTRAFLAGS = -DLERC -ILERCV1 -I../../third_party/LercLib $(EXTRAFLAGS) 25OBJ = $(LERC1) LERC_Band.obj $(OBJ) 26!ENDIF 27 28!IFDEF JPEG_EXTERNAL_LIB 29EXTRAFLAGS = -I$(JPEGDIR) $(EXTRAFLAGS) 30!ELSE 31 32EXTRAFLAGS = /wd4611 -I../jpeg/libjpeg $(JPEG12_FLAGS) $(EXTRAFLAGS) 33EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../jpeg/libjpeg/libjpeg.lib 34 35# Only consider 12bit JPEG when using internal JPEG 36!IFDEF JPEG12_SUPPORTED 37OBJ = $(OBJ) JPEG12_band.obj 38EXTRAFLAGS = -DJPEG12_SUPPORTED $(EXTRAFLAGS) 39EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../jpeg/libjpeg12/libjpeg12.lib 40!ENDIF 41 42!ENDIF 43 44!IFDEF ZLIB_EXTERNAL_LIB 45EXTRAFLAGS = $(ZLIB_INC) $(EXTRAFLAGS) 46EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) $(ZLIB_LIB) 47!ELSE 48EXTRAFLAGS = -I../zlib $(EXTRAFLAGS) 49EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../zlib/libz.lib 50!ENDIF 51 52!IFDEF PNG_EXTERNAL_LIB 53EXTRAFLAGS = -I$(PNGDIR) $(EXTRAFLAGS) 54!ELSE 55EXTRAFLAGS = /wd4611 -I../png/libpng -DINTERNAL_PNG $(EXTRAFLAGS) 56!ENDIF 57EXTRA_LINK_FLAGS = $(EXTRA_LINK_FLAGS) ../png/libpng/libpng.lib 58 59default: $(OBJ) 60 xcopy /D /Y *.obj ..\o 61 62$(OBJ): marfa.h 63 64!IFDEF LERC1 65$(LERC1): 66 cd LERCV1 67 nmake /f makefile.vc 68 cd .. 69!ENDIF 70 71clean: 72 -del *.obj 73 -del *.dll 74 -del *.exp 75 -del *.lib 76 -del *.manifest 77 -del *.exe 78!IFDEF LERC1 79 cd LERCV1 80 nmake /f makefile.vc clean 81 cd .. 82!ENDIF 83 84# 85# Building the MRF as a windows plugin works only then the internal jpeg and png are used 86# It also requires these custom steps: 87# 88# - building static libraries: 89# ../jpeg/jpeglib/libjpeg.lib 90# Optional ../jpeg/jpeglib12/libjpeg12.lib 91# ../zlib/libz.lib 92# ../png/libpng/libpng.lib 93# 94# - exporting the GDALRegenerateOverviewsMultiBand by marking it CPL_DLL in gdal_priv.h 95# 96# 97 98plugin: $(PLUGIN_DLL) 99 100$(PLUGIN_DLL): $(OBJ) 101 link /dll $(LDEBUG) /out:$(PLUGIN_DLL) $(OBJ) $(GDALLIB) $(EXTRA_LINK_FLAGS) 102 if exist $(PLUGIN_DLL).manifest mt -manifest $(PLUGIN_DLL).manifest -outputresource:$(PLUGIN_DLL);2 103 104plugin-install: 105 -mkdir $(PLUGINDIR) 106 $(INSTALL) $(PLUGIN_DLL) $(PLUGINDIR) 107