Login | Register
My pages Projects Community openCollabNet

Discussions > dev > Re: [joist-cvs] CVS update: joist Makefile

Project highlights: Architectural Overview

joist
Discussion topic

Hide all messages in topic

All messages in topic

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author dlr
Full name Daniel Rall
Date 2000-10-02 12:45:45 PDT
Message Michael Stack wrote:
>
> I didn't know there were constraints. Is there a list?

No, just a general guideline of trying to reduce dependencies (rather
than increase). :)
--

Daniel Rall <dlr at finemaltcoding dot com>

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author stack
Full name Michael Stack
Date 2000-10-02 12:03:24 PDT
Message I didn't know there were constraints. Is there a list?
St.Ack



"Daniel L. Rall" wrote:
>
> Michael Stack wrote:
> >
> > How about declaring 'build' a PHONY? See
> > http://www.gnu.org/m​anual/make-3.77/html​_mono/make.html#SEC3​2.
> >
> > St.Ack
>
> This is the GNU make specific functionality that I didn't want to use
> (since it ties us to gmake). FORCE works just as well, though is a
> little less intuitive. However, some of the Makefiles are already using
> FORCE, so at least it's consistant. :)
> --
>
> Daniel Rall <dlr at finemaltcoding dot com>

--
Michael Stack
Angel from Heaven

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author dlr
Full name Daniel Rall
Date 2000-10-02 11:39:58 PDT
Message Michael Stack wrote:
>
> How about declaring 'build' a PHONY? See
> http://www.gnu.org/m​anual/make-3.77/html​_mono/make.html#SEC3​2.
>
> St.Ack

This is the GNU make specific functionality that I didn't want to use
(since it ties us to gmake). FORCE works just as well, though is a
little less intuitive. However, some of the Makefiles are already using
FORCE, so at least it's consistant. :)
--

Daniel Rall <dlr at finemaltcoding dot com>

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author stack
Full name Michael Stack
Date 2000-10-02 10:01:43 PDT
Message How about declaring 'build' a PHONY? See
http://www.gnu.org/m​anual/make-3.77/html​_mono/make.html#SEC3​2.

St.Ack


Ed Korthof wrote:
>
> On Sun, 1 Oct 2000, Daniel L. Rall wrote:
>
> > When you have moment, would you elaborate and/or provide an example?
> > This seems very odd.
>
> The basic problem is that if make finds a directory called build -- and
> your target is build -- it sees that the directory exists and doesn't
> depend on anything else. It decides that the build target is therefore
> up-to-date. Lovely, eh?
>
> Two ways to trick it are to make build depend on a bogus target (a name
> which doesn't have a corresponding file or directory) or to make build
> depend on another target (like build-real) satisfying the same conditions
> -- or change the name of the ant build directory.
>
> > It seems like if this is the case, I probably just wrote the Makefile
> > poorly and we should revamp it (ditto for Helm).
>
> It's just make stupidity, IMO.
>
> thanks --
>
> Ed
> --
> +=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=
> | Ed Korthof | edk at collab dot net | 415-247-1690 |
> +=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=

--
Michael Stack
Angel from Heaven

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author dlr
Full name Daniel Rall
Date 2000-10-01 22:53:18 PDT
Message Ed Korthof wrote:
>
> On Sun, 1 Oct 2000, Daniel L. Rall wrote:
>
> > When you have moment, would you elaborate and/or provide an example?
> > This seems very odd.
>
> The basic problem is that if make finds a directory called build -- and
> your target is build -- it sees that the directory exists and doesn't
> depend on anything else. It decides that the build target is therefore
> up-to-date. Lovely, eh?
>
> Two ways to trick it are to make build depend on a bogus target (a name
> which doesn't have a corresponding file or directory) or to make build
> depend on another target (like build-real) satisfying the same conditions
> -- or change the name of the ant build directory.
>
> > It seems like if this is the case, I probably just wrote the Makefile
> > poorly and we should revamp it (ditto for Helm).
>
> It's just make stupidity, IMO.

Ahh, thanks Ed, I totally overlooked that (doh!). The idiomatic way to
do this is to use an empty target named "FORCE", generally the last
target in the file. GNU make has another way around this, but I'll just
apply the standard fix so we're not tied to gmake (by this, at least).
--

Daniel Rall <dlr at finemaltcoding dot com>

Re: [joist-dev] Re: [joist-cvs] CVS update: joist Makefile

Author edk
Full name Ed Korthof
Date 2000-10-01 22:48:16 PDT
Message On Sun, 1 Oct 2000, Daniel L. Rall wrote:

> When you have moment, would you elaborate and/or provide an example?
> This seems very odd.

The basic problem is that if make finds a directory called build -- and
your target is build -- it sees that the directory exists and doesn't
depend on anything else. It decides that the build target is therefore
up-to-date. Lovely, eh?

Two ways to trick it are to make build depend on a bogus target (a name
which doesn't have a corresponding file or directory) or to make build
depend on another target (like build-real) satisfying the same conditions
-- or change the name of the ant build directory.

> It seems like if this is the case, I probably just wrote the Makefile
> poorly and we should revamp it (ditto for Helm).

It's just make stupidity, IMO.

thanks --

Ed
--
   +=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=
   | Ed Korthof | edk at collab dot net | 415-247-1690 |
   +=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=+=-=​+=-=+=-=+=-=+=-=

Re: [joist-cvs] CVS update: joist Makefile

Author dlr
Full name Daniel Rall
Date 2000-10-01 22:38:45 PDT
Message When you have moment, would you elaborate and/or provide an example?
This seems very odd.

It seems like if this is the case, I probably just wrote the Makefile
poorly and we should revamp it (ditto for Helm).

p.s. Sorry I didn't check with you first--I figured that you had a good
reason for it.

lucas at tigris dot org wrote:
>
> User: lucas
> Date: 00/10/01 00:08:27
>
> Modified: . Makefile
> Log:
> Had to add this ugly redirection so that make would go into sub-directories.
>
> Revision Changes Path
> 1.4 +3 -1 joist/Makefile
>
> Index: Makefile
> ====================​====================​====================​=======
> RCS file: /cvs/joist/Makefile,v
> retrieving revision 1.3
> retrieving revision 1.4
> diff -u -r1.3 -r1.4
> --- Makefile 2000/09/30 07:52:36 1.3
> +++ Makefile 2000/10/01 07:08:26 1.4
> @@ -6,7 +6,9 @@
>
> default: build
>
> -build:
> +build: build-real
> +
> +build-real:
> @echo 'Building $(PROJECT)'; \
> for d in $(BUILD_DIRS); do \
> cd $${d}; \
>
>
>

--

Daniel Rall <dlr at finemaltcoding dot com>
Messages per page: