From a7f8ae32dece2da37f43c52ca46410259986e689 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Thu, 28 Jul 2005 04:31:30 +0000 Subject: [PATCH] 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. --- src/backend/Makefile | 18 ++++++++++-------- 1 file 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 -- GitLab