OSDN Git Service

* Added serf library.
[modchxj/mod_chxj.git] / src / serf / serf.mak
1 #**** serf Win32 -*- Makefile -*- ********************************************\r
2 #\r
3 # Define DEBUG_BUILD to create a debug version of the library.\r
4 \r
5 !IF "$(OS)" == "Windows_NT"\r
6 NULL=\r
7 !ELSE\r
8 NULL=nul\r
9 !ENDIF\r
10 \r
11 CFLAGS = /Zi /W3 /EHsc /I "./"\r
12 \r
13 !IF "$(DEBUG_BUILD)" == ""\r
14 INTDIR = Release\r
15 CFLAGS = /MD /O2 /D "NDEBUG" $(CFLAGS)\r
16 STATIC_LIB = $(INTDIR)\serf.lib\r
17 !ELSE\r
18 INTDIR = Debug\r
19 CFLAGS = /MDd /Od /W3 /Gm /D "_DEBUG" $(CFLAGS)\r
20 STATIC_LIB = $(INTDIR)\serf.lib\r
21 !ENDIF\r
22 \r
23 ########\r
24 # Support for OpenSSL integration\r
25 !IF "$(OPENSSL_SRC)" == ""\r
26 !ERROR OpenSSL is required. Please define OPENSSL_SRC.\r
27 !ELSE\r
28 OPENSSL_FLAGS = /I "$(OPENSSL_SRC)\inc32"\r
29 !ENDIF\r
30 \r
31 !IF "$(HTTPD_SRC)" != ""\r
32 !IF "$(APR_SRC)" == ""\r
33 APR_SRC=$(HTTPD_SRC)\srclib\apr\r
34 !ENDIF\r
35 \r
36 !IF "$(APRUTIL_SRC)" == ""\r
37 APRUTIL_SRC=$(HTTPD_SRC)\srclib\apr-util\r
38 !ENDIF\r
39 \r
40 !ENDIF\r
41 \r
42 ########\r
43 # APR\r
44 !IF "$(APR_SRC)" == ""\r
45 !ERROR APR is required. Please define APR_SRC or HTTPD_SRC.\r
46 !ENDIF\r
47 \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
51 !ELSE\r
52 APR_LIBS = "$(APR_SRC)\$(INTDIR)\libapr.lib"\r
53 !ENDIF\r
54 \r
55 ########\r
56 # APR Util\r
57 !IF "$(APRUTIL_SRC)" == ""\r
58 !ERROR APR-Util is required. Please define APRUTIL_SRC or HTTPD_SRC.\r
59 !ENDIF\r
60 \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
64 !ELSE\r
65 APRUTIL_LIBS = "$(APRUTIL_SRC)\$(INTDIR)\libaprutil.lib"\r
66 !ENDIF\r
67 \r
68 ########\r
69 # Support for zlib integration\r
70 !IF "$(ZLIB_SRC)" == ""\r
71 !ERROR ZLib is required. Please define ZLIB_SRC.\r
72 !ELSE\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
78 !ELSE\r
79 ZLIB_LIBS = "$(ZLIB_SRC)\zlibstatD.lib"\r
80 !ENDIF\r
81 !ELSE\r
82 ZLIB_LIBS = "$(ZLIB_LIBDIR)\x86\ZlibStat$(INTDIR)\zlibstat.lib"\r
83 ZLIB_FLAGS = $(ZLIB_FLAGS) /D ZLIB_WINAPI\r
84 !ENDIF\r
85 !ELSE\r
86 ZLIB_FLAGS = $(ZLIB_FLAGS) /D ZLIB_DLL\r
87 ZLIB_LIBS = "$(ZLIB_SRC)\zlibdll.lib"\r
88 !ENDIF\r
89 !ENDIF\r
90 \r
91 \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
94 \r
95 CPP=cl.exe\r
96 CPP_PROJ = /c /nologo $(CFLAGS) $(WIN32_DEFS) $(EXPAT_FLAGS) $(APR_FLAGS) $(APRUTIL_FLAGS) $(OPENSSL_FLAGS) $(ZLIB_FLAGS) /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\"\r
97 LIB32=link.exe\r
98 LIB32_FLAGS=/nologo\r
99 \r
100 LIB32_OBJS= \\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
118 \r
119 !IFDEF OPENSSL_STATIC\r
120 LIB32_OBJS = $(LIB32_OBJS) "$(OPENSSL_SRC)\out32\libeay32.lib" \\r
121                "$(OPENSSL_SRC)\out32\ssleay32.lib"\r
122 !ELSE\r
123 LIB32_OBJS = $(LIB32_OBJS) "$(OPENSSL_SRC)\out32dll\libeay32.lib" \\r
124                "$(OPENSSL_SRC)\out32dll\ssleay32.lib"\r
125 !ENDIF\r
126 \r
127 LIB32_OBJS = $(LIB32_OBJS) $(APR_LIBS) $(APRUTIL_LIBS) $(ZLIB_LIBS) \r
128 \r
129 ALL: INTDIR $(STATIC_LIB) TESTS\r
130  \r
131 \r
132 CLEAN:\r
133   -@erase /q "$(INTDIR)" >nul\r
134 \r
135 INTDIR:\r
136   -@if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"\r
137 \r
138 TESTS: $(STATIC_LIB) $(INTDIR)\serf_response.exe $(INTDIR)\serf_get.exe \\r
139        $(INTDIR)\serf_request.exe\r
140 \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
147   \r
148 "$(STATIC_LIB)": INTDIR $(LIB32_OBJS)\r
149   $(LIB32) -lib @<<\r
150     $(LIB32_FLAGS) $(LIB32_OBJS) /OUT:"$(STATIC_LIB)"\r
151 <<\r
152 \r
153 \r
154 .c{$(INTDIR)}.obj:\r
155   $(CPP) @<<\r
156     $(CPP_PROJ) $<\r
157 <<\r
158 \r
159 {buckets}.c{$(INTDIR)}.obj:\r
160   $(CPP) @<<\r
161     $(CPP_PROJ) $<\r
162 <<\r
163 \r
164 {test}.c{$(INTDIR)}.obj: \r
165   $(CPP) @<<\r
166     $(CPP_PROJ) $<\r
167 <<\r
168 \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
171 \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
174 \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
177 \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