diff options
author | Noah Misch <noah@leadboat.com> | 2015-03-01 13:05:23 -0500 |
---|---|---|
committer | Noah Misch <noah@leadboat.com> | 2015-03-01 13:05:23 -0500 |
commit | 424793fa5dc631254f69d5ee8d7d7d6de2976f60 (patch) | |
tree | 9b4da48cfdc77a631b50b09a0ff4835938947796 | |
parent | 097fe194aa7c590b4fa43d5e40c083940859c286 (diff) | |
download | postgresql-424793fa5dc631254f69d5ee8d7d7d6de2976f60.tar.gz postgresql-424793fa5dc631254f69d5ee8d7d7d6de2976f60.zip |
Unlink static libraries before rebuilding them.
When the library already exists in the build directory, "ar" preserves
members not named on its command line. This mattered when, for example,
a "configure" rerun dropped a file from $(LIBOBJS). libpgport carried
the obsolete member until "make clean". Back-patch to 9.0 (all
supported versions).
-rw-r--r-- | src/Makefile.shlib | 3 | ||||
-rw-r--r-- | src/common/Makefile | 2 | ||||
-rw-r--r-- | src/port/Makefile | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 739033f78e8..f96c7092d8a 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -296,6 +296,7 @@ all-shared-lib: $(shlib) ifndef haslibarule $(stlib): $(OBJS) | $(SHLIB_PREREQS) + rm -f $@ $(LINK.static) $@ $^ $(RANLIB) $@ endif #haslibarule @@ -337,6 +338,7 @@ else # PORTNAME == aix # AIX case $(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS) + rm -f $(stlib) $(LINK.static) $(stlib) $^ $(RANLIB) $(stlib) $(MKLDEXPORT) $(stlib) >$(exports_file) @@ -356,6 +358,7 @@ $(shlib): $(OBJS) | $(SHLIB_PREREQS) $(CC) $(CFLAGS) -shared -o $@ $(OBJS) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK) $(LIBS) $(LDAP_LIBS_BE) $(stlib): $(OBJS) | $(SHLIB_PREREQS) + rm -f $@ $(LINK.static) $@ $^ $(RANLIB) $@ diff --git a/src/common/Makefile b/src/common/Makefile index 372a21b99dc..c71415ef17d 100644 --- a/src/common/Makefile +++ b/src/common/Makefile @@ -43,6 +43,7 @@ uninstall: rm -f '$(DESTDIR)$(libdir)/libpgcommon.a' libpgcommon.a: $(OBJS_FRONTEND) + rm -f $@ $(AR) $(AROPT) $@ $^ # @@ -50,6 +51,7 @@ libpgcommon.a: $(OBJS_FRONTEND) # libpgcommon_srv.a: $(OBJS_SRV) + rm -f $@ $(AR) $(AROPT) $@ $^ # Because this uses its own compilation rule, it doesn't use the diff --git a/src/port/Makefile b/src/port/Makefile index a0908bf5e3d..a862d5186c6 100644 --- a/src/port/Makefile +++ b/src/port/Makefile @@ -51,6 +51,7 @@ uninstall: rm -f '$(DESTDIR)$(libdir)/libpgport.a' libpgport.a: $(OBJS) + rm -f $@ $(AR) $(AROPT) $@ $^ # thread.o needs PTHREAD_CFLAGS (but thread_srv.o does not) @@ -61,6 +62,7 @@ thread.o: CFLAGS+=$(PTHREAD_CFLAGS) # libpgport_srv.a: $(OBJS_SRV) + rm -f $@ $(AR) $(AROPT) $@ $^ # Because this uses its own compilation rule, it doesn't use the |