1- # Makefile for Microsoft Visual C++5.0 (or compat)
1+ # Makefile for Microsoft Visual C++6.0-8.0
22
3- # Will build aWin32 static library libpq(d).lib
4- # and aWin32 dynamic library libpq(d).dll with import library libpq(d)dll.lib
3+ # Will build a static library libpq(d).lib
4+ # and a dynamic library libpq(d).dll with import library libpq(d)dll.lib
55# USE_SSL=1 will compile with OpenSSL
6+ # USE_KFW=1 will compile with kfw(kerberos for Windows)
67# DEBUG=1 compiles with debugging symbols
78# ENABLE_THREAD_SAFETY=1 compiles with threading enabled
9+ # CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
810
11+ !IF "$(CPU)" == ""
12+ CPU =i386
913!MESSAGE Building the Win32 static library...
1014!MESSAGE
15+ !ELSE
16+ ADD_DEFINES =/D "WIN64" /Wp64
17+ !MESSAGE Building the Win64 static library...
18+ !MESSAGE
19+ !ENDIF
1120
1221!IFDEF DEBUG
1322OPT =/Od /Zi /MDd
@@ -21,6 +30,26 @@ DEBUGDEF=/D NDEBUG
2130OUTFILENAME =libpq
2231!ENDIF
2332
33+ !IF "$(SSL_INC)" == ""
34+ SSL_INC =C:\OpenSSL\include
35+ !MESSAGE Using default OpenSSL Include directory :$(SSL_INC )
36+ !ENDIF
37+
38+ !IF "$(SSL_LIB_PATH)" == ""
39+ SSL_LIB_PATH =C:\OpenSSL\lib\VC
40+ !MESSAGE Using default OpenSSL Library directory :$(SSL_LIB_PATH )
41+ !ENDIF
42+
43+ !IF "$(KFW_INC)" == ""
44+ KFW_INC =C:\kfw-2.6.5\inc
45+ !MESSAGE Using default Kerberos Include directory :$(KFW_INC )
46+ !ENDIF
47+
48+ !IF "$(KFW_LIB_PATH)" == ""
49+ KFW_LIB_PATH =C:\kfw-2.6.5\lib\$(CPU )
50+ !MESSAGE Using default Kerberos Library directory :$(KFW_LIB_PATH )
51+ !ENDIF
52+
2453!IF "$(OS)" == "Windows_NT"
2554NULL =
2655!ELSE
@@ -74,7 +103,7 @@ CLEAN :
74103-@erase" $( OUTDIR) \libpq.res"
75104-@erase" $( OUTDIR) \$ (OUTFILENAME).dll"
76105-@erase" $( OUTDIR) \$ (OUTFILENAME)dll.exp"
77- -@erase" $( INTDIR ) \ pg_config_paths.h"
106+ -@erase pg_config_paths.h"
78107
79108
80109LIB32 =link.exe -lib
@@ -107,27 +136,36 @@ LIB32_OBJS= \
107136"$(INTDIR ) \pthread-win32.obj"
108137
109138
110- config : ..\..\include\pg_config.h pg_config_paths.h
139+ config : ..\..\include\pg_config.h pg_config_paths.h ..\..\include\pg_config_os.h
111140
112141..\..\include\pg_config.h : ..\..\include\pg_config.h.win32
113142copy ..\. .\i nclude\p g_config.h.win32 ..\. .\i nclude\p g_config.h
114143
144+ ..\..\include\pg_config_os.h :
145+ copy ..\. .\i nclude\p ort\w in32.h ..\. .\i nclude\p g_config_os.h
146+
115147pg_config_paths.h : win32.mak
116148echo # define SYSCONFDIR "" > pg_config_paths.h
117149
118150"$(OUTDIR ) " :
119151 if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
120152
121- CPP_PROJ =/nologo /W3 /EHsc$(OPT ) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /D "FRONTEND"$(DEBUGDEF ) /D\
122- "WIN32" /D "_WINDOWS" /Fp"$(INTDIR ) \libpq.pch"\
153+ CPP_PROJ =/nologo /W3 /EHsc$(OPT ) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC ) "\
154+ /D "FRONTEND"$(DEBUGDEF ) \
155+ /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR ) \libpq.pch"\
123156 /Fo"$(INTDIR ) \\" /Fd"$(INTDIR ) \\" /FD /c\
124- /D "_CRT_SECURE_NO_DEPRECATE"
157+ /D "_CRT_SECURE_NO_DEPRECATE"$( ADD_DEFINES )
125158
126159!IFDEF USE_SSL
127160CPP_PROJ =$(CPP_PROJ ) /D USE_SSL
128161SSL_LIBS =ssleay32.lib libeay32.lib gdi32.lib
129162!ENDIF
130163
164+ !IFDEF USE_KFW
165+ CPP_PROJ =$(CPP_PROJ ) /D KRB5
166+ KFW_LIBS =krb5_32.lib comerr32.lib
167+ !ENDIF
168+
131169!IFDEF ENABLE_THREAD_SAFETY
132170CPP_PROJ =$(CPP_PROJ ) /D ENABLE_THREAD_SAFETY
133171!ENDIF
@@ -137,15 +175,17 @@ CPP_SBRS=.
137175RSC_PROJ =/l 0x409 /fo"$(INTDIR ) \libpq.res"
138176
139177LINK32 =link.exe
140- LINK32_FLAGS =kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib$(SSL_LIBS ) \
141- /nologo /subsystem:windows /dll$(LOPT ) /incremental:no\
142- /pdb:"$(OUTDIR ) \libpqdll.pdb" /machine:I386 /out:"$(OUTDIR ) \$(OUTFILENAME ) .dll"\
143- /implib:"$(OUTDIR ) \$(OUTFILENAME ) dll.lib" /def:$(OUTFILENAME ) dll.def
178+ LINK32_FLAGS =kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib$(SSL_LIBS ) $(KFW_LIB ) \
179+ /nologo /subsystem:windows /dll$(LOPT ) /incremental:no\
180+ /pdb:"$(OUTDIR ) \libpqdll.pdb" /machine:$(CPU ) \
181+ /out:"$(OUTDIR ) \$(OUTFILENAME ) .dll"\
182+ /implib:"$(OUTDIR ) \$(OUTFILENAME ) dll.lib"\
183+ /libpath:"$(SSL_LIB_PATH ) " /libpath:"$(KFW_LIB_PATH ) "\
184+ /def:$(OUTFILENAME ) dll.def
144185LINK32_OBJS =\
145186"$(OUTDIR ) \$(OUTFILENAME ) .lib"\
146187"$(OUTDIR ) \libpq.res"
147188
148-
149189# @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm
150190
151191"$(OUTDIR ) \$(OUTFILENAME ) .lib" : "$(OUTDIR ) "$(DEF_FILE ) $(LIB32_OBJS )