[bug #29665] .PHONY included makefiles are rebuilt but not reread

2010-05-07 Thread Matt McCutchen

Follow-up Comment #1, bug #29665 (project make):

Since the makefile is a real file, you shouldn't be marking it phony.  The
usual way to force a target to always be remade is to have it depend on a
phony target FORCE.

___

Reply to this item at:

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

___
  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


[bug #28983] forcing a target matching a pattern rule shadows the rule's actions

2010-05-07 Thread Matt McCutchen

Follow-up Comment #3, bug #28983 (project make):

The technique in comment #1 is actually the recommended solution, with the
dummy target named FORCE.  Phoniness is only for targets that are not files.

___

Reply to this item at:

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

___
  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


[bug #29814] Library search feature should be configurable for multilib systems

2010-05-07 Thread Matt McCutchen

Follow-up Comment #3, bug #29814 (project make):

That requires changes to every makefile.  With my proposed patch series,
distributions that want to support multilib would be able to configure make
to use the correct standard search directories for the system's primary
architecture.  A user who wants to build a program for a secondary
architecture could even set LIBDIRNAME (along with CFLAGS) on the command line
to use the appropriate search directories.

___

Reply to this item at:

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

___
  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


[bug #28983] forcing a target matching a pattern rule shadows the rule's actions

2010-05-07 Thread Matt McCutchen

Follow-up Comment #5, bug #28983 (project make):

I don't understand how the second quote defeats my statement.  The point is
that marking the clean target phony prevents the accidental existence of a
file by that name from confusing the build system.  If you're trying to argue
from that quote that marking a target phony is a general way to force it to be
rebuilt, you're wrong.

I don't understand your objection to the FORCE idiom either.  Here is your
makefile rewritten to use FORCE:


default: file.o

FORCE:
.PHONY: FORCE
file.o: FORCE

file.c:
echo Auto-generating $@...
touch $@

%.o: %.c
echo Making $@ from $^...
touch $@ 


The only pre-requisite of .PHONY (let's just call it a phony target) is
FORCE itself, and the purpose of marking it phony is to _not_ be affected by a
file of the that name, though such a file should never exist anyway.  What is
the potential name clash you mention?

___

Reply to this item at:

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

___
  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


[bug #29814] Library search feature should be configurable for multilib systems

2010-05-06 Thread Matt McCutchen

Follow-up Comment #1, bug #29814 (project make):

This was me, forgetting to log in.  Sorry.

___

Reply to this item at:

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

___
  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


[bug #20501] MAKEFLAGS += -rR doesn't turn off default suffix rules, variables

2007-07-16 Thread Matt McCutchen

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

 Summary: MAKEFLAGS += -rR doesn't turn off default suffix
rules, variables
 Project: make
Submitted by: hashproduct
Submitted on: Tuesday 07/17/2007 at 03:58
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: None
Operating System: POSIX-Based
   Fixed Release: None

___

Details:

I'm using GNU make 3.81 on Fedora Core 7 Linux.

I put MAKEFLAGS += -rR at the top of my makefile and expected this to
disable all default rules and variables.  However, make -p shows that the
default suffix rules and variables are still present.

My makefile, makeflags.mk is the following:

-
MAKEFLAGS += -rR

all:
-

This illustrates that the options in the makefile do not turn off suffix
rules:

$ make -f makeflags.mk -p | grep '^\..*\..*'
.LIBPATTERNS = lib%.so lib%.a
.web.p:
.l.r:
.F.o:
.y.ln:
.def.sym:
.p.o:
.txinfo.dvi:
.l.ln:
.w.c:
.texi.dvi:
.cc.o:
.SUFFIXES: .out .a .ln .o .c .cc .C .cpp .p .f .F .r .y .l .s .S .mod .sym
.def .h .info .dvi .tex .texinfo .texi .txinfo .w .ch .web .sh .elc .el
.c.o:
.r.o:
.l.c:
.r.f:
.texinfo.info:
.w.tex:
.c.ln:
.s.o:
.texinfo.dvi:
.y.c:
.web.tex:
.texi.info:
.tex.dvi:
.cpp.o:
.C.o:
.txinfo.info:
.S.s:
.mod.o:
.F.f:
.S.o:
.f.o:
$ make -f makeflags.mk -p -rR | grep '^\..*\..*'
(No output)

This happens because default suffix rules and variables are loaded too soon
to be governed by the second call to decode_env_switches that picks up the
MAKEFLAGS set by the makefile.




___

Reply to this item at:

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

___
  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


[bug #20502] Allow attaching target-specific variables to implicit rules

2007-07-16 Thread Matt McCutchen

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

 Summary: Allow attaching target-specific variables to
implicit rules
 Project: make
Submitted by: hashproduct
Submitted on: Tuesday 07/17/2007 at 05:03
Severity: 3 - Normal
  Item Group: Enhancement
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: 3.81
Operating System: POSIX-Based
   Fixed Release: None

___

Details:

I'm using GNU make 3.81 on Fedora Core 7 Linux.

Suppose I have some documentation files, some of which use a hash symbol to
mark comments and some of which use a double slash; a file's extension (.hc
or .ssc) tells what format it's in.  I want to generate comment-free versions
of all the files.  Here's the makefile:

-
UNCOMMENT = grep -v '^$(commentsymbol)'

all: foo.txt bar.txt
# foo.hc and bar.ssc exist

%.txt: %.hc
$(UNCOMMENT) $ -o $@

%.txt: %.ssc
$(UNCOMMENT) $ -o $@
-

I want to associate a target-specific variable definition for
$(commentsymbol) with each implicit rule so that a target's $(commentsymbol)
will be correct based on which rule was chosen to build it.  Make will let me
attach definitions to the target pattern %.txt, but that's no good because I
can't get make to use one definition for the first rule and a different
definition for the second.  Make should provide a way for me attach a
definition to an implicit rule.  Since only one implicit rule can exist with
a given target pattern and a given set of prerequisite patterns, attaching
the definition to those patterns comes to the same.  The syntax could be
something like this:

%.txt: %.hc: commentsymbol = \#
%.txt: %.ssc: commentsymbol = //





___

Reply to this item at:

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

___
  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


[bug #19975] Add function: $(mtime foo.c) - 1180203683

2007-05-29 Thread Matt McCutchen

Follow-up Comment #3, bug #19975 (project make):

That's wonderful news.  I'll work on the other parts of the tool for now and
revisit the out-of-date criterion once I see the results of the Summer of
Code project.

___

Reply to this item at:

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

___
  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