root/branches/branch-5-0/mapserver/Makefile.vc

Revision 6648, 5.2 kB (checked in by tamas, 11 months ago)

Adding MS_CURRENT besides MS_BASE in the Windows builds (#2249)

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