aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-07-28 04:31:30 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-07-28 04:31:30 +0000
commita7f8ae32dece2da37f43c52ca46410259986e689 (patch)
treeccd7f5db7048f9877d3fed5aa4234adc9dfd6324 /src
parent06e1d62689d2d3ceca014b46476f81ef2d9ceeac (diff)
downloadpostgresql-a7f8ae32dece2da37f43c52ca46410259986e689.tar.gz
postgresql-a7f8ae32dece2da37f43c52ca46410259986e689.zip
Put libpgport into OBJS instead of LIBS, so that it gets included
into .def and .exp files automatically on Windows, AIX, and the like. An additional benefit is that changes in libpgport files correctly propagate to force rebuild of the backend executable. This is my reworking of Rocco Altier's idea, and if it breaks anything it's definitely my fault.
Diffstat (limited to 'src')
-rw-r--r--src/backend/Makefile18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/backend/Makefile b/src/backend/Makefile
index a76e466beb4..1008e114418 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $PostgreSQL: pgsql/src/backend/Makefile,v 1.108 2005/01/26 21:55:26 tgl Exp $
+# $PostgreSQL: pgsql/src/backend/Makefile,v 1.109 2005/07/28 04:31:30 tgl Exp $
#
#-------------------------------------------------------------------------
@@ -17,19 +17,21 @@ DIRS := access bootstrap catalog parser commands executor lib libpq \
main nodes optimizer port postmaster regex rewrite \
storage tcop utils $(top_builddir)/src/timezone
-OBJS := $(DIRS:%=%/SUBSYS.o)
+SUBSYSOBJS := $(DIRS:%=%/SUBSYS.o)
+
+OBJS := $(SUBSYSOBJS) $(top_builddir)/src/port/libpgport_srv.a
+
+# We put libpgport into OBJS, so remove it from LIBS
+LIBS := $(patsubst -lpgport, , $(LIBS))
ifeq ($(PORTNAME), qnx4)
# This file crashes qnx4's wlink and is therefore not in
# bootstrap/SUBSYS.o on that platform. (Wotta hack ... is it still
# necessary?) [ Yes, until the Watcom compiler goes open source it's
# effectively unsupported ]
-OBJS+= bootstrap/bootstrap.o
+OBJS += bootstrap/bootstrap.o
endif
-# Use server version of port library
-LIBS := $(patsubst -lpgport,-lpgport_srv, $(LIBS))
-
##########################################################################
all: submake-libpgport postgres $(POSTGRES_IMP)
@@ -69,7 +71,7 @@ postgres: $(OBJS) $(DLLINIT) postgres.def libpostgres.a $(WIN32RES)
rm -f $@.exp $@.base
postgres.def: $(OBJS)
- $(DLLTOOL) --export-all --output-def $@ $^ $(top_builddir)/src/port/libpgport.a
+ $(DLLTOOL) --export-all --output-def $@ $^
libpostgres.a: postgres.def
$(DLLTOOL) --dllname postgres.exe --def postgres.def --output-lib $@
@@ -98,7 +100,7 @@ endif
endif # aix
# Parallel make trickery
-$(OBJS): $(DIRS:%=%-recursive) ;
+$(SUBSYSOBJS): $(DIRS:%=%-recursive) ;
.PHONY: $(DIRS:%=%-recursive)
# Update the commonly used headers before building the subdirectories