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
|
2003-09-05 04:08:36 +02:00
|
|
|
# USE_SSL=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-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-04-18 15:50:09 +02:00
|
|
|
!IF "$(CPU)" == ""
|
|
|
|
CPU=i386
|
2001-08-04 00:09:55 +02:00
|
|
|
!MESSAGE Building the Win32 static library...
|
|
|
|
!MESSAGE
|
2007-04-18 15:50:09 +02:00
|
|
|
!ELSE
|
2007-10-01 16:32:02 +02:00
|
|
|
ADD_DEFINES=/D "WIN64" /Wp64 /GS
|
|
|
|
ADD_SECLIB=bufferoverflowU.lib
|
2007-04-18 15:50:09 +02:00
|
|
|
!MESSAGE Building the Win64 static library...
|
|
|
|
!MESSAGE
|
|
|
|
!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
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
!IF "$(SSL_INC)" == ""
|
|
|
|
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
|
|
|
|
|
|
|
|
!IF "$(KFW_INC)" == ""
|
|
|
|
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=
|
|
|
|
!ELSE
|
|
|
|
NULL=nul
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
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"
|
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"
|
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"
|
1999-08-31 03:37:37 +02:00
|
|
|
-@erase "$(INTDIR)\pqexpbuffer.obj"
|
2004-11-13 04:18:50 +01:00
|
|
|
-@erase "$(INTDIR)\pqsignal.obj"
|
2002-04-24 04:26:06 +02:00
|
|
|
-@erase "$(OUTDIR)\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"
|
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"
|
2007-04-18 15:50:09 +02:00
|
|
|
-@erase pg_config_paths.h"
|
2004-06-03 02:11:13 +02:00
|
|
|
|
|
|
|
|
2005-04-29 15:42:21 +02:00
|
|
|
LIB32=link.exe -lib
|
|
|
|
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib"
|
|
|
|
LIB32_OBJS= \
|
|
|
|
"$(INTDIR)\win32.obj" \
|
|
|
|
"$(INTDIR)\getaddrinfo.obj" \
|
|
|
|
"$(INTDIR)\pgstrcasecmp.obj" \
|
|
|
|
"$(INTDIR)\thread.obj" \
|
|
|
|
"$(INTDIR)\inet_aton.obj" \
|
|
|
|
"$(INTDIR)\crypt.obj" \
|
|
|
|
"$(INTDIR)\noblock.obj" \
|
|
|
|
"$(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" \
|
|
|
|
"$(INTDIR)\pqexpbuffer.obj" \
|
|
|
|
"$(INTDIR)\pqsignal.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" \
|
2005-04-29 15:42:21 +02:00
|
|
|
"$(INTDIR)\pthread-win32.obj"
|
|
|
|
|
|
|
|
|
2007-04-18 15:50:09 +02:00
|
|
|
config: ..\..\include\pg_config.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
|
|
|
|
|
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
|
|
|
|
2003-09-05 04:08:36 +02:00
|
|
|
!IFDEF USE_SSL
|
|
|
|
CPP_PROJ=$(CPP_PROJ) /D USE_SSL
|
|
|
|
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
|
2007-10-01 16:32:02 +02:00
|
|
|
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.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
|
|
|
<<
|
|
|
|
|
1998-08-29 06:05:46 +02:00
|
|
|
"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc
|
2005-02-27 23:39:52 +01:00
|
|
|
$(RSC) $(RSC_PROJ) libpq.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
|
|
|
<<
|
|
|
|
|
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
|
|
|
<<
|
|
|
|
|
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
|
|
|
<<
|
|
|
|
|
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
|
|
|
|
<<
|
|
|
|
|
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) $<
|