diff --git a/src/port/Makefile b/src/port/Makefile index 0225b397a3080cae4d2c8ad4cb6babdadeebf147..bace576d80356da0a1077b5c82303ff36cc530b1 100644 --- a/src/port/Makefile +++ b/src/port/Makefile @@ -62,7 +62,14 @@ thread.o: CFLAGS+=$(PTHREAD_CFLAGS) libpgport_srv.a: $(OBJS_SRV) $(AR) $(AROPT) $@ $^ -%_srv.o: %.c +# Because this uses its own compilation rule, it doesn't use the +# dependency tracking logic from Makefile.global. To make sure that +# dependency tracking works anyway for the *_srv.o files, depend on +# their *.o siblings as well, which do have proper dependencies. It's +# a hack that might fail someday if there is a *_srv.o without a +# corresponding *.o, but it works for now (and those would probably go +# into src/backend/port/ anyway). +%_srv.o: %.c %.o $(CC) $(CFLAGS) $(subst -DFRONTEND,, $(CPPFLAGS)) -c $< -o $@ $(OBJS_SRV): | submake-errcodes