1# 2# makefile.vc - Main Tinyows makefile for MSVC++ 3# 4# This VC++ makefile will build TINYOWS.EXES. 5# 6# To use the makefile: 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 10# 11# $Id: $ 12# 13TINYOWS_ROOT = . 14 15!INCLUDE nmake.opt 16 17BASE_CFLAGS = $(OPTFLAGS) 18 19CFLAGS=$(BASE_CFLAGS) $(TINY_CFLAGS) 20CC= cl 21LINK= link 22 23# 24# Main Tinyows library. 25# 26TINY_DLL = libtiny.dll 27 28TINY_OBJS = src\fe\fe_comparison_ops.obj src\fe\fe_error.obj src\fe\fe_filter.obj \ 29 src\fe\fe_filter_capabilities.obj src\fe\fe_function.obj \ 30 src\fe\fe_logical_ops.obj src\fe\fe_spatial_ops.obj \ 31 src\mapfile\mapfile.obj \ 32 src\ows\ows_bbox.obj src\ows\ows_libxml.obj src\ows\ows.obj src\ows\ows_config.obj \ 33 src\ows\ows_error.obj src\ows\ows_geobbox.obj src\ows\ows_get_capabilities.obj \ 34 src\ows\ows_layer.obj src\ows\ows_metadata.obj src\ows\ows_psql.obj \ 35 src\ows\ows_request.obj src\ows\ows_srs.obj src\ows\ows_storage.obj src\ows\ows_version.obj \ 36 src\struct\alist.obj src\struct\array.obj src\struct\buffer.obj src\struct\cgi_request.obj \ 37 src\struct\list.obj src\struct\mlist.obj src\struct\regexp.obj \ 38 src\wfs\wfs_describe.obj src\wfs\wfs_error.obj src\wfs\wfs_get_capabilities.obj \ 39 src\wfs\wfs_get_feature.obj src\wfs\wfs_request.obj src\wfs\wfs_transaction.obj \ 40 $(REGEX_OBJ) 41 42 43TINY_HDRS = src\ows_api.h src\ows_define.h src\ows\ows.h 44 45TINY_EXE = tinyows.exe 46 47 48# 49# 50# 51default: all 52 53all: $(TINY_LIB) $(TINY_EXE) 54 55$(TINY_OBJS): $(TINY_HDRS) 56 57$(TINY_LIB): ows_define.h $(TINY_OBJS) 58 lib /debug /out:$(TINY_LIB) $(TINY_OBJS) 59 60 61$(TINY_EXE): $(TINY_LIB) 62 $(CC) $(CFLAGS) src\ows\ows.c /Fetinyows.exe $(LIBS) 63 if exist $@.manifest mt -manifest $@.manifest -outputresource:$@;1 64 65svn_update: 66 svn update 67 68.c.obj: 69 $(CC) $(CFLAGS) /c $*.c /Fo$*.obj 70 71.cpp.obj: 72 $(CC) $(CFLAGS) /c $*.cpp /Fo$*.obj 73 74ows_define.h: src\ows_define.h.in 75 copy /y src\ows_define.h.in src\ows_define.h 76 77 78ms4w: all 79 if EXIST builds rd /s /q builds 80 81 mkdir builds 82 cd builds 83 84 svn export http://www.tinyows.org/svn/tinyows/ms4w 85 86 cd ms4w\apps\tinyows-svn 87 svn export http://www.tinyows.org/svn/tinyows/schema 88 svn export http://www.tinyows.org/svn/tinyows/demo 89 90 cd ..\..\..\.. 91 92 copy /y tinyows.exe builds\ms4w\Apache\cgi-bin\ 93 94 cd builds 95 96 zip -r -q -9 tinyows_ms4w-svn.zip ms4w 97 98clean: 99 del *.obj 100 del $(TINY_EXE) 101 del *.lib 102 del *.manifest 103 del src\fe\*.obj 104 del src\ows\*.obj 105 del src\struct\*.obj 106 del src\wfs\*.obj 107 108 109install: $(TINY_EXE) 110 -mkdir $(BINDIR) 111 copy *.exe $(BINDIR) 112 113 114 115