~ubuntu-branches/ubuntu/hardy/postgresql-8.4/hardy-backports

« back to all changes in this revision

Viewing changes to src/interfaces/libpq/win32.mak

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2009-03-20 12:00:13 UTC
  • Revision ID: james.westby@ubuntu.com-20090320120013-hogj7egc5mjncc5g
Tags: upstream-8.4~0cvs20090328
ImportĀ upstreamĀ versionĀ 8.4~0cvs20090328

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Makefile for Microsoft Visual C++ 7.1-8.0
 
2
 
 
3
# Will build a static library libpq(d).lib
 
4
#        and a dynamic library libpq(d).dll with import library libpq(d)dll.lib
 
5
# USE_SSL=1 will compile with OpenSSL
 
6
# USE_KFW=1 will compile with kfw(kerberos for Windows)
 
7
# DEBUG=1 compiles with debugging symbols
 
8
# ENABLE_THREAD_SAFETY=1 compiles with threading enabled
 
9
 
 
10
ENABLE_THREAD_SAFETY=1
 
11
 
 
12
# CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
 
13
 
 
14
!IF ("$(CPU)" == "")||("$(CPU)" == "i386")
 
15
CPU=i386
 
16
!MESSAGE Building the Win32 static library...
 
17
!MESSAGE
 
18
!ELSEIF ("$(CPU)" == "IA64")||("$(CPU)" == "AMD64")
 
19
ADD_DEFINES=/D "WIN64" /Wp64 /GS
 
20
ADD_SECLIB=bufferoverflowU.lib
 
21
!MESSAGE Building the Win64 static library...
 
22
!MESSAGE
 
23
!ELSE
 
24
!MESSAGE Please check a CPU=$(CPU) ?
 
25
!MESSAGE CPU=i386 or AMD64 or IA64
 
26
!ERROR Make aborted.
 
27
!ENDIF
 
28
 
 
29
!IFDEF DEBUG
 
30
OPT=/Od /Zi /MDd
 
31
LOPT=/DEBUG
 
32
DEBUGDEF=/D _DEBUG
 
33
OUTFILENAME=libpqd
 
34
!ELSE
 
35
OPT=/O2 /MD
 
36
LOPT=
 
37
DEBUGDEF=/D NDEBUG
 
38
OUTFILENAME=libpq
 
39
!ENDIF
 
40
 
 
41
!IF "$(SSL_INC)" == "" 
 
42
SSL_INC=C:\OpenSSL\include
 
43
!MESSAGE Using default OpenSSL Include directory: $(SSL_INC)
 
44
!ENDIF
 
45
 
 
46
!IF "$(SSL_LIB_PATH)" == ""
 
47
SSL_LIB_PATH=C:\OpenSSL\lib\VC
 
48
!MESSAGE Using default OpenSSL Library directory: $(SSL_LIB_PATH)
 
49
!ENDIF
 
50
 
 
51
!IF "$(KFW_INC)" == "" 
 
52
KFW_INC=C:\kfw-2.6.5\inc
 
53
!MESSAGE Using default Kerberos Include directory: $(KFW_INC)
 
54
!ENDIF
 
55
 
 
56
!IF "$(KFW_LIB_PATH)" == ""
 
57
KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(CPU)
 
58
!MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
 
59
!ENDIF
 
60
 
 
61
!IF "$(OS)" == "Windows_NT"
 
62
NULL=
 
63
!ELSE 
 
64
NULL=nul
 
65
!ENDIF 
 
66
 
 
67
CPP=cl.exe
 
68
RSC=rc.exe
 
69
 
 
70
!IFDEF DEBUG
 
71
OUTDIR=.\Debug
 
72
INTDIR=.\Debug
 
73
CPP_OBJS=.\Debug/
 
74
!ELSE
 
75
OUTDIR=.\Release
 
76
INTDIR=.\Release
 
77
CPP_OBJS=.\Release/
 
78
!ENDIF
 
79
 
 
80
 
 
81
ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
 
82
 
 
83
CLEAN :
 
84
        -@erase "$(INTDIR)\getaddrinfo.obj"
 
85
        -@erase "$(INTDIR)\pgstrcasecmp.obj"
 
86
        -@erase "$(INTDIR)\thread.obj"
 
87
        -@erase "$(INTDIR)\inet_aton.obj"
 
88
        -@erase "$(INTDIR)\crypt.obj"
 
89
        -@erase "$(INTDIR)\noblock.obj"
 
90
        -@erase "$(INTDIR)\md5.obj"
 
91
        -@erase "$(INTDIR)\ip.obj"
 
92
        -@erase "$(INTDIR)\fe-auth.obj"
 
93
        -@erase "$(INTDIR)\fe-protocol2.obj"
 
94
        -@erase "$(INTDIR)\fe-protocol3.obj"
 
95
        -@erase "$(INTDIR)\fe-connect.obj"
 
96
        -@erase "$(INTDIR)\fe-exec.obj"
 
97
        -@erase "$(INTDIR)\fe-lobj.obj"
 
98
        -@erase "$(INTDIR)\fe-misc.obj"
 
99
        -@erase "$(INTDIR)\fe-print.obj"
 
100
        -@erase "$(INTDIR)\fe-secure.obj"
 
101
        -@erase "$(INTDIR)\libpq-events.obj"
 
102
        -@erase "$(INTDIR)\pqexpbuffer.obj"
 
103
        -@erase "$(INTDIR)\pqsignal.obj"
 
104
        -@erase "$(INTDIR)\win32.obj"
 
105
        -@erase "$(INTDIR)\wchar.obj"
 
106
        -@erase "$(INTDIR)\encnames.obj"
 
107
        -@erase "$(INTDIR)\pthread-win32.obj"
 
108
        -@erase "$(INTDIR)\snprintf.obj"
 
109
        -@erase "$(INTDIR)\strlcpy.obj"
 
110
        -@erase "$(INTDIR)\dirent.obj"
 
111
        -@erase "$(INTDIR)\dirmod.obj"
 
112
        -@erase "$(INTDIR)\pgsleep.obj"
 
113
        -@erase "$(INTDIR)\open.obj"
 
114
        -@erase "$(INTDIR)\win32error.obj"
 
115
        -@erase "$(OUTDIR)\$(OUTFILENAME).lib"
 
116
        -@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
 
117
        -@erase "$(OUTDIR)\libpq.res"
 
118
        -@erase "$(OUTDIR)\$(OUTFILENAME).dll"
 
119
        -@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
 
120
        -@erase "$(OUTDIR)\$(OUTFILENAME).dll.manifest"
 
121
        -@erase "$(OUTDIR)\*.idb"
 
122
        -@erase pg_config_paths.h"
 
123
 
 
124
 
 
125
LIB32=link.exe -lib
 
126
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib" 
 
127
LIB32_OBJS= \
 
128
        "$(INTDIR)\win32.obj" \
 
129
        "$(INTDIR)\getaddrinfo.obj" \
 
130
        "$(INTDIR)\pgstrcasecmp.obj" \
 
131
        "$(INTDIR)\thread.obj" \
 
132
        "$(INTDIR)\inet_aton.obj" \
 
133
        "$(INTDIR)\crypt.obj" \
 
134
        "$(INTDIR)\noblock.obj" \
 
135
        "$(INTDIR)\md5.obj" \
 
136
        "$(INTDIR)\ip.obj" \
 
137
        "$(INTDIR)\fe-auth.obj" \
 
138
        "$(INTDIR)\fe-protocol2.obj" \
 
139
        "$(INTDIR)\fe-protocol3.obj" \
 
140
        "$(INTDIR)\fe-connect.obj" \
 
141
        "$(INTDIR)\fe-exec.obj" \
 
142
        "$(INTDIR)\fe-lobj.obj" \
 
143
        "$(INTDIR)\fe-misc.obj" \
 
144
        "$(INTDIR)\fe-print.obj" \
 
145
        "$(INTDIR)\fe-secure.obj" \
 
146
        "$(INTDIR)\libpq-events.obj" \
 
147
        "$(INTDIR)\pqexpbuffer.obj" \
 
148
        "$(INTDIR)\pqsignal.obj" \
 
149
        "$(INTDIR)\wchar.obj" \
 
150
        "$(INTDIR)\encnames.obj" \
 
151
        "$(INTDIR)\snprintf.obj" \
 
152
        "$(INTDIR)\strlcpy.obj" \
 
153
        "$(INTDIR)\dirent.obj" \
 
154
        "$(INTDIR)\dirmod.obj" \
 
155
        "$(INTDIR)\pgsleep.obj" \
 
156
        "$(INTDIR)\open.obj" \
 
157
        "$(INTDIR)\win32error.obj" \
 
158
        "$(INTDIR)\pthread-win32.obj"
 
159
 
 
160
 
 
161
config: ..\..\include\pg_config.h pg_config_paths.h  ..\..\include\pg_config_os.h
 
162
 
 
163
..\..\include\pg_config.h: ..\..\include\pg_config.h.win32
 
164
        copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h
 
165
 
 
166
..\..\include\pg_config_os.h:
 
167
        copy ..\..\include\port\win32.h ..\..\include\pg_config_os.h
 
168
 
 
169
pg_config_paths.h: win32.mak
 
170
        echo #define SYSCONFDIR "" > pg_config_paths.h
 
171
 
 
172
"$(OUTDIR)" :
 
173
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
174
 
 
175
CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC)" \
 
176
 /D "FRONTEND" $(DEBUGDEF) \
 
177
 /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
 
178
 /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c  \
 
179
 /D "_CRT_SECURE_NO_DEPRECATE" $(ADD_DEFINES)
 
180
 
 
181
!IFDEF USE_SSL
 
182
CPP_PROJ=$(CPP_PROJ) /D USE_SSL
 
183
SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
 
184
!ENDIF
 
185
 
 
186
!IFDEF USE_KFW
 
187
CPP_PROJ=$(CPP_PROJ) /D KRB5
 
188
KFW_LIBS=krb5_32.lib comerr32.lib gssapi32.lib
 
189
!ENDIF
 
190
 
 
191
!IFDEF ENABLE_THREAD_SAFETY
 
192
CPP_PROJ=$(CPP_PROJ) /D ENABLE_THREAD_SAFETY
 
193
!ENDIF
 
194
 
 
195
CPP_SBRS=.
 
196
 
 
197
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
 
198
 
 
199
LINK32=link.exe
 
200
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib secur32.lib $(SSL_LIBS)  $(KFW_LIB) $(ADD_SECLIB) \
 
201
 /nologo /subsystem:windows /dll $(LOPT) /incremental:no \
 
202
 /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
 
203
 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
 
204
 /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib"  \
 
205
 /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" \
 
206
 /def:$(OUTFILENAME)dll.def
 
207
LINK32_OBJS= \
 
208
        "$(OUTDIR)\$(OUTFILENAME).lib" \
 
209
        "$(OUTDIR)\libpq.res"
 
210
 
 
211
# @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm
 
212
 
 
213
"$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
 
214
        $(LIB32) @<<
 
215
        $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
 
216
<<
 
217
 
 
218
"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc
 
219
        $(RSC) $(RSC_PROJ) libpq-dist.rc
 
220
 
 
221
 
 
222
"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res"
 
223
        $(LINK32) @<<
 
224
        $(LINK32_FLAGS) $(LINK32_OBJS)
 
225
<<
 
226
# Inclusion of manifest
 
227
!IF "$(_NMAKE_VER)" != "6.00.8168.0" && "$(_NMAKE_VER)" != "7.00.9466"
 
228
!IF "$(_NMAKE_VER)" != "6.00.9782.0" && "$(_NMAKE_VER)" != "7.10.3077"
 
229
        mt -manifest $(OUTDIR)\$(OUTFILENAME).dll.manifest -outputresource:$(OUTDIR)\$(OUTFILENAME).dll;2
 
230
!ENDIF
 
231
!ENDIF
 
232
 
 
233
"$(INTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
 
234
        $(CPP) @<<
 
235
        $(CPP_PROJ) ..\..\port\getaddrinfo.c
 
236
<<
 
237
 
 
238
"$(INTDIR)\pgstrcasecmp.obj" : ..\..\port\pgstrcasecmp.c
 
239
        $(CPP) @<<
 
240
        $(CPP_PROJ) ..\..\port\pgstrcasecmp.c
 
241
<<
 
242
 
 
243
"$(INTDIR)\thread.obj" : ..\..\port\thread.c
 
244
        $(CPP) @<<
 
245
        $(CPP_PROJ) ..\..\port\thread.c
 
246
<<
 
247
 
 
248
"$(INTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
 
249
        $(CPP) @<<
 
250
        $(CPP_PROJ) ..\..\port\inet_aton.c
 
251
<<
 
252
 
 
253
"$(INTDIR)\crypt.obj" : ..\..\port\crypt.c
 
254
        $(CPP) @<<
 
255
        $(CPP_PROJ) ..\..\port\crypt.c
 
256
<<
 
257
 
 
258
"$(INTDIR)\noblock.obj" : ..\..\port\noblock.c
 
259
        $(CPP) @<<
 
260
        $(CPP_PROJ) ..\..\port\noblock.c
 
261
<<
 
262
 
 
263
"$(INTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
 
264
        $(CPP) @<<
 
265
        $(CPP_PROJ) ..\..\backend\libpq\md5.c
 
266
<<
 
267
 
 
268
"$(INTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
 
269
        $(CPP) @<<
 
270
        $(CPP_PROJ) ..\..\backend\libpq\ip.c
 
271
<<
 
272
 
 
273
"$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
 
274
        $(CPP) @<<
 
275
        $(CPP_PROJ) /I"." ..\..\backend\utils\mb\wchar.c
 
276
<<
 
277
 
 
278
 
 
279
"$(INTDIR)\encnames.obj" : ..\..\backend\utils\mb\encnames.c
 
280
        $(CPP) @<<
 
281
        $(CPP_PROJ) /I"." ..\..\backend\utils\mb\encnames.c
 
282
<<
 
283
 
 
284
"$(INTDIR)\snprintf.obj" : ..\..\port\snprintf.c
 
285
        $(CPP) @<<
 
286
        $(CPP_PROJ) /I"." ..\..\port\snprintf.c
 
287
<<
 
288
 
 
289
"$(INTDIR)\strlcpy.obj" : ..\..\port\strlcpy.c
 
290
        $(CPP) @<<
 
291
        $(CPP_PROJ) /I"." ..\..\port\strlcpy.c
 
292
<<
 
293
 
 
294
"$(INTDIR)\dirent.obj" : ..\..\port\dirent.c
 
295
        $(CPP) @<<
 
296
        $(CPP_PROJ) /I"." ..\..\port\dirent.c
 
297
<<
 
298
 
 
299
"$(INTDIR)\dirmod.obj" : ..\..\port\dirmod.c
 
300
        $(CPP) @<<
 
301
        $(CPP_PROJ) /I"." ..\..\port\dirmod.c
 
302
<<
 
303
 
 
304
"$(INTDIR)\pgsleep.obj" : ..\..\port\pgsleep.c
 
305
        $(CPP) @<<
 
306
        $(CPP_PROJ) /I"." ..\..\port\pgsleep.c
 
307
<<
 
308
 
 
309
"$(INTDIR)\open.obj" : ..\..\port\open.c
 
310
        $(CPP) @<<
 
311
        $(CPP_PROJ) /I"." ..\..\port\open.c
 
312
<<
 
313
 
 
314
"$(INTDIR)\win32error.obj" : ..\..\port\win32error.c
 
315
        $(CPP) @<<
 
316
        $(CPP_PROJ) /I"." ..\..\port\win32error.c
 
317
<<
 
318
 
 
319
.c{$(CPP_OBJS)}.obj:
 
320
        $(CPP) $(CPP_PROJ) $<
 
321
 
 
322
.c.obj:
 
323
        $(CPP) $(CPP_PROJ) $<