2
# makefile.vc - MSVC++ makefile for the PHP/MapScript extension
4
# This VC++ makefile will build the PHP module PHP_MAPSCRIPT.DLL
7
# - Open a DOS prompt window
8
# - Run the VCVARS32.BAT script to initialize the VC++ environment variables
9
# - Start the build with: nmake /f makefile.vc
11
# $Id: Makefile.vc 11455 2011-04-04 16:42:42Z aboudreault $
14
# Flag indicating to the option files that this is the build of PHP/MapScript
16
!INCLUDE ../../nmake.opt
21
#DZEND_DEBUG=0 was added for #2717
22
PHP4_FLAGS=/DZEND_WIN32 /DPHP_WIN32 /DPHP4 /DZTS /PHP_COMPILER_ID=VC9 /DZEND_DEBUG=0
25
#OPTFLAGS = /nologo /Zi $(WARNING_LEVEL) $(DEBUG) $(PDB_FILE)
26
#BASE_CFLAGS = $(OPTFLAGS) -DWIN32 -D_WIN32 $(PHP4_FLAGS)
27
#LDFLAGS = /NODEFAULTLIB:msvcrt /dll $(LDEBUG)
28
#LDFLAGS = /NODEFAULTLIB:libcd /dll $(LDEBUG)
30
# Set flag for Visual Studio > 2003 & PHP < 5.3
31
# see http://bugs.php.net/bug.php?id=39130
32
!IF $(MSVC_VER) >= 1400
33
VCFLAGS = -D_USE_32BIT_TIME_T
36
BASE_CFLAGS = $(OPTFLAGS) -DWIN32 -D_WIN32 $(PHP4_FLAGS) $(VCFLAGS)
37
OPTFLAGS = /nologo /Zi /MD $(WARNING_LEVEL) $(DEBUG) /EHsc
38
LDFLAGS = /NODEFAULTLIB:libc /dll /FORCE:MULTIPLE $(LDEBUG)
41
# Set PHP_HOME to point to the root of the PHP source tree
43
PHP_INC = -I$(PHP_HOME) -I$(PHP_HOME)/main -I$(PHP_HOME)/zend -I$(PHP_HOME)/include -I$(PHP_HOME)/tsrm
46
MS_LIBS = ../../mapserver_i.lib $(EXTERNAL_LIBS)
48
MS_LIBS = $(EXTERNAL_LIBS) ../../mapserver.lib
52
# The rest of the file should not have to be edited...
55
PHPMS_CLASS_OBJS = mapscript_error.obj color.obj rect.obj hashtable.obj web.obj grid.obj error.obj referencemap.obj querymap.obj outputformat.obj scalebar.obj label.obj legend.obj symbol.obj style.obj image.obj class.obj projection.obj line.obj shape.obj shapefile.obj point.obj labelcache.obj labelcachemember.obj result.obj owsrequest.obj cluster.obj layer.obj map.obj
57
PHPMS_OBJS = php_mapscript_util.obj $(PHPMS_CLASS_OBJS) php_mapscript.obj mapscript_i.obj
59
PHPPROJ_OBJS = php_mapscript_util.obj php_proj.obj
61
PHPMS_DLL = php_mapscript.dll
63
PHPPROJ_DLL = php_proj.dll
65
CFLAGS = $(BASE_CFLAGS) $(MS_CFLAGS) -I../.. $(PHP_INC)
71
mapscript: $(PHPMS_DLL)
76
copy $(PHPMS_DLL) $(PHP_INSTALL_DIR)\$(PHP_INSTALL_DLL_NAME)
78
$(PHPMS_DLL): $(PHPMS_OBJS)
79
link $(LDFLAGS) /out:$(PHPMS_DLL) $(PHPMS_OBJS) $(MS_LIBS) \
80
$(PHP_HOME)\lib\$(PHP_TS_LIB_NAME)
82
$(PHPPROJ_DLL): $(PHPPROJ_OBJS)
83
link $(LDFLAGS) /out:$(PHPPROJ_DLL) $(PHPPROJ_OBJS) $(MS_LIBS) \
84
$(PHP_HOME)\lib\$(PHP_TS_LIB_NAME)
86
$(PHPMS_OBJS): php_mapscript_util.h php_mapscript.h $(MS_LIBS)
89
$(CC) $(CFLAGS) /DCOMPILE_DL=1 /c $*.c /Fo$*.obj