2007-08-03 12:47:11 +02:00
|
|
|
# Makefile for Microsoft Visual C++ 7.1-8.0
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
# Will build a static library libpq(d).lib
|
|
|
|
# and a dynamic library libpq(d).dll with import library libpq(d)dll.lib
|
Break out OpenSSL-specific code to separate files.
This refactoring is in preparation for adding support for other SSL
implementations, with no user-visible effects. There are now two #defines,
USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which
is defined when building with any SSL implementation. Currently, OpenSSL is
the only implementation so the two #defines go together, but USE_SSL is
supposed to be used for implementation-independent code.
The libpq SSL code is changed to use a custom BIO, which does all the raw
I/O, like we've been doing in the backend for a long time. That makes it
possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids
a couple of syscall for each send(). Probably doesn't make much performance
difference in practice - the SSL encryption is expensive enough to mask the
effect - but it was a natural result of this refactoring.
Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by
Alvaro Herrera, Andreas Karlsson, Jeff Janes.
2014-08-11 10:54:19 +02:00
|
|
|
# USE_OPENSSL=1 will compile with OpenSSL
|
2007-04-18 15:50:09 +02:00
|
|
|
# USE_KFW=1 will compile with kfw(kerberos for Windows)
|
2003-09-05 04:08:36 +02:00
|
|
|
# DEBUG=1 compiles with debugging symbols
|
2004-06-19 06:22:17 +02:00
|
|
|
# ENABLE_THREAD_SAFETY=1 compiles with threading enabled
|
2007-10-02 21:01:45 +02:00
|
|
|
|
|
|
|
ENABLE_THREAD_SAFETY=1
|
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
# CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2007-10-02 21:01:45 +02:00
|
|
|
!IF ("$(CPU)" == "")||("$(CPU)" == "i386")
|
2007-04-18 15:50:09 +02:00
|
|
|
CPU=i386
|
2001-08-04 00:09:55 +02:00
|
|
|
!MESSAGE Building the Win32 static library...
|
|
|
|
!MESSAGE
|
2007-10-02 21:01:45 +02:00
|
|
|
!ELSEIF ("$(CPU)" == "IA64")||("$(CPU)" == "AMD64")
|
2016-04-12 01:37:04 +02:00
|
|
|
ADD_DEFINES=/D "_WIN64" /Wp64 /GS
|
2007-10-01 16:32:02 +02:00
|
|
|
ADD_SECLIB=bufferoverflowU.lib
|
2007-04-18 15:50:09 +02:00
|
|
|
!MESSAGE Building the Win64 static library...
|
|
|
|
!MESSAGE
|
2007-10-02 21:01:45 +02:00
|
|
|
!ELSE
|
|
|
|
!MESSAGE Please check a CPU=$(CPU) ?
|
|
|
|
!MESSAGE CPU=i386 or AMD64 or IA64
|
|
|
|
!ERROR Make aborted.
|
2007-04-18 15:50:09 +02:00
|
|
|
!ENDIF
|
2001-08-04 00:09:55 +02:00
|
|
|
|
2002-07-20 07:43:31 +02:00
|
|
|
!IFDEF DEBUG
|
2004-06-03 02:11:13 +02:00
|
|
|
OPT=/Od /Zi /MDd
|
|
|
|
LOPT=/DEBUG
|
2002-07-20 07:43:31 +02:00
|
|
|
DEBUGDEF=/D _DEBUG
|
2004-06-03 02:11:13 +02:00
|
|
|
OUTFILENAME=libpqd
|
2002-07-20 07:43:31 +02:00
|
|
|
!ELSE
|
2004-06-03 02:11:13 +02:00
|
|
|
OPT=/O2 /MD
|
2002-07-20 07:43:31 +02:00
|
|
|
LOPT=
|
|
|
|
DEBUGDEF=/D NDEBUG
|
2004-06-03 02:11:13 +02:00
|
|
|
OUTFILENAME=libpq
|
2002-07-20 07:43:31 +02:00
|
|
|
!ENDIF
|
2001-08-04 00:09:55 +02:00
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
!IF "$(SSL_INC)" == ""
|
2007-04-18 15:50:09 +02:00
|
|
|
SSL_INC=C:\OpenSSL\include
|
|
|
|
!MESSAGE Using default OpenSSL Include directory: $(SSL_INC)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(SSL_LIB_PATH)" == ""
|
|
|
|
SSL_LIB_PATH=C:\OpenSSL\lib\VC
|
|
|
|
!MESSAGE Using default OpenSSL Library directory: $(SSL_LIB_PATH)
|
|
|
|
!ENDIF
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
!IF "$(KFW_INC)" == ""
|
2007-04-18 15:50:09 +02:00
|
|
|
KFW_INC=C:\kfw-2.6.5\inc
|
|
|
|
!MESSAGE Using default Kerberos Include directory: $(KFW_INC)
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IF "$(KFW_LIB_PATH)" == ""
|
|
|
|
KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(CPU)
|
|
|
|
!MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
|
|
|
|
!ENDIF
|
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
!IF "$(OS)" == "Windows_NT"
|
|
|
|
NULL=
|
2010-11-23 21:27:50 +01:00
|
|
|
!ELSE
|
1998-07-03 06:24:16 +02:00
|
|
|
NULL=nul
|
2010-11-23 21:27:50 +01:00
|
|
|
!ENDIF
|
1998-07-03 06:24:16 +02:00
|
|
|
|
|
|
|
CPP=cl.exe
|
1998-08-29 06:05:46 +02:00
|
|
|
RSC=rc.exe
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
!IFDEF DEBUG
|
|
|
|
OUTDIR=.\Debug
|
|
|
|
INTDIR=.\Debug
|
|
|
|
CPP_OBJS=.\Debug/
|
|
|
|
!ELSE
|
1998-07-03 06:24:16 +02:00
|
|
|
OUTDIR=.\Release
|
|
|
|
INTDIR=.\Release
|
2003-09-05 04:08:36 +02:00
|
|
|
CPP_OBJS=.\Release/
|
|
|
|
!ENDIF
|
2001-08-04 00:09:55 +02:00
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2005-02-21 22:22:32 +01:00
|
|
|
ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
|
1998-07-03 06:24:16 +02:00
|
|
|
|
|
|
|
CLEAN :
|
2003-06-12 10:15:29 +02:00
|
|
|
-@erase "$(INTDIR)\getaddrinfo.obj"
|
2004-06-03 02:11:13 +02:00
|
|
|
-@erase "$(INTDIR)\pgstrcasecmp.obj"
|
2013-03-17 20:45:31 +01:00
|
|
|
-@erase "$(INTDIR)\pqsignal.obj"
|
2003-11-30 07:01:15 +01:00
|
|
|
-@erase "$(INTDIR)\thread.obj"
|
2003-06-12 10:15:29 +02:00
|
|
|
-@erase "$(INTDIR)\inet_aton.obj"
|
2003-11-30 07:01:15 +01:00
|
|
|
-@erase "$(INTDIR)\crypt.obj"
|
2004-04-05 05:16:21 +02:00
|
|
|
-@erase "$(INTDIR)\noblock.obj"
|
2011-09-14 16:57:32 +02:00
|
|
|
-@erase "$(INTDIR)\chklocale.obj"
|
|
|
|
-@erase "$(INTDIR)\inet_net_ntop.obj"
|
2001-08-25 05:01:26 +02:00
|
|
|
-@erase "$(INTDIR)\md5.obj"
|
2003-06-12 10:15:29 +02:00
|
|
|
-@erase "$(INTDIR)\ip.obj"
|
1998-07-03 06:24:16 +02:00
|
|
|
-@erase "$(INTDIR)\fe-auth.obj"
|
2003-06-12 10:15:29 +02:00
|
|
|
-@erase "$(INTDIR)\fe-protocol2.obj"
|
|
|
|
-@erase "$(INTDIR)\fe-protocol3.obj"
|
1998-07-03 06:24:16 +02:00
|
|
|
-@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"
|
2002-07-20 07:43:31 +02:00
|
|
|
-@erase "$(INTDIR)\fe-secure.obj"
|
2008-10-27 10:10:04 +01:00
|
|
|
-@erase "$(INTDIR)\libpq-events.obj"
|
1999-08-31 03:37:37 +02:00
|
|
|
-@erase "$(INTDIR)\pqexpbuffer.obj"
|
2008-06-27 20:58:14 +02:00
|
|
|
-@erase "$(INTDIR)\win32.obj"
|
2005-02-21 22:22:32 +01:00
|
|
|
-@erase "$(INTDIR)\wchar.obj"
|
|
|
|
-@erase "$(INTDIR)\encnames.obj"
|
|
|
|
-@erase "$(INTDIR)\pthread-win32.obj"
|
2006-06-08 00:24:46 +02:00
|
|
|
-@erase "$(INTDIR)\snprintf.obj"
|
2006-09-27 23:29:17 +02:00
|
|
|
-@erase "$(INTDIR)\strlcpy.obj"
|
2008-05-05 21:31:40 +02:00
|
|
|
-@erase "$(INTDIR)\dirent.obj"
|
|
|
|
-@erase "$(INTDIR)\dirmod.obj"
|
|
|
|
-@erase "$(INTDIR)\pgsleep.obj"
|
|
|
|
-@erase "$(INTDIR)\open.obj"
|
Replace SYSTEMQUOTEs with Windows-specific wrapper functions.
It's easy to forget using SYSTEMQUOTEs when constructing command strings
for system() or popen(). Even if we fix all the places missing it now, it is
bound to be forgotten again in the future. Introduce wrapper functions that
do the the extra quoting for you, and get rid of SYSTEMQUOTEs in all the
callers.
We previosly used SYSTEMQUOTEs in all the hard-coded command strings, and
this doesn't change the behavior of those. But user-supplied commands, like
archive_command, restore_command, COPY TO/FROM PROGRAM calls, as well as
pgbench's \shell, will now gain an extra pair of quotes. That is desirable,
but if you have existing scripts or config files that include an extra
pair of quotes, those might need to be adjusted.
Reviewed by Amit Kapila and Tom Lane
2014-05-05 15:07:40 +02:00
|
|
|
-@erase "$(INTDIR)\system.obj"
|
2008-06-27 20:58:14 +02:00
|
|
|
-@erase "$(INTDIR)\win32error.obj"
|
2011-09-14 16:57:32 +02:00
|
|
|
-@erase "$(INTDIR)\win32setlocale.obj"
|
2004-06-03 02:11:13 +02:00
|
|
|
-@erase "$(OUTDIR)\$(OUTFILENAME).lib"
|
2005-02-21 22:22:32 +01:00
|
|
|
-@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
|
1998-08-29 06:05:46 +02:00
|
|
|
-@erase "$(OUTDIR)\libpq.res"
|
2005-02-21 22:22:32 +01:00
|
|
|
-@erase "$(OUTDIR)\$(OUTFILENAME).dll"
|
2004-06-03 02:11:13 +02:00
|
|
|
-@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
|
2008-01-10 17:03:00 +01:00
|
|
|
-@erase "$(OUTDIR)\$(OUTFILENAME).dll.manifest"
|
|
|
|
-@erase "$(OUTDIR)\*.idb"
|
2007-04-18 15:50:09 +02:00
|
|
|
-@erase pg_config_paths.h"
|
Break out OpenSSL-specific code to separate files.
This refactoring is in preparation for adding support for other SSL
implementations, with no user-visible effects. There are now two #defines,
USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which
is defined when building with any SSL implementation. Currently, OpenSSL is
the only implementation so the two #defines go together, but USE_SSL is
supposed to be used for implementation-independent code.
The libpq SSL code is changed to use a custom BIO, which does all the raw
I/O, like we've been doing in the backend for a long time. That makes it
possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids
a couple of syscall for each send(). Probably doesn't make much performance
difference in practice - the SSL encryption is expensive enough to mask the
effect - but it was a natural result of this refactoring.
Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by
Alvaro Herrera, Andreas Karlsson, Jeff Janes.
2014-08-11 10:54:19 +02:00
|
|
|
!IFDEF USE_OPENSSL
|
|
|
|
-@erase "$(INTDIR)\fe-secure-openssl.obj"
|
|
|
|
!ENDIF
|
2004-06-03 02:11:13 +02:00
|
|
|
|
|
|
|
|
2005-04-29 15:42:21 +02:00
|
|
|
LIB32=link.exe -lib
|
2010-11-23 21:27:50 +01:00
|
|
|
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib"
|
2005-04-29 15:42:21 +02:00
|
|
|
LIB32_OBJS= \
|
|
|
|
"$(INTDIR)\win32.obj" \
|
|
|
|
"$(INTDIR)\getaddrinfo.obj" \
|
|
|
|
"$(INTDIR)\pgstrcasecmp.obj" \
|
2013-03-17 20:45:31 +01:00
|
|
|
"$(INTDIR)\pqsignal.obj" \
|
2005-04-29 15:42:21 +02:00
|
|
|
"$(INTDIR)\thread.obj" \
|
|
|
|
"$(INTDIR)\inet_aton.obj" \
|
|
|
|
"$(INTDIR)\crypt.obj" \
|
|
|
|
"$(INTDIR)\noblock.obj" \
|
2011-09-07 21:43:50 +02:00
|
|
|
"$(INTDIR)\chklocale.obj" \
|
|
|
|
"$(INTDIR)\inet_net_ntop.obj" \
|
2005-04-29 15:42:21 +02:00
|
|
|
"$(INTDIR)\md5.obj" \
|
|
|
|
"$(INTDIR)\ip.obj" \
|
|
|
|
"$(INTDIR)\fe-auth.obj" \
|
|
|
|
"$(INTDIR)\fe-protocol2.obj" \
|
|
|
|
"$(INTDIR)\fe-protocol3.obj" \
|
|
|
|
"$(INTDIR)\fe-connect.obj" \
|
|
|
|
"$(INTDIR)\fe-exec.obj" \
|
|
|
|
"$(INTDIR)\fe-lobj.obj" \
|
|
|
|
"$(INTDIR)\fe-misc.obj" \
|
|
|
|
"$(INTDIR)\fe-print.obj" \
|
|
|
|
"$(INTDIR)\fe-secure.obj" \
|
2008-10-27 10:10:04 +01:00
|
|
|
"$(INTDIR)\libpq-events.obj" \
|
2005-04-29 15:42:21 +02:00
|
|
|
"$(INTDIR)\pqexpbuffer.obj" \
|
|
|
|
"$(INTDIR)\wchar.obj" \
|
|
|
|
"$(INTDIR)\encnames.obj" \
|
2006-06-08 00:24:46 +02:00
|
|
|
"$(INTDIR)\snprintf.obj" \
|
2006-09-27 23:29:17 +02:00
|
|
|
"$(INTDIR)\strlcpy.obj" \
|
2008-05-05 21:31:40 +02:00
|
|
|
"$(INTDIR)\dirent.obj" \
|
|
|
|
"$(INTDIR)\dirmod.obj" \
|
|
|
|
"$(INTDIR)\pgsleep.obj" \
|
|
|
|
"$(INTDIR)\open.obj" \
|
Replace SYSTEMQUOTEs with Windows-specific wrapper functions.
It's easy to forget using SYSTEMQUOTEs when constructing command strings
for system() or popen(). Even if we fix all the places missing it now, it is
bound to be forgotten again in the future. Introduce wrapper functions that
do the the extra quoting for you, and get rid of SYSTEMQUOTEs in all the
callers.
We previosly used SYSTEMQUOTEs in all the hard-coded command strings, and
this doesn't change the behavior of those. But user-supplied commands, like
archive_command, restore_command, COPY TO/FROM PROGRAM calls, as well as
pgbench's \shell, will now gain an extra pair of quotes. That is desirable,
but if you have existing scripts or config files that include an extra
pair of quotes, those might need to be adjusted.
Reviewed by Amit Kapila and Tom Lane
2014-05-05 15:07:40 +02:00
|
|
|
"$(INTDIR)\system.obj" \
|
2008-06-27 20:58:14 +02:00
|
|
|
"$(INTDIR)\win32error.obj" \
|
2011-09-14 16:57:32 +02:00
|
|
|
"$(INTDIR)\win32setlocale.obj" \
|
2005-04-29 15:42:21 +02:00
|
|
|
"$(INTDIR)\pthread-win32.obj"
|
Break out OpenSSL-specific code to separate files.
This refactoring is in preparation for adding support for other SSL
implementations, with no user-visible effects. There are now two #defines,
USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which
is defined when building with any SSL implementation. Currently, OpenSSL is
the only implementation so the two #defines go together, but USE_SSL is
supposed to be used for implementation-independent code.
The libpq SSL code is changed to use a custom BIO, which does all the raw
I/O, like we've been doing in the backend for a long time. That makes it
possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids
a couple of syscall for each send(). Probably doesn't make much performance
difference in practice - the SSL encryption is expensive enough to mask the
effect - but it was a natural result of this refactoring.
Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by
Alvaro Herrera, Andreas Karlsson, Jeff Janes.
2014-08-11 10:54:19 +02:00
|
|
|
!IFDEF USE_OPENSSL
|
|
|
|
LIB32_OBJS=$(LIB32_OBJS) "$(INTDIR)\fe-secure-openssl.obj"
|
|
|
|
!ENDIF
|
2005-04-29 15:42:21 +02:00
|
|
|
|
|
|
|
|
2012-10-08 03:52:07 +02:00
|
|
|
config: ..\..\include\pg_config.h ..\..\include\pg_config_ext.h pg_config_paths.h ..\..\include\pg_config_os.h
|
2004-06-03 02:11:13 +02:00
|
|
|
|
|
|
|
..\..\include\pg_config.h: ..\..\include\pg_config.h.win32
|
|
|
|
copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h
|
|
|
|
|
2012-10-08 03:52:07 +02:00
|
|
|
..\..\include\pg_config_ext.h: ..\..\include\pg_config_ext.h.win32
|
|
|
|
copy ..\..\include\pg_config_ext.h.win32 ..\..\include\pg_config_ext.h
|
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
..\..\include\pg_config_os.h:
|
|
|
|
copy ..\..\include\port\win32.h ..\..\include\pg_config_os.h
|
|
|
|
|
2004-06-04 15:30:04 +02:00
|
|
|
pg_config_paths.h: win32.mak
|
2005-06-19 15:10:56 +02:00
|
|
|
echo #define SYSCONFDIR "" > pg_config_paths.h
|
2004-06-03 02:11:13 +02:00
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
"$(OUTDIR)" :
|
|
|
|
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC)" \
|
|
|
|
/D "FRONTEND" $(DEBUGDEF) \
|
|
|
|
/D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
|
2006-08-09 05:09:56 +02:00
|
|
|
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
|
2007-04-18 15:50:09 +02:00
|
|
|
/D "_CRT_SECURE_NO_DEPRECATE" $(ADD_DEFINES)
|
1998-10-06 05:02:29 +02:00
|
|
|
|
Break out OpenSSL-specific code to separate files.
This refactoring is in preparation for adding support for other SSL
implementations, with no user-visible effects. There are now two #defines,
USE_OPENSSL which is defined when building with OpenSSL, and USE_SSL which
is defined when building with any SSL implementation. Currently, OpenSSL is
the only implementation so the two #defines go together, but USE_SSL is
supposed to be used for implementation-independent code.
The libpq SSL code is changed to use a custom BIO, which does all the raw
I/O, like we've been doing in the backend for a long time. That makes it
possible to use MSG_NOSIGNAL to block SIGPIPE when using SSL, which avoids
a couple of syscall for each send(). Probably doesn't make much performance
difference in practice - the SSL encryption is expensive enough to mask the
effect - but it was a natural result of this refactoring.
Based on a patch by Martijn van Oosterhout from 2006. Briefly reviewed by
Alvaro Herrera, Andreas Karlsson, Jeff Janes.
2014-08-11 10:54:19 +02:00
|
|
|
!IFDEF USE_OPENSSL
|
|
|
|
CPP_PROJ=$(CPP_PROJ) /D USE_OPENSSL
|
2003-09-05 04:08:36 +02:00
|
|
|
SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
|
|
|
|
!ENDIF
|
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
!IFDEF USE_KFW
|
|
|
|
CPP_PROJ=$(CPP_PROJ) /D KRB5
|
2007-07-25 13:37:25 +02:00
|
|
|
KFW_LIBS=krb5_32.lib comerr32.lib gssapi32.lib
|
2007-04-18 15:50:09 +02:00
|
|
|
!ENDIF
|
|
|
|
|
2004-06-04 15:30:04 +02:00
|
|
|
!IFDEF ENABLE_THREAD_SAFETY
|
|
|
|
CPP_PROJ=$(CPP_PROJ) /D ENABLE_THREAD_SAFETY
|
|
|
|
!ENDIF
|
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
CPP_SBRS=.
|
2002-09-03 23:45:44 +02:00
|
|
|
|
1998-08-29 06:05:46 +02:00
|
|
|
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
|
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
LINK32=link.exe
|
2014-10-22 04:55:43 +02:00
|
|
|
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(KFW_LIB) $(ADD_SECLIB) \
|
2007-04-18 15:50:09 +02:00
|
|
|
/nologo /subsystem:windows /dll $(LOPT) /incremental:no \
|
|
|
|
/pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
|
|
|
|
/out:"$(OUTDIR)\$(OUTFILENAME).dll"\
|
|
|
|
/implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" \
|
|
|
|
/libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" \
|
|
|
|
/def:$(OUTFILENAME)dll.def
|
1998-07-03 06:24:16 +02:00
|
|
|
LINK32_OBJS= \
|
2004-06-03 02:11:13 +02:00
|
|
|
"$(OUTDIR)\$(OUTFILENAME).lib" \
|
1998-08-29 06:05:46 +02:00
|
|
|
"$(OUTDIR)\libpq.res"
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2005-04-29 15:42:21 +02:00
|
|
|
# @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm
|
2005-03-07 22:10:58 +01:00
|
|
|
|
2004-06-03 02:11:13 +02:00
|
|
|
"$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
2005-02-27 23:39:52 +01:00
|
|
|
$(LIB32) @<<
|
|
|
|
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
1998-07-03 06:24:16 +02:00
|
|
|
<<
|
|
|
|
|
2008-02-26 14:31:40 +01:00
|
|
|
"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc
|
|
|
|
$(RSC) $(RSC_PROJ) libpq-dist.rc
|
1998-08-29 06:05:46 +02:00
|
|
|
|
|
|
|
|
2007-03-08 20:27:28 +01:00
|
|
|
"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res"
|
2005-02-27 23:39:52 +01:00
|
|
|
$(LINK32) @<<
|
|
|
|
$(LINK32_FLAGS) $(LINK32_OBJS)
|
1998-07-03 06:24:16 +02:00
|
|
|
<<
|
2008-01-10 17:03:00 +01:00
|
|
|
# Inclusion of manifest
|
2008-06-27 20:58:14 +02:00
|
|
|
!IF "$(_NMAKE_VER)" != "6.00.8168.0" && "$(_NMAKE_VER)" != "7.00.9466"
|
|
|
|
!IF "$(_NMAKE_VER)" != "6.00.9782.0" && "$(_NMAKE_VER)" != "7.10.3077"
|
2008-01-10 17:03:00 +01:00
|
|
|
mt -manifest $(OUTDIR)\$(OUTFILENAME).dll.manifest -outputresource:$(OUTDIR)\$(OUTFILENAME).dll;2
|
|
|
|
!ENDIF
|
2008-06-27 20:58:14 +02:00
|
|
|
!ENDIF
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
"$(INTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\getaddrinfo.c
|
2003-06-12 10:15:29 +02:00
|
|
|
<<
|
|
|
|
|
2004-06-03 02:11:13 +02:00
|
|
|
"$(INTDIR)\pgstrcasecmp.obj" : ..\..\port\pgstrcasecmp.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\pgstrcasecmp.c
|
2004-06-03 02:11:13 +02:00
|
|
|
<<
|
|
|
|
|
2013-03-17 20:45:31 +01:00
|
|
|
"$(INTDIR)\pqsignal.obj" : ..\..\port\pqsignal.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\pqsignal.c
|
|
|
|
<<
|
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
"$(INTDIR)\thread.obj" : ..\..\port\thread.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\thread.c
|
2003-09-05 04:08:36 +02:00
|
|
|
<<
|
|
|
|
|
|
|
|
"$(INTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\inet_aton.c
|
2003-06-12 10:15:29 +02:00
|
|
|
<<
|
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
"$(INTDIR)\crypt.obj" : ..\..\port\crypt.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\crypt.c
|
2003-06-12 10:15:29 +02:00
|
|
|
<<
|
|
|
|
|
2004-04-05 05:16:21 +02:00
|
|
|
"$(INTDIR)\noblock.obj" : ..\..\port\noblock.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\noblock.c
|
2004-04-05 05:16:21 +02:00
|
|
|
<<
|
|
|
|
|
2011-09-07 21:43:50 +02:00
|
|
|
"$(INTDIR)\chklocale.obj" : ..\..\port\chklocale.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\chklocale.c
|
|
|
|
<<
|
|
|
|
|
|
|
|
"$(INTDIR)\inet_net_ntop.obj" : ..\..\port\inet_net_ntop.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\port\inet_net_ntop.c
|
|
|
|
<<
|
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
"$(INTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\backend\libpq\md5.c
|
2001-08-25 05:01:26 +02:00
|
|
|
<<
|
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
"$(INTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) ..\..\backend\libpq\ip.c
|
2003-06-12 10:15:29 +02:00
|
|
|
<<
|
2002-09-03 23:45:44 +02:00
|
|
|
|
1999-08-16 04:04:05 +02:00
|
|
|
"$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
2005-04-29 15:42:21 +02:00
|
|
|
$(CPP_PROJ) /I"." ..\..\backend\utils\mb\wchar.c
|
1999-08-16 04:04:05 +02:00
|
|
|
<<
|
|
|
|
|
1998-07-03 06:24:16 +02:00
|
|
|
|
2001-11-22 11:18:52 +01:00
|
|
|
"$(INTDIR)\encnames.obj" : ..\..\backend\utils\mb\encnames.c
|
2005-02-27 23:39:52 +01:00
|
|
|
$(CPP) @<<
|
2005-04-29 15:42:21 +02:00
|
|
|
$(CPP_PROJ) /I"." ..\..\backend\utils\mb\encnames.c
|
2001-11-22 11:18:52 +01:00
|
|
|
<<
|
|
|
|
|
2006-06-08 00:24:46 +02:00
|
|
|
"$(INTDIR)\snprintf.obj" : ..\..\port\snprintf.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\snprintf.c
|
|
|
|
<<
|
|
|
|
|
2006-09-27 23:29:17 +02:00
|
|
|
"$(INTDIR)\strlcpy.obj" : ..\..\port\strlcpy.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\strlcpy.c
|
|
|
|
<<
|
|
|
|
|
2008-05-05 21:31:40 +02:00
|
|
|
"$(INTDIR)\dirent.obj" : ..\..\port\dirent.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\dirent.c
|
|
|
|
<<
|
|
|
|
|
|
|
|
"$(INTDIR)\dirmod.obj" : ..\..\port\dirmod.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\dirmod.c
|
|
|
|
<<
|
|
|
|
|
|
|
|
"$(INTDIR)\pgsleep.obj" : ..\..\port\pgsleep.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\pgsleep.c
|
|
|
|
<<
|
|
|
|
|
|
|
|
"$(INTDIR)\open.obj" : ..\..\port\open.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\open.c
|
|
|
|
<<
|
|
|
|
|
Replace SYSTEMQUOTEs with Windows-specific wrapper functions.
It's easy to forget using SYSTEMQUOTEs when constructing command strings
for system() or popen(). Even if we fix all the places missing it now, it is
bound to be forgotten again in the future. Introduce wrapper functions that
do the the extra quoting for you, and get rid of SYSTEMQUOTEs in all the
callers.
We previosly used SYSTEMQUOTEs in all the hard-coded command strings, and
this doesn't change the behavior of those. But user-supplied commands, like
archive_command, restore_command, COPY TO/FROM PROGRAM calls, as well as
pgbench's \shell, will now gain an extra pair of quotes. That is desirable,
but if you have existing scripts or config files that include an extra
pair of quotes, those might need to be adjusted.
Reviewed by Amit Kapila and Tom Lane
2014-05-05 15:07:40 +02:00
|
|
|
"$(INTDIR)\system.obj" : ..\..\port\system.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\system.c
|
|
|
|
<<
|
|
|
|
|
2008-06-27 20:58:14 +02:00
|
|
|
"$(INTDIR)\win32error.obj" : ..\..\port\win32error.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\win32error.c
|
|
|
|
<<
|
|
|
|
|
2011-09-14 16:57:32 +02:00
|
|
|
"$(INTDIR)\win32setlocale.obj" : ..\..\port\win32setlocale.c
|
|
|
|
$(CPP) @<<
|
|
|
|
$(CPP_PROJ) /I"." ..\..\port\win32setlocale.c
|
|
|
|
<<
|
|
|
|
|
2005-06-19 15:10:56 +02:00
|
|
|
.c{$(CPP_OBJS)}.obj:
|
|
|
|
$(CPP) $(CPP_PROJ) $<
|
|
|
|
|
2005-04-29 15:42:21 +02:00
|
|
|
.c.obj:
|
|
|
|
$(CPP) $(CPP_PROJ) $<
|