Re: Enhancement request: Watch source files for changes

2009-02-04 Thread Noah Slater
Hey,

Is there anyone available to give feedback on my enhancement proposal?

Thanks,

-- 
Noah Slater, http://tumbolia.org/nslater


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Enhancement request: Watch source files for changes

2009-02-04 Thread Tim Murphy
I'm just another make user.

I like the idea - some operating systems have change notification
mechanisms.  One could use this for a kind of continuous integration -
rebuilding files as they are changed or checked in.

Putting make in an internal loop would be pointless - one might as
well write the script.

It would be really efficient for make to act as a kind of continuously
running dependency database, where you could tell it about changes and
it would recompute actions.

I am not an expert on the source code but I think it is a fairly large
change to try to apply to make.

Regards,

Tim


2009/2/4 Noah Slater nsla...@gnu.org:
 Hey,

 Is there anyone available to give feedback on my enhancement proposal?

 Thanks,

 --
 Noah Slater, http://tumbolia.org/nslater


 ___
 Bug-make mailing list
 Bug-make@gnu.org
 http://lists.gnu.org/mailman/listinfo/bug-make




-- 
You could help some brave and decent people to have access to
uncensored news by making a donation at:

http://www.thezimbabwean.co.uk/


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Enhancement request: Watch source files for changes

2009-02-04 Thread Noah Slater
On Wed, Feb 04, 2009 at 03:59:45PM +, Tim Murphy wrote:
 I am not an expert on the source code but I think it is a fairly large
 change to try to apply to make.

This would surprise me. Once the makefiles have been parsed and DAG has been
built, GNU Make does a check of the filesystem. How hard could it be to put
this last step in some kind of loop?

-- 
Noah Slater, http://tumbolia.org/nslater


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Enhancement request: Watch source files for changes

2009-02-04 Thread Philip Guenther
On Wed, Feb 4, 2009 at 8:25 AM, Noah Slater nsla...@gnu.org wrote:
 On Wed, Feb 04, 2009 at 03:59:45PM +, Tim Murphy wrote:
 I am not an expert on the source code but I think it is a fairly large
 change to try to apply to make.

 This would surprise me. Once the makefiles have been parsed and DAG has been
 built, GNU Make does a check of the filesystem. How hard could it be to put
 this last step in some kind of loop?

Putting the loop there would be incorrect, as then the dependency
graph wouldn't be updated when stuff changes in the filesystem.

(Caveat: I'm not a GNU make developer)

What seemed lacking to me in your original email was an analysis of
gains and losses of putting this functionality in to make.

- Why is this better built in than in a shell script wrapper (which
you already have!)?

- What problems with the shell script version are unsolvable there but solvable
  when built in?

- The shell script can be customized in a number of ways by simply
editing it.  Examples:
  o) changing the delay
  o) making the delay vary depending on whether anything was rebuilt
  o) triggering extra actions depending on whether anything was rebuilt
  o) filtering of output
  What's the plan for performing these customizations if this is built in?

- Is there precedent to this sort of enhancement, other build or
dependency tools
  that have done this sort of thing that could serve as a model?  If
this is completely
  a new area of design, then I would expect it to take several tries to get the
  behavior matching the user expectation

Those are just the sort of items I would consider if this was my
project; Paul and the other developers may have completely different
criteria in mind, but I would be surprised if they didn't overlap
some.


Philip Guenther


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Enhancement request: Watch source files for changes

2009-02-04 Thread Paul Smith
On Wed, 2009-02-04 at 10:24 -0800, Philip Guenther wrote:
 Those are just the sort of items I would consider if this was my
 project; Paul and the other developers may have completely different
 criteria in mind, but I would be surprised if they didn't overlap
 some.

I think all of Philip's points are appropriate.  To my mind the only
real advantage to doing this as a built-in-to-make facility vs. just
having people script it, as Noah did, is if we can work out a way to
make it faster by being built in.  The only way I can see that
happening, realistically, is to avoid the read step and, second and
subsequent times through, we would start after we've already read the
makefiles and before we start trying to build the goals.

However, I think this would be a lot of effort; make is not designed to
be clean in that way; as far as I know there's no simple way to get
back to that fresh, just read state (no Irish Spring for make
internals! :-)).  Make really just exits when its done and lets the
system recover all its resources, rather than spending time running
around freeing things etc.


So offhand I think this is a lot of work for not a huge amount of gain.
Anyway that's my $0.02.




___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


[bug #25493] -include filename does not show correct dependency errors

2009-02-04 Thread Pierre Willard

URL:
  http://savannah.gnu.org/bugs/?25493

 Summary: -include filename does not show correct dependency
errors
 Project: make
Submitted by: willard
Submitted on: Wed 04 Feb 2009 09:52:12 PM GMT
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: 3.81
Operating System: None
   Fixed Release: None

___

Details:

When using the -include filename(instead of just include filename), if
this filename includes dependencies that are missing, make does not show those
missing dependencies...

For example, if using:

-include foo.d

with foo.d being:

food.d foo.o: foo.c xxx.h

Let's say xxx.h does not exist (and cannot be generated) , the make fails,
but it does not say it's because of xxx.h missing.

If instead, this is used:

include foo.d

then it works fine...

I understand that the '-' in front of include means that THIS file 'foo.d'
should not itself generate an error, but I would expect the content of foo.d
to be used normally 

Full 1st example:
-

$ cat bad.mak

all: foo.d foo.ooo

COMPILE=gcc

%.o: %.c
$(COMPILE) -c $

%.d: %.c
$(COMPILE) -c $ -MM -o $*.d

-include foo.d

foo.ooo: foo.o
ld -o foo.ooo foo.o
[/cygdrive/d/tstmake]
$ make -f bad.mak
make: *** No rule to make target `foo.d', needed by `all'.  Stop.
[/cygdrive/d/tstmake]
$ cat good.mak

all: foo.d foo.ooo

COMPILE=gcc

%.o: %.c
$(COMPILE) -c $

%.d: %.c
$(COMPILE) -c $ -MM -o $*.d

include foo.d

foo.ooo: foo.o
ld -o foo.ooo foo.o
[/cygdrive/d/tstmake]
$ make -f good.mak
make: *** No rule to make target `xxx.h', needed by `foo.d'.  Stop.
[/cygdrive/d/tstmake]
$ cat foo.d
foo.d foo.o: foo.c xxx.h

the only difference between the 'good.mak' and 'bad.mak' is the '-' prefix on
the include...
See that the good.mak really displays what the problem is... whereas the
bad.mak messages are not helpful.


Full 2nd example:
-
it's the same if foo.d is not a direct target. It's even worse as make fails
without ANY error message.
Example2:
$ cat bad2.mak

all: foo.ooo

COMPILE=gcc

%.o: %.c
$(COMPILE) -c $

%.d: %.c
$(COMPILE) -c $ -MM -o $*.d

-include foo.d

foo.ooo: foo.o
ld -o foo.ooo foo.o
[/cygdrive/d/tstmake]
$ make -f bad2.mak
[/cygdrive/d/tstmake]
$ cat makefile

all:
$(MAKE) -f bad2.mak

[/cygdrive/d/tstmake]
$ make
make -f bad2.mak
make: *** [all] Error 2
[/cygdrive/d/tstmake]
$ cat foo.d
foo.d foo.o: foo.c xxx.h

See that the 'make -f bad2.mak' shows no message at all..(but going thru a
makefile shows Error 2). 







___

Reply to this item at:

  http://savannah.gnu.org/bugs/?25493

___
  Message sent via/by Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make