mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-07 19:47:50 +08:00
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).
This commit is contained in:
parent
097fe194aa
commit
424793fa5d
@ -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) $@
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user