2017-11-20 2:25 GMT+08:00 Tom Lane <t...@sss.pgh.pa.us>:

> =?UTF-8?B?6auY5aKe55Cm?= <pgf...@gmail.com> writes:
> > I very much look forward to hearing everyone's views on this issue.
> > If the solution mentioned before is ok, I will start to complete it.
>
> Please don't top-post, it makes the flow of the conversation very hard
> to follow.
>

Sorry, my fault, I am so anxious.


> > Recently, I found 'psql' is not rebuilt automatically after
> > editing 'fe_utils/psqlscan.l'.
> > ...
> > 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?
>
> Hm.  I think what you're saying is that when we copied the makefile
> patterns used for libpq.so to use for libpgport and libpgfeutils,
> we did the wrong thing because those are static not dynamic libraries.
> We don't have to relink psql if libpq.so gets some non-API-relevant
> changes, but we do need to relink it if libpgport.a does, so I suppose
> you are right.  However, this doesn't seem like the right way to
> fix it:
>
> > # add STLIBS as normal prerequisite
> > psql: $(OBJS) $(STLIBS) | submake-libpq submake-libpgport
> submake-libpgfeutils
> >       $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
>
> Your point is that the static libraries should be treated as normal
> dependencies not order-only ones, so building that behavior like
> this seems pretty bizarre.
>
> I think what we want is something more like
>
>         ../../src/port/libpgport.a: submake-libpgport
>
>         ../../src/fe_utils/libpgfeutils.a: submake-libpgfeutils
>
>         psql: $(OBJS) ../../src/port/libpgport.a 
> ../../src/fe_utils/libpgfeutils.a
> | submake-libpq
>                 $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS)
> -o $@$(X)
>
> where of course the library file names need to be wrapped up in macros,
> but this is what it'd look like after macro expansion.  (I'm not sure
> this is right in detail, but my point is that we don't want order-only
> dependencies for these libraries.)
>
>                         regards, tom lane
>

Thank you, I will try it this way.


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

Reply via email to