1 #**** serf Win32 -*- Makefile -*- ********************************************
\r
3 # Define DEBUG_BUILD to create a debug version of the library.
\r
5 !IF "$(OS)" == "Windows_NT"
\r
11 CFLAGS = /Zi /W3 /EHsc /I "./"
\r
13 !IF "$(DEBUG_BUILD)" == ""
\r
15 CFLAGS = /MD /O2 /D "NDEBUG" $(CFLAGS)
\r
16 STATIC_LIB = $(INTDIR)\serf.lib
\r
19 CFLAGS = /MDd /Od /W3 /Gm /D "_DEBUG" $(CFLAGS)
\r
20 STATIC_LIB = $(INTDIR)\serf.lib
\r
24 # Support for OpenSSL integration
\r
25 !IF "$(OPENSSL_SRC)" == ""
\r
26 !ERROR OpenSSL is required. Please define OPENSSL_SRC.
\r
28 OPENSSL_FLAGS = /I "$(OPENSSL_SRC)\inc32"
\r
31 !IF "$(HTTPD_SRC)" != ""
\r
32 !IF "$(APR_SRC)" == ""
\r
33 APR_SRC=$(HTTPD_SRC)\srclib\apr
\r
36 !IF "$(APRUTIL_SRC)" == ""
\r
37 APRUTIL_SRC=$(HTTPD_SRC)\srclib\apr-util
\r
44 !IF "$(APR_SRC)" == ""
\r
45 !ERROR APR is required. Please define APR_SRC or HTTPD_SRC.
\r
48 APR_FLAGS = /I "$(APR_SRC)\include"
\r
49 !IF [IF EXIST "$(APR_SRC)\$(INTDIR)\libapr-1.lib" exit 1] == 1
\r
50 APR_LIBS = "$(APR_SRC)\$(INTDIR)\libapr-1.lib"
\r
52 APR_LIBS = "$(APR_SRC)\$(INTDIR)\libapr.lib"
\r
57 !IF "$(APRUTIL_SRC)" == ""
\r
58 !ERROR APR-Util is required. Please define APRUTIL_SRC or HTTPD_SRC.
\r
61 APRUTIL_FLAGS = /I "$(APRUTIL_SRC)\include"
\r
62 !IF [IF EXIST "$(APRUTIL_SRC)\$(INTDIR)\libaprutil-1.lib" exit 1] == 1
\r
63 APRUTIL_LIBS = "$(APRUTIL_SRC)\$(INTDIR)\libaprutil-1.lib"
\r
65 APRUTIL_LIBS = "$(APRUTIL_SRC)\$(INTDIR)\libaprutil.lib"
\r
69 # Support for zlib integration
\r
70 !IF "$(ZLIB_SRC)" == ""
\r
71 !ERROR ZLib is required. Please define ZLIB_SRC.
\r
73 ZLIB_FLAGS = /I "$(ZLIB_SRC)"
\r
74 !IF "$(ZLIB_DLL)" == ""
\r
75 !IF "$(ZLIB_LIBDIR)" == ""
\r
76 !IF "$(DEBUG_BUILD)" == ""
\r
77 ZLIB_LIBS = "$(ZLIB_SRC)\zlibstat.lib"
\r
79 ZLIB_LIBS = "$(ZLIB_SRC)\zlibstatD.lib"
\r
82 ZLIB_LIBS = "$(ZLIB_LIBDIR)\x86\ZlibStat$(INTDIR)\zlibstat.lib"
\r
83 ZLIB_FLAGS = $(ZLIB_FLAGS) /D ZLIB_WINAPI
\r
86 ZLIB_FLAGS = $(ZLIB_FLAGS) /D ZLIB_DLL
\r
87 ZLIB_LIBS = "$(ZLIB_SRC)\zlibdll.lib"
\r
92 # Exclude stuff we don't need from the Win32 headers
\r
93 WIN32_DEFS = /D WIN32 /D WIN32_LEAN_AND_MEAN /D NOUSER /D NOGDI /D NONLS /D NOCRYPT
\r
96 CPP_PROJ = /c /nologo $(CFLAGS) $(WIN32_DEFS) $(EXPAT_FLAGS) $(APR_FLAGS) $(APRUTIL_FLAGS) $(OPENSSL_FLAGS) $(ZLIB_FLAGS) /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\"
\r
101 "$(INTDIR)\aggregate_buckets.obj" \
\r
102 "$(INTDIR)\context.obj" \
\r
103 "$(INTDIR)\allocator.obj" \
\r
104 "$(INTDIR)\barrier_buckets.obj" \
\r
105 "$(INTDIR)\buckets.obj" \
\r
106 "$(INTDIR)\chunk_buckets.obj" \
\r
107 "$(INTDIR)\dechunk_buckets.obj" \
\r
108 "$(INTDIR)\deflate_buckets.obj" \
\r
109 "$(INTDIR)\file_buckets.obj" \
\r
110 "$(INTDIR)\headers_buckets.obj" \
\r
111 "$(INTDIR)\limit_buckets.obj" \
\r
112 "$(INTDIR)\mmap_buckets.obj" \
\r
113 "$(INTDIR)\request_buckets.obj" \
\r
114 "$(INTDIR)\response_buckets.obj" \
\r
115 "$(INTDIR)\simple_buckets.obj" \
\r
116 "$(INTDIR)\socket_buckets.obj" \
\r
117 "$(INTDIR)\ssl_buckets.obj" \
\r
119 !IFDEF OPENSSL_STATIC
\r
120 LIB32_OBJS = $(LIB32_OBJS) "$(OPENSSL_SRC)\out32\libeay32.lib" \
\r
121 "$(OPENSSL_SRC)\out32\ssleay32.lib"
\r
123 LIB32_OBJS = $(LIB32_OBJS) "$(OPENSSL_SRC)\out32dll\libeay32.lib" \
\r
124 "$(OPENSSL_SRC)\out32dll\ssleay32.lib"
\r
127 LIB32_OBJS = $(LIB32_OBJS) $(APR_LIBS) $(APRUTIL_LIBS) $(ZLIB_LIBS)
\r
129 ALL: INTDIR $(STATIC_LIB) TESTS
\r
133 -@erase /q "$(INTDIR)" >nul
\r
136 -@if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
\r
138 TESTS: $(STATIC_LIB) $(INTDIR)\serf_response.exe $(INTDIR)\serf_get.exe \
\r
139 $(INTDIR)\serf_request.exe
\r
141 CHECK: INTDIR TESTS
\r
142 $(INTDIR)\serf_response.exe test\testcases\simple.response
\r
143 $(INTDIR)\serf_response.exe test\testcases\chunked-empty.response
\r
144 $(INTDIR)\serf_response.exe test\testcases\chunked.response
\r
145 $(INTDIR)\serf_response.exe test\testcases\chunked-trailers.response
\r
146 $(INTDIR)\serf_response.exe test\testcases\deflate.response
\r
148 "$(STATIC_LIB)": INTDIR $(LIB32_OBJS)
\r
150 $(LIB32_FLAGS) $(LIB32_OBJS) /OUT:"$(STATIC_LIB)"
\r
159 {buckets}.c{$(INTDIR)}.obj:
\r
164 {test}.c{$(INTDIR)}.obj:
\r
169 $(INTDIR)\serf_response.exe: $(INTDIR)\serf_response.obj $(STATIC_LIB)
\r
170 $(LIB32) /DEBUG $(INTDIR)\serf_response.obj /OUT:$(INTDIR)\serf_response.exe $(LIB32_FLAGS) $(STATIC_LIB)
\r
172 $(INTDIR)\serf_get.exe: $(INTDIR)\serf_get.obj $(STATIC_LIB)
\r
173 $(LIB32) $(INTDIR)\serf_get.obj /OUT:$(INTDIR)\serf_get.exe $(LIB32_FLAGS) $(STATIC_LIB)
\r
175 $(INTDIR)\serf_request.exe: $(INTDIR)\serf_request.obj $(STATIC_LIB)
\r
176 $(LIB32) $(INTDIR)\serf_request.obj /OUT:$(INTDIR)\serf_request.exe $(LIB32_FLAGS) $(STATIC_LIB)
\r
178 $(INTDIR)\serf_spider.exe: $(INTDIR)\serf_spider.obj $(STATIC_LIB)
\r
179 $(LIB32) $(INTDIR)\serf_spider.obj /OUT:$(INTDIR)\serf_spider.exe $(LIB32_FLAGS) $(STATIC_LIB)
\r