1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
|
#
# makefile.vc - Main MapServer makefile for MSVC++
#
# This VC++ makefile will build MAPSERVER.LIB, MAPSERV.EXE, and the other
# MapServer command-line programs.
#
# To use the makefile:
# - Open a DOS prompt window
# - Run the VCVARS32.BAT script to initialize the VC++ environment variables
# - Start the build with: nmake /f makefile.vc
#
# $Id: Makefile.vc,v 1.83 2006/08/26 19:29:31 tamas Exp $
#
MAPSERVER_ROOT = .
!INCLUDE nmake.opt
BASE_CFLAGS = $(OPTFLAGS)
CFLAGS=$(BASE_CFLAGS) $(MS_CFLAGS)
CC= cl
LINK= link
#
# Main MapServer library.
#
MS_DLL = libmap.dll
MS_OBJS = mapbits.obj maphash.obj mapshape.obj mapxbase.obj \
mapparser.obj maplexer.obj maptree.obj \
mapsearch.obj mapstring.obj mapsymbol.obj mapfile.obj \
maplegend.obj maputil.obj mapscale.obj mapquery.obj \
maplabel.obj maperror.obj mapprimitive.obj mapproject.obj\
mapraster.obj cgiutil.obj mapsde.obj mapogr.obj maptime.obj \
maptemplate.obj mappostgis.obj maplayer.obj mapresample.obj \
mapwms.obj mapwmslayer.obj mapgml.obj maporaclespatial.obj \
mapprojhack.obj mapdraw.obj mapgd.obj mapoutput.obj mapswf.obj \
mapgdal.obj mapwfs.obj mapwfslayer.obj mapows.obj maphttp.obj \
mappdf.obj mapcontext.obj mapdrawgdal.obj mapjoin.obj mapgraticule.obj \
mapmygis.obj mapimagemap.obj mapcopy.obj maprasterquery.obj \
mapogcfilter.obj mapogcsld.obj mapthread.obj mapobject.obj \
classobject.obj layerobject.obj mapwcs.obj mapgeos.obj strptime.obj \
mapcpl.obj mapio.obj mappool.obj mapsvg.obj mapregex.obj mappluginlayer.obj \
mapogcsos.obj mappostgresql.obj mapcrypto.obj \
$(EPPL_OBJ) $(REGEX_OBJ)
MS_HDRS = map.h mapfile.h
MS_EXE = mapserv.exe \
shp2img.exe legend.exe \
shptree.exe scalebar.exe sortshp.exe tile4ms.exe \
shptreevis.exe msencrypt.exe
#
#
#
default: all
all: $(MS_LIB) $(MS_EXE) mapscriptvars
$(MS_OBJS): $(MS_HDRS)
$(MS_DLL) $(MS_LIB_DLL): $(MS_LIB)
link /dll $(LDEBUG) \
$(MS_OBJS) $(EXTERNAL_LIBS) \
/out:$(MS_DLL) /implib:$(MS_LIB_DLL)
$(MS_LIB): $(MS_OBJS)
if exist $(GDAL_DIR)\gdal.pdb copy $(GDAL_DIR)\gdal.pdb .
lib /out:$(MS_LIB) $(MS_OBJS)
!IFDEF DLLBUILD
$(MS_EXE): $(MS_DLL) $(MS_LIB_DLL)
!ELSE
$(MS_EXE): $(MS_LIB)
!ENDIF
gd::
cd gd-1.2
nmake /f makefile.nt OPTFLAGS="$(OPTFLAGS)"
cd ..
.c.obj:
$(CC) $(CFLAGS) /c $*.c /Fo$*.obj
.cpp.obj:
$(CC) $(CFLAGS) /c $*.cpp /Fo$*.obj
.c.exe:
$(CC) $(CFLAGS) /c $*.c /Fo$*.obj
!IFDEF DLLBUILD
$(LINK) $(LDFLAGS) $*.obj $(LIBS_DLL)
!ELSE
$(LINK) $(LDFLAGS) $*.obj $(LIBS)
!ENDIF
clean:
del *.obj
del $(REGEX_OBJ)
del *.lib
del *.dll
del $(MS_EXE)
del *.pdb
del *.exp
del *.ilk
!IFDEF DOT_NET
cd mapscript\csharp
nmake /f makefile.vc clean
cd ..\..
!ENDIF
!IFDEF JAVA_HOME
cd mapscript\java
nmake /f makefile.vc clean
cd ..\..
!ENDIF
!IFDEF PHP_HOME
cd mapscript\php3
nmake /f makefile.vc clean
cd ..\..
!ENDIF
!IFDEF PYTHON_HOME
cd mapscript\python
-del mapscript_wrap.c
-rmdir /s /q build
cd ..\..
!ENDIF
mapscriptvars: makefile.vc nmake.opt
-del mapscriptvars
echo $(MS_BASE) > mapscriptvars
echo $(MS_DEFS) -DWIN32 -D_WIN32 >> mapscriptvars
echo $(INCLUDES) >> mapscriptvars
echo $(LIBS_DLL) >> mapscriptvars
echo $(LIBS) >> mapscriptvars
findstr MS_VERSION map.h | findstr define >> mapscriptvars
install: $(MS_DLL) $(MS_EXE) python csharp java php
-mkdir $(BINDIR)
xcopy /y /r /d /f $(MS_DLL) $(BINDIR)
copy *.exe $(BINDIR)
!IFDEF PYTHON_HOME
-mkdir $(BINDIR)\mapscript\python
xcopy /y /r /d /f .\mapscript\python\dist\*.zip $(BINDIR)\mapscript\python
!ENDIF
!IFDEF DOT_NET
-mkdir $(BINDIR)\mapscript\csharp
xcopy /y /r /d /f .\mapscript\csharp\*.dll $(BINDIR)\mapscript\csharp
xcopy /y /r /d /f .\mapscript\csharp\*.exe $(BINDIR)\mapscript\csharp
xcopy /y /r /d /f .\mapscript\csharp\*.manifest $(BINDIR)\mapscript\csharp
xcopy /y /r /d /f .\mapscript\csharp\*.config $(BINDIR)\mapscript\csharp
!ENDIF
!IFDEF JAVA_HOME
-mkdir $(BINDIR)\mapscript\java
xcopy /y /r /d /f .\mapscript\java\*.dll $(BINDIR)\mapscript\java
xcopy /y /r /d /f .\mapscript\java\*.jar $(BINDIR)\mapscript\java
!ENDIF
!IFDEF PHP_HOME
-mkdir $(BINDIR)\mapscript\php
xcopy /y /r /d /f .\mapscript\php3\*.dll $(BINDIR)\mapscript\php
!ENDIF
!IFDEF PYTHON_HOME
python: mapscriptvars $(MS_DLL) $(MS_LIB_DLL)
cd mapscript\python
$(SWIG) -python -shadow -o mapscript_wrap.c ../mapscript.i
$(PYTHON_HOME)\PCBuild\python.exe setup.py bdist
cd ..\..
!ELSE
python:
!ENDIF
!IFDEF DOT_NET
csharp: mapscriptvars $(MS_DLL) $(MS_LIB_DLL)
cd mapscript\csharp
nmake /f makefile.vc
cd ..\..
!ELSE
csharp:
!ENDIF
!IFDEF JAVA_HOME
java: mapscriptvars $(MS_DLL) $(MS_LIB_DLL)
cd mapscript\java
nmake /f makefile.vc
cd ..\..
!ELSE
java:
!ENDIF
!IFDEF PHP_HOME
php: mapscriptvars $(MS_DLL) $(MS_LIB_DLL)
cd mapscript\php3
nmake /f makefile.vc
cd ..\..
!ELSE
php:
!ENDIF
|