[bug #29665] .PHONY included makefiles are rebuilt but not reread
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
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
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
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
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
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
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
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