1 # Makefile for Microsoft Visual C++ 5.0 (or compat)
3 # Will build a Win32 static library libpq(d).lib
4 # and a Win32 dynamic library libpq(d).dll with import library libpq(d)dll.lib
5 # USE_SSL=1 will compile with OpenSSL
6 # DEBUG=1 compiles with debugging symbols
7 # ENABLE_THREAD_SAFETY=1 compiles with threading enabled
9 !MESSAGE Building the Win32 static library...
24 !IF "$(OS)" == "Windows_NT"
44 ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
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"
53 -@erase "$(INTDIR)\md5.obj"
54 -@erase "$(INTDIR)\ip.obj"
55 -@erase "$(INTDIR)\fe-auth.obj"
56 -@erase "$(INTDIR)\fe-protocol2.obj"
57 -@erase "$(INTDIR)\fe-protocol3.obj"
58 -@erase "$(INTDIR)\fe-connect.obj"
59 -@erase "$(INTDIR)\fe-exec.obj"
60 -@erase "$(INTDIR)\fe-lobj.obj"
61 -@erase "$(INTDIR)\fe-misc.obj"
62 -@erase "$(INTDIR)\fe-print.obj"
63 -@erase "$(INTDIR)\fe-secure.obj"
64 -@erase "$(INTDIR)\pqexpbuffer.obj"
65 -@erase "$(INTDIR)\pqsignal.obj"
66 -@erase "$(OUTDIR)\libpqdll.obj"
67 -@erase "$(OUTDIR)\win32.obj"
68 -@erase "$(INTDIR)\wchar.obj"
69 -@erase "$(INTDIR)\encnames.obj"
70 -@erase "$(INTDIR)\pthread-win32.obj"
71 -@erase "$(OUTDIR)\$(OUTFILENAME).lib"
72 -@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
73 -@erase "$(OUTDIR)\libpq.res"
74 -@erase "$(OUTDIR)\$(OUTFILENAME).dll"
76 -@erase "$(OUTDIR)\libpq.pch"
77 -@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
78 -@erase "$(INTDIR)\pg_config_paths.h"
82 LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib"
84 "$(INTDIR)\win32.obj" \
85 "$(INTDIR)\getaddrinfo.obj" \
86 "$(INTDIR)\pgstrcasecmp.obj" \
87 "$(INTDIR)\thread.obj" \
88 "$(INTDIR)\inet_aton.obj" \
89 "$(INTDIR)\crypt.obj" \
90 "$(INTDIR)\noblock.obj" \
93 "$(INTDIR)\fe-auth.obj" \
94 "$(INTDIR)\fe-protocol2.obj" \
95 "$(INTDIR)\fe-protocol3.obj" \
96 "$(INTDIR)\fe-connect.obj" \
97 "$(INTDIR)\fe-exec.obj" \
98 "$(INTDIR)\fe-lobj.obj" \
99 "$(INTDIR)\fe-misc.obj" \
100 "$(INTDIR)\fe-print.obj" \
101 "$(INTDIR)\fe-secure.obj" \
102 "$(INTDIR)\pqexpbuffer.obj" \
103 "$(INTDIR)\pqsignal.obj" \
104 "$(INTDIR)\wchar.obj" \
105 "$(INTDIR)\encnames.obj" \
106 "$(INTDIR)\pthread-win32.obj"
109 config: ..\..\include\pg_config.h pthread.h pg_config_paths.h
111 ..\..\include\pg_config.h: ..\..\include\pg_config.h.win32
112 copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h
114 pthread.h: pthread.h.win32
115 copy pthread.h.win32 pthread.h
117 pg_config_paths.h: win32.mak
118 echo \#define SYSCONFDIR "" > pg_config_paths.h
121 if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
123 CPP_PROJ=/nologo /W3 /GX $(OPT) /I "..\..\include" /I. /D "FRONTEND" $(DEBUGDEF) /D\
124 "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
125 /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
128 CPP_PROJ=$(CPP_PROJ) /D USE_SSL
129 SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
132 !IFDEF ENABLE_THREAD_SAFETY
133 CPP_PROJ=$(CPP_PROJ) /D ENABLE_THREAD_SAFETY
138 RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
141 LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib $(SSL_LIBS) \
142 /nologo /subsystem:windows /dll $(LOPT) /incremental:no\
143 /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
144 /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" /def:$(OUTFILENAME)dll.def
146 "$(INTDIR)\libpqdll.obj" \
147 "$(OUTDIR)\$(OUTFILENAME).lib" \
148 "$(OUTDIR)\libpq.res"
151 # @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm
153 "$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
155 $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
158 "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc
159 $(RSC) $(RSC_PROJ) libpq.rc
162 "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res"
164 $(LINK32_FLAGS) $(LINK32_OBJS)
167 "$(INTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
169 $(CPP_PROJ) ..\..\port\getaddrinfo.c
172 "$(INTDIR)\pgstrcasecmp.obj" : ..\..\port\pgstrcasecmp.c
174 $(CPP_PROJ) ..\..\port\pgstrcasecmp.c
177 "$(INTDIR)\thread.obj" : ..\..\port\thread.c
179 $(CPP_PROJ) ..\..\port\thread.c
182 "$(INTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
184 $(CPP_PROJ) ..\..\port\inet_aton.c
187 "$(INTDIR)\crypt.obj" : ..\..\port\crypt.c
189 $(CPP_PROJ) ..\..\port\crypt.c
192 "$(INTDIR)\noblock.obj" : ..\..\port\noblock.c
194 $(CPP_PROJ) ..\..\port\noblock.c
197 "$(INTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
199 $(CPP_PROJ) ..\..\backend\libpq\md5.c
202 "$(INTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
204 $(CPP_PROJ) ..\..\backend\libpq\ip.c
207 "$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
209 $(CPP_PROJ) /I"." ..\..\backend\utils\mb\wchar.c
213 "$(INTDIR)\encnames.obj" : ..\..\backend\utils\mb\encnames.c
215 $(CPP_PROJ) /I"." ..\..\backend\utils\mb\encnames.c
219 $(CPP) $(CPP_PROJ) $<