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

Reply via email to