Skip to Content.
Sympa Menu

freetds - Re: make easy (again)

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Brian Bruns <camber AT ais.org>
  • To: TDS Development Group <freetds AT franklin.metalab.unc.edu>
  • Subject: Re: make easy (again)
  • Date: Fri, 5 Jul 2002 16:02:14 -0400 (EDT)



I have no idea, how's that? I have no attachments to anything that might
be in the Makefile's so feel free to import whatever solution works.

Brian

On Fri, 5 Jul 2002, James K. Lowden wrote:

> Makefilers,
>
> Further testing reveals former testing was incomplete. I came across a
> couple of Gnuism in the FreeTDS Makefile's. The same fellow who sent the
> previous patches had some questions, which I couldn't answer. I hope
> someone here (Brian, probably) can. See below (my comments are prepended
> with ">").
>
> --jkl
>
> > "make include" relies on the Implicit Variable $(RM). I don't know why;
> > many of the Makefile's don't do that.
>
> autoconf/automake can be used to automatically create a RM make variable
> in all of the generated Makefiles. I'll work on it and send you a patch.
>
> > The src/tds/Makefile is more baffling. It gets stuck on "mem.lo". I've
> > attached the behavior. It looks to me like BSD make can't find this
> > pattern rule:
> >
> > %.o: %.c
> > @echo '$(COMPILE) -c $<'; \
> > $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
> > @-cp .deps/$(*F).pp .deps/$(*F).P; \
> > tr ' ' '\012' < .deps/$(*F).pp \
> > | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
> > >> .deps/$(*F).P; \
> > rm .deps/$(*F).pp
> >
> > I can't find anything in src/tds/Makefile.am that about that.
>
> "%.o: %.c" is a GNU make construct. Actually, that whole rule looks
> pretty evil...can you explain what it's trying to do? From my quick read
> of it, it looks like the rule is trying to dynamically update the
> dependencies for the Makefile. This is quite hard to do portably. Most
> other software rely on a separate program "makedepend" and an appropriate
> "depend" target in the Makefile to do this statically whenever the
> developer thinks that it needs to be run. I recommend that freetds do
> this as well, unless there is some technical reason why the status quo
> exists.




  • make easy (again), James K. Lowden, 07/05/2002
    • <Possible follow-up(s)>
    • Re: make easy (again), Brian Bruns, 07/05/2002

Archive powered by MHonArc 2.6.24.

Top of Page