Is this a problem or not?
A simple fix: 1. add a STLIBS variable in Makefiles as normal prerequisite <https://www.gnu.org/software/make/manual/make.html#Prerequisite-Types> 2. using GNU make's function to generate '-Lxxx -lxxx' for items in STLIBS For example: libpgfeutils.a in psql's Makefile: ''' # function to generate '-Lxxx -lxxx', may put in another file expand_stlibs = $(patsubst %,-L%,$(dir $(1))) $(patsubst lib%.a,-l%,$(notdir $(1))) # static lib STLIBS := $(top_builddir)/src/fe_utils/libpgfeutils.a # add STLIBS as normal prerequisite psql: $(OBJS) $(STLIBS) | submake-libpq submake-libpgport submake-libpgfeutils $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) ''' 2017-11-15 16:10 GMT+08:00 高增琦 <pgf...@gmail.com>: > Hi, > > Recently, I found 'psql' is not rebuilt automatically after > editing 'fe_utils/psqlscan.l'. > > The detail is: > 'psqlscan.l' is part of 'libpgfeutils.a' which will be built > into 'psql' statically. But there is no dependency rule between > them. > > It's OK for 'libpq' since 'libpq' is a dynamic library. > For a static library such as 'libpgfeutils.a', should we > add dependency rule in Makefile? > > -- > GaoZengqi > pgf...@gmail.com > zengqi...@gmail.com > -- GaoZengqi pgf...@gmail.com zengqi...@gmail.com