LDFLAGS in the example changed to:

'''
override LDFLAGS := $(call expand_stlibs,$(STLIBS)) $(libpq_pgport)
$(LDFLAGS)
'''

2017-11-16 20:50 GMT+08:00 高增琦 <pgf...@gmail.com>:

> 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
>



-- 
GaoZengqi
pgf...@gmail.com
zengqi...@gmail.com

Reply via email to