win32.mak 5.59 KB
Newer Older
Bruce Momjian's avatar
Bruce Momjian committed
1 2
# Makefile for Microsoft Visual C++ 5.0 (or compat)

3 4
# Will build a Win32 static library libpq(d).lib
#        and a Win32 dynamic library libpq(d).dll with import library libpq(d)dll.lib
5 6
# USE_SSL=1 will compile with OpenSSL
# DEBUG=1 compiles with debugging symbols
7
# ENABLE_THREAD_SAFETY=1 compiles with threading enabled
Bruce Momjian's avatar
Bruce Momjian committed
8

9 10 11
!MESSAGE Building the Win32 static library...
!MESSAGE

12
!IFDEF DEBUG
13 14
OPT=/Od /Zi /MDd
LOPT=/DEBUG
15
DEBUGDEF=/D _DEBUG
16
OUTFILENAME=libpqd
17
!ELSE
18
OPT=/O2 /MD
19 20
LOPT=
DEBUGDEF=/D NDEBUG
21
OUTFILENAME=libpq
22
!ENDIF
23

Bruce Momjian's avatar
Bruce Momjian committed
24 25 26 27 28 29 30
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE 
NULL=nul
!ENDIF 

CPP=cl.exe
Bruce Momjian's avatar
Bruce Momjian committed
31
RSC=rc.exe
Bruce Momjian's avatar
Bruce Momjian committed
32

33 34 35 36 37
!IFDEF DEBUG
OUTDIR=.\Debug
INTDIR=.\Debug
CPP_OBJS=.\Debug/
!ELSE
Bruce Momjian's avatar
Bruce Momjian committed
38 39
OUTDIR=.\Release
INTDIR=.\Release
40 41
CPP_OBJS=.\Release/
!ENDIF
42

Bruce Momjian's avatar
Bruce Momjian committed
43

44
ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
Bruce Momjian's avatar
Bruce Momjian committed
45 46

CLEAN :
47
	-@erase "$(INTDIR)\getaddrinfo.obj"
48
	-@erase "$(INTDIR)\pgstrcasecmp.obj"
49
	-@erase "$(INTDIR)\thread.obj"
50
	-@erase "$(INTDIR)\inet_aton.obj"
51
	-@erase "$(INTDIR)\crypt.obj"
52
	-@erase "$(INTDIR)\noblock.obj"
Bruce Momjian's avatar
Bruce Momjian committed
53
	-@erase "$(INTDIR)\md5.obj"
54
	-@erase "$(INTDIR)\ip.obj"
Bruce Momjian's avatar
Bruce Momjian committed
55
	-@erase "$(INTDIR)\fe-auth.obj"
56 57
	-@erase "$(INTDIR)\fe-protocol2.obj"
	-@erase "$(INTDIR)\fe-protocol3.obj"
Bruce Momjian's avatar
Bruce Momjian committed
58 59 60 61 62
	-@erase "$(INTDIR)\fe-connect.obj"
	-@erase "$(INTDIR)\fe-exec.obj"
	-@erase "$(INTDIR)\fe-lobj.obj"
	-@erase "$(INTDIR)\fe-misc.obj"
	-@erase "$(INTDIR)\fe-print.obj"
63
	-@erase "$(INTDIR)\fe-secure.obj"
64
	-@erase "$(INTDIR)\pqexpbuffer.obj"
65
	-@erase "$(INTDIR)\pqsignal.obj"
Bruce Momjian's avatar
Bruce Momjian committed
66
	-@erase "$(OUTDIR)\libpqdll.obj"
67
	-@erase "$(OUTDIR)\win32.obj"
68 69 70
	-@erase "$(INTDIR)\wchar.obj"
	-@erase "$(INTDIR)\encnames.obj"
	-@erase "$(INTDIR)\pthread-win32.obj"
71
	-@erase "$(OUTDIR)\$(OUTFILENAME).lib"
72
	-@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
Bruce Momjian's avatar
Bruce Momjian committed
73
	-@erase "$(OUTDIR)\libpq.res"
74
	-@erase "$(OUTDIR)\$(OUTFILENAME).dll"
75
	-@erase "*.pch"
Bruce Momjian's avatar
Bruce Momjian committed
76
	-@erase "$(OUTDIR)\libpq.pch"
77
	-@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
78
	-@erase "$(INTDIR)\pg_config_paths.h"
79 80


81
config: ..\..\include\pg_config.h pthread.h pg_config_paths.h
82 83 84 85

..\..\include\pg_config.h: ..\..\include\pg_config.h.win32
	copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h

86 87 88
pthread.h: pthread.h.win32
	copy pthread.h.win32 pthread.h

89 90
pg_config_paths.h: win32.mak
	echo #define SYSCONFDIR "" >pg_config_paths.h
91

Bruce Momjian's avatar
Bruce Momjian committed
92 93 94
"$(OUTDIR)" :
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

95
CPP_PROJ=/nologo /W3 /GX $(OPT) /I "..\..\include" /I. /D "FRONTEND" $(DEBUGDEF) /D\
Bruce Momjian's avatar
Bruce Momjian committed
96
 "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
97
 /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c  /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
98

99 100 101 102 103
!IFDEF USE_SSL
CPP_PROJ=$(CPP_PROJ) /D USE_SSL
SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
!ENDIF

104 105 106 107
!IFDEF ENABLE_THREAD_SAFETY
CPP_PROJ=$(CPP_PROJ) /D ENABLE_THREAD_SAFETY
!ENDIF

Bruce Momjian's avatar
Bruce Momjian committed
108
CPP_SBRS=.
109

Bruce Momjian's avatar
Bruce Momjian committed
110
LIB32=link.exe -lib
111
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib" 
Bruce Momjian's avatar
Bruce Momjian committed
112
LIB32_OBJS= \
113
	"$(INTDIR)\win32.obj" \
114
	"$(INTDIR)\getaddrinfo.obj" \
115
	"$(INTDIR)\pgstrcasecmp.obj" \
116
	"$(INTDIR)\thread.obj" \
117
	"$(INTDIR)\inet_aton.obj" \
118
        "$(INTDIR)\crypt.obj" \
119
	"$(INTDIR)\noblock.obj" \
Bruce Momjian's avatar
Bruce Momjian committed
120
	"$(INTDIR)\md5.obj" \
121
	"$(INTDIR)\ip.obj" \
Bruce Momjian's avatar
Bruce Momjian committed
122
	"$(INTDIR)\fe-auth.obj" \
123 124
	"$(INTDIR)\fe-protocol2.obj" \
	"$(INTDIR)\fe-protocol3.obj" \
Bruce Momjian's avatar
Bruce Momjian committed
125 126 127 128
	"$(INTDIR)\fe-connect.obj" \
	"$(INTDIR)\fe-exec.obj" \
	"$(INTDIR)\fe-lobj.obj" \
	"$(INTDIR)\fe-misc.obj" \
129
	"$(INTDIR)\fe-print.obj" \
130
	"$(INTDIR)\fe-secure.obj" \
131
	"$(INTDIR)\pqexpbuffer.obj" \
132
	"$(INTDIR)\pqsignal.obj" \
133
	"$(INTDIR)\wchar.obj" \
134 135
	"$(INTDIR)\encnames.obj" \
	"$(INTDIR)\pthread-win32.obj"
136

137

Bruce Momjian's avatar
Bruce Momjian committed
138 139
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"

Bruce Momjian's avatar
Bruce Momjian committed
140
LINK32=link.exe
141
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib $(SSL_LIBS)  \
142
 /nologo /subsystem:windows /dll $(LOPT) /incremental:no\
143 144
 /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
 /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib"  /def:$(OUTFILENAME)dll.def
Bruce Momjian's avatar
Bruce Momjian committed
145 146
LINK32_OBJS= \
	"$(INTDIR)\libpqdll.obj" \
147
	"$(OUTDIR)\$(OUTFILENAME).lib" \
Bruce Momjian's avatar
Bruce Momjian committed
148
	"$(OUTDIR)\libpq.res"
Bruce Momjian's avatar
Bruce Momjian committed
149 150


151
"$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
152 153
	$(LIB32) @<<
	$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
Bruce Momjian's avatar
Bruce Momjian committed
154 155
<<

Bruce Momjian's avatar
Bruce Momjian committed
156
"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc
157
	$(RSC) $(RSC_PROJ) libpq.rc
Bruce Momjian's avatar
Bruce Momjian committed
158 159


160
"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res"
161 162
	$(LINK32) @<<
	$(LINK32_FLAGS) $(LINK32_OBJS)
Bruce Momjian's avatar
Bruce Momjian committed
163 164
<<

165
"$(INTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
166 167
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\getaddrinfo.c
168 169
<<

170
"$(INTDIR)\pgstrcasecmp.obj" : ..\..\port\pgstrcasecmp.c
171 172
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\pgstrcasecmp.c
173 174
<<

175
"$(INTDIR)\thread.obj" : ..\..\port\thread.c
176 177
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\thread.c
178 179 180
<<

"$(INTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
181 182
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\inet_aton.c
183 184
<<

185
"$(INTDIR)\crypt.obj" : ..\..\port\crypt.c
186 187
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\crypt.c
188 189
<<

190
"$(INTDIR)\noblock.obj" : ..\..\port\noblock.c
191 192
	$(CPP) @<<
	$(CPP_PROJ) ..\..\port\noblock.c
193 194
<<

195
"$(INTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
196 197
	$(CPP) @<<
	$(CPP_PROJ) ..\..\backend\libpq\md5.c
Bruce Momjian's avatar
Bruce Momjian committed
198 199
<<

200
"$(INTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
201 202
	$(CPP) @<<
	$(CPP_PROJ) ..\..\backend\libpq\ip.c
203
<<
204

205
"$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
206 207
	$(CPP) @<<
	$(CPP_PROJ) /I "." ..\..\backend\utils\mb\wchar.c
208 209
<<

Bruce Momjian's avatar
Bruce Momjian committed
210

211
"$(INTDIR)\encnames.obj" : ..\..\backend\utils\mb\encnames.c
212 213
	$(CPP) @<<
	$(CPP_PROJ) /I "." ..\..\backend\utils\mb\encnames.c
214 215 216
<<


Bruce Momjian's avatar
Bruce Momjian committed
217
.c{$(CPP_OBJS)}.obj::
218 219
	$(CPP) @<<
	$(CPP_PROJ) $<
Bruce Momjian's avatar
Bruce Momjian committed
220 221 222
<<

.cpp{$(CPP_OBJS)}.obj::
223 224
	$(CPP) @<<
	$(CPP_PROJ) $< 
Bruce Momjian's avatar
Bruce Momjian committed
225 226 227
<<

.cxx{$(CPP_OBJS)}.obj::
228 229
	$(CPP) @<<
	$(CPP_PROJ) $< 
Bruce Momjian's avatar
Bruce Momjian committed
230 231 232
<<

.c{$(CPP_SBRS)}.sbr::
233 234
	$(CPP) @<<
	$(CPP_PROJ) $< 
Bruce Momjian's avatar
Bruce Momjian committed
235 236 237
<<

.cpp{$(CPP_SBRS)}.sbr::
238 239
	$(CPP) @<<
	$(CPP_PROJ) $< 
Bruce Momjian's avatar
Bruce Momjian committed
240 241 242
<<

.cxx{$(CPP_SBRS)}.sbr::
243 244
	$(CPP) @<<
	$(CPP_PROJ) $< 
Bruce Momjian's avatar
Bruce Momjian committed
245
<<