Magellan Linux

Annotation of /trunk/kernel26-magellan/patches-2.6.16-r12/0300-2.6.16-kbuild-dont-rely-on-incorrect-gnu-make-behavior.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 72 - (hide annotations) (download)
Mon Jun 5 09:25:38 2006 UTC (17 years, 11 months ago) by niro
File size: 30206 byte(s)
ver bump to 2.6.16-r12:
- updated to linux-2.6.16.19
- updated to ck11

1 niro 72 diff-tree 130d1609c10aa8cdab6008c4a7862af06b855eea (from 7705a8792b0fc82fd7d4dd923724606bbfd9fb20)
2     Author: Paul Smith <psmith@gnu.org>
3     Date: Sun Mar 5 17:14:10 2006 -0500
4    
5     [PATCH] kbuild: change kbuild to not rely on incorrect GNU make behavior
6    
7     The kbuild system takes advantage of an incorrect behavior in GNU make.
8     Once this behavior is fixed, all files in the kernel rebuild every time,
9     even if nothing has changed. This patch ensures kbuild works with both
10     the incorrect and correct behaviors of GNU make.
11    
12     For more details on the incorrect behavior, see:
13    
14     http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html
15    
16     Changes in this patch:
17     - Keep all targets that are to be marked .PHONY in a variable, PHONY.
18     - Add .PHONY: $(PHONY) to mark them properly.
19     - Remove any $(PHONY) files from the $? list when determining whether
20     targets are up-to-date or not.
21    
22     Signed-off-by: Paul Smith <psmith@gnu.org>
23     Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
24     (cherry picked from 4f1933620f57145212cdbb1ac6ce099eeeb21c5a commit)
25    
26     ---
27     Documentation/DocBook/Makefile | 8 ++++-
28     Makefile | 56 +++++++++++++++++++-----------------
29     arch/arm/Makefile | 5 ++-
30     arch/arm/boot/Makefile | 5 ++-
31     arch/arm/boot/bootp/Makefile | 5 ++-
32     arch/arm26/Makefile | 7 +++-
33     arch/arm26/boot/Makefile | 5 ++-
34     arch/i386/Makefile | 4 +-
35     arch/ia64/Makefile | 5 ++-
36     arch/m32r/Makefile | 5 ++-
37     arch/powerpc/Makefile | 2 -
38     arch/ppc/Makefile | 2 -
39     arch/ppc/boot/Makefile | 5 ++-
40     arch/ppc/boot/openfirmware/Makefile | 7 +++-
41     arch/sh/Makefile | 2 -
42     arch/um/Makefile | 7 +++-
43     arch/x86_64/Makefile | 4 +-
44     scripts/Kbuild.include | 13 +++++---
45     scripts/Makefile.build | 12 +++++--
46     scripts/Makefile.clean | 10 +++++-
47     scripts/Makefile.modinst | 10 +++++-
48     scripts/Makefile.modpost | 12 +++++--
49     scripts/kconfig/Makefile | 4 +-
50     scripts/kconfig/lxdialog/Makefile | 6 +--
51     scripts/package/Makefile | 10 +++---
52     25 files changed, 140 insertions(+), 71 deletions(-)
53    
54     Index: linux-2.6.16-ck2/Documentation/DocBook/Makefile
55     ===================================================================
56     --- linux-2.6.16-ck2.orig/Documentation/DocBook/Makefile 2006-01-03 17:36:06.000000000 +1100
57     +++ linux-2.6.16-ck2/Documentation/DocBook/Makefile 2006-03-29 21:30:36.000000000 +1000
58     @@ -28,7 +28,7 @@ PS_METHOD = $(prefer-db2x)
59    
60     ###
61     # The targets that may be used.
62     -.PHONY: xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs
63     +PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs
64    
65     BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
66     xmldocs: $(BOOKS)
67     @@ -211,3 +211,9 @@ clean-dirs := $(patsubst %.xml,%,$(DOCBO
68    
69     #man put files in man subdir - traverse down
70     subdir- := man/
71     +
72     +
73     +# Declare the contents of the .PHONY variable as phony. We keep that
74     +# information in a variable se we can use it in if_changed and friends.
75     +
76     +.PHONY: $(PHONY)
77     Index: linux-2.6.16-ck2/Makefile
78     ===================================================================
79     --- linux-2.6.16-ck2.orig/Makefile 2006-03-20 20:11:01.000000000 +1100
80     +++ linux-2.6.16-ck2/Makefile 2006-03-29 21:30:36.000000000 +1000
81     @@ -95,7 +95,7 @@ ifdef O
82     endif
83    
84     # That's our default target when none is given on the command line
85     -.PHONY: _all
86     +PHONY := _all
87     _all:
88    
89     ifneq ($(KBUILD_OUTPUT),)
90     @@ -106,7 +106,7 @@ KBUILD_OUTPUT := $(shell cd $(KBUILD_OUT
91     $(if $(KBUILD_OUTPUT),, \
92     $(error output directory "$(saved-output)" does not exist))
93    
94     -.PHONY: $(MAKECMDGOALS)
95     +PHONY += $(MAKECMDGOALS)
96    
97     $(filter-out _all,$(MAKECMDGOALS)) _all:
98     $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
99     @@ -123,7 +123,7 @@ ifeq ($(skip-makefile),)
100    
101     # If building an external module we do not care about the all: rule
102     # but instead _all depend on modules
103     -.PHONY: all
104     +PHONY += all
105     ifeq ($(KBUILD_EXTMOD),)
106     _all: all
107     else
108     @@ -369,14 +369,14 @@ export RCS_TAR_IGNORE := --exclude SCCS
109     # Rules shared between *config targets and build targets
110    
111     # Basic helpers built in scripts/
112     -.PHONY: scripts_basic
113     +PHONY += scripts_basic
114     scripts_basic:
115     $(Q)$(MAKE) $(build)=scripts/basic
116    
117     # To avoid any implicit rule to kick in, define an empty command.
118     scripts/basic/%: scripts_basic ;
119    
120     -.PHONY: outputmakefile
121     +PHONY += outputmakefile
122     # outputmakefile generate a Makefile to be placed in output directory, if
123     # using a seperate output directory. This allows convinient use
124     # of make in output directory
125     @@ -452,7 +452,7 @@ ifeq ($(KBUILD_EXTMOD),)
126     # Additional helpers built in scripts/
127     # Carefully list dependencies so we do not try to build scripts twice
128     # in parrallel
129     -.PHONY: scripts
130     +PHONY += scripts
131     scripts: scripts_basic include/config/MARKER
132     $(Q)$(MAKE) $(build)=$(@)
133    
134     @@ -752,7 +752,7 @@ $(sort $(vmlinux-init) $(vmlinux-main))
135     # make menuconfig etc.
136     # Error messages still appears in the original language
137    
138     -.PHONY: $(vmlinux-dirs)
139     +PHONY += $(vmlinux-dirs)
140     $(vmlinux-dirs): prepare scripts
141     $(Q)$(MAKE) $(build)=$@
142    
143     @@ -805,10 +805,10 @@ kernelrelease = $(KERNELVERSION)$(localv
144     # version.h and scripts_basic is processed / created.
145    
146     # Listed in dependency order
147     -.PHONY: prepare archprepare prepare0 prepare1 prepare2 prepare3
148     +PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
149    
150     # prepare-all is deprecated, use prepare as valid replacement
151     -.PHONY: prepare-all
152     +PHONY += prepare-all
153    
154     # prepare3 is used to check if we are building in a separate output directory,
155     # and if so do:
156     @@ -910,7 +910,7 @@ include/linux/version.h: $(srctree)/Make
157    
158     # ---------------------------------------------------------------------------
159    
160     -.PHONY: depend dep
161     +PHONY += depend dep
162     depend dep:
163     @echo '*** Warning: make $@ is unnecessary now.'
164    
165     @@ -925,21 +925,21 @@ all: modules
166    
167     # Build modules
168    
169     -.PHONY: modules
170     +PHONY += modules
171     modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
172     @echo ' Building modules, stage 2.';
173     $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
174    
175    
176     # Target to prepare building external modules
177     -.PHONY: modules_prepare
178     +PHONY += modules_prepare
179     modules_prepare: prepare scripts
180    
181     # Target to install modules
182     -.PHONY: modules_install
183     +PHONY += modules_install
184     modules_install: _modinst_ _modinst_post
185    
186     -.PHONY: _modinst_
187     +PHONY += _modinst_
188     _modinst_:
189     @if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
190     echo "Warning: you may need to install module-init-tools"; \
191     @@ -966,7 +966,7 @@ depmod_opts :=
192     else
193     depmod_opts := -b $(INSTALL_MOD_PATH) -r
194     endif
195     -.PHONY: _modinst_post
196     +PHONY += _modinst_post
197     _modinst_post: _modinst_
198     if [ -r System.map -a -x $(DEPMOD) ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi
199    
200     @@ -1009,7 +1009,7 @@ clean: rm-dirs := $(CLEAN_DIRS)
201     clean: rm-files := $(CLEAN_FILES)
202     clean-dirs := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs))
203    
204     -.PHONY: $(clean-dirs) clean archclean
205     +PHONY += $(clean-dirs) clean archclean
206     $(clean-dirs):
207     $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
208    
209     @@ -1027,7 +1027,7 @@ mrproper: rm-dirs := $(wildcard $(MRPRO
210     mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
211     mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts)
212    
213     -.PHONY: $(mrproper-dirs) mrproper archmrproper
214     +PHONY += $(mrproper-dirs) mrproper archmrproper
215     $(mrproper-dirs):
216     $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
217    
218     @@ -1037,7 +1037,7 @@ mrproper: clean archmrproper $(mrproper-
219    
220     # distclean
221     #
222     -.PHONY: distclean
223     +PHONY += distclean
224    
225     distclean: mrproper
226     @find $(srctree) $(RCS_FIND_IGNORE) \
227     @@ -1053,7 +1053,7 @@ distclean: mrproper
228     # rpm target kept for backward compatibility
229     package-dir := $(srctree)/scripts/package
230    
231     -.PHONY: %-pkg rpm
232     +PHONY += %-pkg rpm
233    
234     %pkg: FORCE
235     $(Q)$(MAKE) -f $(package-dir)/Makefile $@
236     @@ -1145,11 +1145,11 @@ else # KBUILD_EXTMOD
237    
238     # We are always building modules
239     KBUILD_MODULES := 1
240     -.PHONY: crmodverdir
241     +PHONY += crmodverdir
242     crmodverdir:
243     $(Q)mkdir -p $(MODVERDIR)
244    
245     -.PHONY: $(objtree)/Module.symvers
246     +PHONY += $(objtree)/Module.symvers
247     $(objtree)/Module.symvers:
248     @test -e $(objtree)/Module.symvers || ( \
249     echo; \
250     @@ -1158,7 +1158,7 @@ $(objtree)/Module.symvers:
251     echo )
252    
253     module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
254     -.PHONY: $(module-dirs) modules
255     +PHONY += $(module-dirs) modules
256     $(module-dirs): crmodverdir $(objtree)/Module.symvers
257     $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
258    
259     @@ -1166,13 +1166,13 @@ modules: $(module-dirs)
260     @echo ' Building modules, stage 2.';
261     $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
262    
263     -.PHONY: modules_install
264     +PHONY += modules_install
265     modules_install:
266     $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst
267    
268     clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD))
269    
270     -.PHONY: $(clean-dirs) clean
271     +PHONY += $(clean-dirs) clean
272     $(clean-dirs):
273     $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
274    
275     @@ -1302,7 +1302,7 @@ namespacecheck:
276     endif #ifeq ($(config-targets),1)
277     endif #ifeq ($(mixed-targets),1)
278    
279     -.PHONY: checkstack
280     +PHONY += checkstack
281     checkstack:
282     $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
283     $(PERL) $(src)/scripts/checkstack.pl $(ARCH)
284     @@ -1347,4 +1347,10 @@ clean := -f $(if $(KBUILD_SRC),$(srctree
285    
286     endif # skip-makefile
287    
288     +PHONY += FORCE
289     FORCE:
290     +
291     +
292     +# Declare the contents of the .PHONY variable as phony. We keep that
293     +# information in a variable se we can use it in if_changed and friends.
294     +.PHONY: $(PHONY)
295     Index: linux-2.6.16-ck2/arch/arm/Makefile
296     ===================================================================
297     --- linux-2.6.16-ck2.orig/arch/arm/Makefile 2006-03-20 20:11:01.000000000 +1100
298     +++ linux-2.6.16-ck2/arch/arm/Makefile 2006-03-29 21:30:36.000000000 +1000
299     @@ -1,6 +1,9 @@
300     #
301     # arch/arm/Makefile
302     #
303     +# This file is included by the global makefile so that you can add your own
304     +# architecture-specific flags and dependencies.
305     +#
306     # This file is subject to the terms and conditions of the GNU General Public
307     # License. See the file "COPYING" in the main directory of this archive
308     # for more details.
309     @@ -176,7 +179,7 @@ endif
310    
311     archprepare: maketools
312    
313     -.PHONY: maketools FORCE
314     +PHONY += maketools FORCE
315     maketools: include/linux/version.h include/asm-arm/.arch FORCE
316     $(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
317    
318     Index: linux-2.6.16-ck2/arch/arm/boot/Makefile
319     ===================================================================
320     --- linux-2.6.16-ck2.orig/arch/arm/boot/Makefile 2006-03-20 20:11:01.000000000 +1100
321     +++ linux-2.6.16-ck2/arch/arm/boot/Makefile 2006-03-29 21:30:36.000000000 +1000
322     @@ -1,6 +1,9 @@
323     #
324     # arch/arm/boot/Makefile
325     #
326     +# This file is included by the global makefile so that you can add your own
327     +# architecture-specific flags and dependencies.
328     +#
329     # This file is subject to the terms and conditions of the GNU General Public
330     # License. See the file "COPYING" in the main directory of this archive
331     # for more details.
332     @@ -73,7 +76,7 @@ $(obj)/bootpImage: $(obj)/bootp/bootp FO
333     $(call if_changed,objcopy)
334     @echo ' Kernel: $@ is ready'
335    
336     -.PHONY: initrd FORCE
337     +PHONY += initrd FORCE
338     initrd:
339     @test "$(INITRD_PHYS)" != "" || \
340     (echo This machine does not support INITRD; exit -1)
341     Index: linux-2.6.16-ck2/arch/arm/boot/bootp/Makefile
342     ===================================================================
343     --- linux-2.6.16-ck2.orig/arch/arm/boot/bootp/Makefile 2004-08-15 14:08:03.000000000 +1000
344     +++ linux-2.6.16-ck2/arch/arm/boot/bootp/Makefile 2006-03-29 21:30:36.000000000 +1000
345     @@ -1,6 +1,9 @@
346     #
347     # linux/arch/arm/boot/bootp/Makefile
348     #
349     +# This file is included by the global makefile so that you can add your own
350     +# architecture-specific flags and dependencies.
351     +#
352    
353     LDFLAGS_bootp :=-p --no-undefined -X \
354     --defsym initrd_phys=$(INITRD_PHYS) \
355     @@ -21,4 +24,4 @@ $(obj)/kernel.o: arch/arm/boot/zImage FO
356    
357     $(obj)/initrd.o: $(INITRD) FORCE
358    
359     -.PHONY: $(INITRD) FORCE
360     +PHONY += $(INITRD) FORCE
361     Index: linux-2.6.16-ck2/arch/arm26/Makefile
362     ===================================================================
363     --- linux-2.6.16-ck2.orig/arch/arm26/Makefile 2005-10-28 20:21:34.000000000 +1000
364     +++ linux-2.6.16-ck2/arch/arm26/Makefile 2006-03-29 21:30:36.000000000 +1000
365     @@ -1,6 +1,9 @@
366     #
367     # arch/arm26/Makefile
368     #
369     +# This file is included by the global makefile so that you can add your own
370     +# architecture-specific flags and dependencies.
371     +#
372     # This file is subject to the terms and conditions of the GNU General Public
373     # License. See the file "COPYING" in the main directory of this archive
374     # for more details.
375     @@ -49,9 +52,9 @@ all: zImage
376    
377     boot := arch/arm26/boot
378    
379     -.PHONY: maketools FORCE
380     +PHONY += maketools FORCE
381     maketools: FORCE
382     -
383     +
384    
385     # Convert bzImage to zImage
386     bzImage: vmlinux
387     Index: linux-2.6.16-ck2/arch/arm26/boot/Makefile
388     ===================================================================
389     --- linux-2.6.16-ck2.orig/arch/arm26/boot/Makefile 2005-03-02 19:30:24.000000000 +1100
390     +++ linux-2.6.16-ck2/arch/arm26/boot/Makefile 2006-03-29 21:30:36.000000000 +1000
391     @@ -1,6 +1,9 @@
392     #
393     # arch/arm26/boot/Makefile
394     #
395     +# This file is included by the global makefile so that you can add your own
396     +# architecture-specific flags and dependencies.
397     +#
398     # This file is subject to the terms and conditions of the GNU General Public
399     # License. See the file "COPYING" in the main directory of this archive
400     # for more details.
401     @@ -60,7 +63,7 @@ $(obj)/xipImage: vmlinux FORCE
402     @echo ' Kernel: $@ is ready'
403     endif
404    
405     -.PHONY: initrd
406     +PHONY += initrd
407     initrd:
408     @test "$(INITRD_PHYS)" != "" || \
409     (echo This machine does not support INITRD; exit -1)
410     Index: linux-2.6.16-ck2/arch/i386/Makefile
411     ===================================================================
412     --- linux-2.6.16-ck2.orig/arch/i386/Makefile 2006-03-20 20:11:01.000000000 +1100
413     +++ linux-2.6.16-ck2/arch/i386/Makefile 2006-03-29 21:30:36.000000000 +1000
414     @@ -99,8 +99,8 @@ AFLAGS += $(mflags-y)
415    
416     boot := arch/i386/boot
417    
418     -.PHONY: zImage bzImage compressed zlilo bzlilo \
419     - zdisk bzdisk fdimage fdimage144 fdimage288 install
420     +PHONY += zImage bzImage compressed zlilo bzlilo \
421     + zdisk bzdisk fdimage fdimage144 fdimage288 install
422    
423     all: bzImage
424    
425     Index: linux-2.6.16-ck2/arch/ia64/Makefile
426     ===================================================================
427     --- linux-2.6.16-ck2.orig/arch/ia64/Makefile 2006-03-20 20:11:01.000000000 +1100
428     +++ linux-2.6.16-ck2/arch/ia64/Makefile 2006-03-29 21:30:36.000000000 +1000
429     @@ -1,6 +1,9 @@
430     #
431     # ia64/Makefile
432     #
433     +# This file is included by the global makefile so that you can add your own
434     +# architecture-specific flags and dependencies.
435     +#
436     # This file is subject to the terms and conditions of the GNU General Public
437     # License. See the file "COPYING" in the main directory of this archive
438     # for more details.
439     @@ -62,7 +65,7 @@ drivers-$(CONFIG_OPROFILE) += arch/ia64/
440    
441     boot := arch/ia64/hp/sim/boot
442    
443     -.PHONY: boot compressed check
444     +PHONY += boot compressed check
445    
446     all: compressed unwcheck
447    
448     Index: linux-2.6.16-ck2/arch/m32r/Makefile
449     ===================================================================
450     --- linux-2.6.16-ck2.orig/arch/m32r/Makefile 2006-03-20 20:11:01.000000000 +1100
451     +++ linux-2.6.16-ck2/arch/m32r/Makefile 2006-03-29 21:30:36.000000000 +1000
452     @@ -1,6 +1,9 @@
453     #
454     # m32r/Makefile
455     #
456     +# This file is included by the global makefile so that you can add your own
457     +# architecture-specific flags and dependencies.
458     +#
459    
460     LDFLAGS :=
461     OBJCOPYFLAGS := -O binary -R .note -R .comment -S
462     @@ -39,7 +42,7 @@ drivers-$(CONFIG_OPROFILE) += arch/m32r/
463    
464     boot := arch/m32r/boot
465    
466     -.PHONY: zImage
467     +PHONY += zImage
468    
469     all: zImage
470    
471     Index: linux-2.6.16-ck2/arch/powerpc/Makefile
472     ===================================================================
473     --- linux-2.6.16-ck2.orig/arch/powerpc/Makefile 2006-03-20 20:11:02.000000000 +1100
474     +++ linux-2.6.16-ck2/arch/powerpc/Makefile 2006-03-29 21:30:36.000000000 +1000
475     @@ -150,7 +150,7 @@ CPPFLAGS_vmlinux.lds := -Upowerpc
476    
477     BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm uImage
478    
479     -.PHONY: $(BOOT_TARGETS)
480     +PHONY += $(BOOT_TARGETS)
481    
482     boot := arch/$(ARCH)/boot
483    
484     Index: linux-2.6.16-ck2/arch/ppc/Makefile
485     ===================================================================
486     --- linux-2.6.16-ck2.orig/arch/ppc/Makefile 2006-03-20 20:11:02.000000000 +1100
487     +++ linux-2.6.16-ck2/arch/ppc/Makefile 2006-03-29 21:30:36.000000000 +1000
488     @@ -82,7 +82,7 @@ drivers-$(CONFIG_OPROFILE) += arch/power
489    
490     BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
491    
492     -.PHONY: $(BOOT_TARGETS)
493     +PHONY += $(BOOT_TARGETS)
494    
495     all: uImage zImage
496    
497     Index: linux-2.6.16-ck2/arch/ppc/boot/Makefile
498     ===================================================================
499     --- linux-2.6.16-ck2.orig/arch/ppc/boot/Makefile 2006-03-20 20:11:02.000000000 +1100
500     +++ linux-2.6.16-ck2/arch/ppc/boot/Makefile 2006-03-29 21:30:36.000000000 +1000
501     @@ -1,6 +1,9 @@
502     #
503     # arch/ppc/boot/Makefile
504     #
505     +# This file is included by the global makefile so that you can add your own
506     +# architecture-specific flags and dependencies.
507     +#
508     # This file is subject to the terms and conditions of the GNU General Public
509     # License. See the file "COPYING" in the main directory of this archive
510     # for more details.
511     @@ -25,7 +28,7 @@ subdir- += simple openfirmware
512    
513     hostprogs-y := $(addprefix utils/, addnote mknote hack-coff mkprep mkbugboot mktree)
514    
515     -.PHONY: $(BOOT_TARGETS) $(bootdir-y)
516     +PHONY += $(BOOT_TARGETS) $(bootdir-y)
517    
518     $(BOOT_TARGETS): $(bootdir-y)
519    
520     Index: linux-2.6.16-ck2/arch/ppc/boot/openfirmware/Makefile
521     ===================================================================
522     --- linux-2.6.16-ck2.orig/arch/ppc/boot/openfirmware/Makefile 2006-03-20 20:11:02.000000000 +1100
523     +++ linux-2.6.16-ck2/arch/ppc/boot/openfirmware/Makefile 2006-03-29 21:30:36.000000000 +1000
524     @@ -1,5 +1,8 @@
525     # Makefile for making bootable images on various OpenFirmware machines.
526     #
527     +# This file is included by the global makefile so that you can add your own
528     +# architecture-specific flags and dependencies.
529     +#
530     # Paul Mackerras January 1997
531     # XCOFF bootable images for PowerMacs
532     # Geert Uytterhoeven September 1997
533     @@ -86,7 +89,7 @@ $(images)/zImage.chrp-rs6k $(images)/zIm
534    
535     # The targets used on the make command-line
536    
537     -.PHONY: zImage zImage.initrd
538     +PHONY += zImage zImage.initrd
539     zImage: $(images)/zImage.chrp \
540     $(images)/zImage.chrp-rs6k
541     @echo ' kernel: $@ is ready ($<)'
542     @@ -96,7 +99,7 @@ zImage.initrd: $(images)/zImage.initrd.
543    
544     TFTPIMAGE := /tftpboot/zImage
545    
546     -.PHONY: znetboot znetboot.initrd
547     +PHONY += znetboot znetboot.initrd
548     znetboot: $(images)/zImage.chrp
549     cp $(images)/zImage.chrp $(TFTPIMAGE).chrp$(END)
550     @echo ' kernel: $@ is ready ($<)'
551     Index: linux-2.6.16-ck2/arch/sh/Makefile
552     ===================================================================
553     --- linux-2.6.16-ck2.orig/arch/sh/Makefile 2006-03-20 20:11:02.000000000 +1100
554     +++ linux-2.6.16-ck2/arch/sh/Makefile 2006-03-29 21:30:36.000000000 +1000
555     @@ -172,7 +172,7 @@ include/asm-sh/.mach: $(wildcard include
556    
557     archprepare: maketools include/asm-sh/.cpu include/asm-sh/.mach
558    
559     -.PHONY: maketools FORCE
560     +PHONY += maketools FORCE
561     maketools: include/linux/version.h FORCE
562     $(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
563    
564     Index: linux-2.6.16-ck2/arch/um/Makefile
565     ===================================================================
566     --- linux-2.6.16-ck2.orig/arch/um/Makefile 2006-03-20 20:11:02.000000000 +1100
567     +++ linux-2.6.16-ck2/arch/um/Makefile 2006-03-29 21:30:36.000000000 +1000
568     @@ -1,4 +1,7 @@
569     -#
570     +#
571     +# This file is included by the global makefile so that you can add your own
572     +# architecture-specific flags and dependencies.
573     +#
574     # Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
575     # Licensed under the GPL
576     #
577     @@ -88,7 +91,7 @@ CONFIG_KERNEL_HALF_GIGS ?= 0
578    
579     SIZE = (($(CONFIG_NEST_LEVEL) + $(CONFIG_KERNEL_HALF_GIGS)) * 0x20000000)
580    
581     -.PHONY: linux
582     +PHONY += linux
583    
584     all: linux
585    
586     Index: linux-2.6.16-ck2/arch/x86_64/Makefile
587     ===================================================================
588     --- linux-2.6.16-ck2.orig/arch/x86_64/Makefile 2006-03-20 20:11:02.000000000 +1100
589     +++ linux-2.6.16-ck2/arch/x86_64/Makefile 2006-03-29 21:30:36.000000000 +1000
590     @@ -67,8 +67,8 @@ drivers-$(CONFIG_OPROFILE) += arch/x86_
591    
592     boot := arch/x86_64/boot
593    
594     -.PHONY: bzImage bzlilo install archmrproper \
595     - fdimage fdimage144 fdimage288 archclean
596     +PHONY += bzImage bzlilo install archmrproper \
597     + fdimage fdimage144 fdimage288 archclean
598    
599     #Default target when executing "make"
600     all: bzImage
601     Index: linux-2.6.16-ck2/scripts/Kbuild.include
602     ===================================================================
603     --- linux-2.6.16-ck2.orig/scripts/Kbuild.include 2006-03-20 20:11:47.000000000 +1100
604     +++ linux-2.6.16-ck2/scripts/Kbuild.include 2006-03-29 21:30:36.000000000 +1000
605     @@ -78,8 +78,9 @@ echo-cmd = $(if $($(quiet)cmd_$(1)), \
606     # function to only execute the passed command if necessary
607     # >'< substitution is for echo to work, >$< substitution to preserve $ when reloading .cmd file
608     # note: when using inline perl scripts [perl -e '...$$t=1;...'] in $(cmd_xxx) double $$ your perl vars
609     -#
610     -if_changed = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
611     +#
612     +if_changed = $(if $(strip $(filter-out $(PHONY),$?) \
613     + $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
614     @set -e; \
615     $(echo-cmd) \
616     $(cmd_$(1)); \
617     @@ -87,8 +88,9 @@ if_changed = $(if $(strip $? $(call arg-
618    
619     # execute the command and also postprocess generated .d dependencies
620     # file
621     -if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\
622     - $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
623     +if_changed_dep = $(if $(strip $(filter-out $(PHONY),$?) \
624     + $(filter-out FORCE $(wildcard $^),$^) \
625     + $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
626     @set -e; \
627     $(echo-cmd) \
628     $(cmd_$(1)); \
629     @@ -99,6 +101,7 @@ if_changed_dep = $(if $(strip $? $(filte
630     # Usage: $(call if_changed_rule,foo)
631     # will check if $(cmd_foo) changed, or any of the prequisites changed,
632     # and if so will execute $(rule_foo)
633     -if_changed_rule = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\
634     +if_changed_rule = $(if $(strip $(filter-out $(PHONY),$?) \
635     + $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\
636     @set -e; \
637     $(rule_$(1)))
638     Index: linux-2.6.16-ck2/scripts/Makefile.build
639     ===================================================================
640     --- linux-2.6.16-ck2.orig/scripts/Makefile.build 2006-03-20 20:11:47.000000000 +1100
641     +++ linux-2.6.16-ck2/scripts/Makefile.build 2006-03-29 21:30:36.000000000 +1000
642     @@ -4,7 +4,7 @@
643    
644     src := $(obj)
645    
646     -.PHONY: __build
647     +PHONY := __build
648     __build:
649    
650     # Read .config if it exist, otherwise ignore
651     @@ -309,14 +309,14 @@ targets += $(multi-used-y) $(multi-used-
652     # Descending
653     # ---------------------------------------------------------------------------
654    
655     -.PHONY: $(subdir-ym)
656     +PHONY += $(subdir-ym)
657     $(subdir-ym):
658     $(Q)$(MAKE) $(build)=$@
659    
660     # Add FORCE to the prequisites of a target to force it to be always rebuilt.
661     # ---------------------------------------------------------------------------
662    
663     -.PHONY: FORCE
664     +PHONY += FORCE
665    
666     FORCE:
667    
668     @@ -331,3 +331,9 @@ cmd_files := $(wildcard $(foreach f,$(ta
669     ifneq ($(cmd_files),)
670     include $(cmd_files)
671     endif
672     +
673     +
674     +# Declare the contents of the .PHONY variable as phony. We keep that
675     +# information in a variable se we can use it in if_changed and friends.
676     +
677     +.PHONY: $(PHONY)
678     Index: linux-2.6.16-ck2/scripts/Makefile.clean
679     ===================================================================
680     --- linux-2.6.16-ck2.orig/scripts/Makefile.clean 2005-10-28 20:22:03.000000000 +1000
681     +++ linux-2.6.16-ck2/scripts/Makefile.clean 2006-03-29 21:30:36.000000000 +1000
682     @@ -4,7 +4,7 @@
683    
684     src := $(obj)
685    
686     -.PHONY: __clean
687     +PHONY := __clean
688     __clean:
689    
690     # Shorthand for $(Q)$(MAKE) scripts/Makefile.clean obj=dir
691     @@ -87,10 +87,16 @@ endif
692     # Descending
693     # ---------------------------------------------------------------------------
694    
695     -.PHONY: $(subdir-ymn)
696     +PHONY += $(subdir-ymn)
697     $(subdir-ymn):
698     $(Q)$(MAKE) $(clean)=$@
699    
700     # If quiet is set, only print short version of command
701    
702     cmd = @$(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))' &&) $(cmd_$(1))
703     +
704     +
705     +# Declare the contents of the .PHONY variable as phony. We keep that
706     +# information in a variable se we can use it in if_changed and friends.
707     +
708     +.PHONY: $(PHONY)
709     Index: linux-2.6.16-ck2/scripts/Makefile.modinst
710     ===================================================================
711     --- linux-2.6.16-ck2.orig/scripts/Makefile.modinst 2005-10-28 20:22:03.000000000 +1000
712     +++ linux-2.6.16-ck2/scripts/Makefile.modinst 2006-03-29 21:30:36.000000000 +1000
713     @@ -2,7 +2,7 @@
714     # Installing modules
715     # ==========================================================================
716    
717     -.PHONY: __modinst
718     +PHONY := __modinst
719     __modinst:
720    
721     include scripts/Kbuild.include
722     @@ -12,7 +12,7 @@ include scripts/Kbuild.include
723     __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
724     modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
725    
726     -.PHONY: $(modules)
727     +PHONY += $(modules)
728     __modinst: $(modules)
729     @:
730    
731     @@ -27,3 +27,9 @@ modinst_dir = $(if $(KBUILD_EXTMOD),$(ex
732    
733     $(modules):
734     $(call cmd,modules_install,$(MODLIB)/$(modinst_dir))
735     +
736     +
737     +# Declare the contents of the .PHONY variable as phony. We keep that
738     +# information in a variable se we can use it in if_changed and friends.
739     +
740     +.PHONY: $(PHONY)
741     Index: linux-2.6.16-ck2/scripts/Makefile.modpost
742     ===================================================================
743     --- linux-2.6.16-ck2.orig/scripts/Makefile.modpost 2006-03-20 20:11:47.000000000 +1100
744     +++ linux-2.6.16-ck2/scripts/Makefile.modpost 2006-03-29 21:30:36.000000000 +1000
745     @@ -32,7 +32,7 @@
746     # Step 4 is solely used to allow module versioning in external modules,
747     # where the CRC of each module is retrieved from the Module.symers file.
748    
749     -.PHONY: _modpost
750     +PHONY := _modpost
751     _modpost: __modpost
752    
753     include .config
754     @@ -57,7 +57,7 @@ quiet_cmd_modpost = MODPOST
755     $(if $(KBUILD_EXTMOD),-i,-o) $(symverfile) \
756     $(filter-out FORCE,$^)
757    
758     -.PHONY: __modpost
759     +PHONY += __modpost
760     __modpost: $(wildcard vmlinux) $(modules:.ko=.o) FORCE
761     $(call cmd,modpost)
762    
763     @@ -94,7 +94,7 @@ targets += $(modules)
764     # Add FORCE to the prequisites of a target to force it to be always rebuilt.
765     # ---------------------------------------------------------------------------
766    
767     -.PHONY: FORCE
768     +PHONY += FORCE
769    
770     FORCE:
771    
772     @@ -109,3 +109,9 @@ cmd_files := $(wildcard $(foreach f,$(ta
773     ifneq ($(cmd_files),)
774     include $(cmd_files)
775     endif
776     +
777     +
778     +# Declare the contents of the .PHONY variable as phony. We keep that
779     +# information in a variable se we can use it in if_changed and friends.
780     +
781     +.PHONY: $(PHONY)
782     Index: linux-2.6.16-ck2/scripts/kconfig/Makefile
783     ===================================================================
784     --- linux-2.6.16-ck2.orig/scripts/kconfig/Makefile 2006-03-20 20:11:47.000000000 +1100
785     +++ linux-2.6.16-ck2/scripts/kconfig/Makefile 2006-03-29 21:30:36.000000000 +1000
786     @@ -2,7 +2,7 @@
787     # Kernel configuration targets
788     # These targets are used from top-level makefile
789    
790     -.PHONY: oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
791     +PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
792    
793     xconfig: $(obj)/qconf
794     $< arch/$(ARCH)/Kconfig
795     @@ -42,7 +42,7 @@ update-po-config: $(obj)/kxgettext
796     $(Q)rm -f arch/um/Kconfig_arch
797     $(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot
798    
799     -.PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig
800     +PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig
801    
802     randconfig: $(obj)/conf
803     $< -r arch/$(ARCH)/Kconfig
804     Index: linux-2.6.16-ck2/scripts/kconfig/lxdialog/Makefile
805     ===================================================================
806     --- linux-2.6.16-ck2.orig/scripts/kconfig/lxdialog/Makefile 2006-03-20 20:11:47.000000000 +1100
807     +++ linux-2.6.16-ck2/scripts/kconfig/lxdialog/Makefile 2006-03-29 21:30:36.000000000 +1000
808     @@ -7,10 +7,10 @@ check-lxdialog := $(srctree)/$(src)/che
809     # we really need to do so. (Do not call gcc as part of make mrproper)
810     HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
811     HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
812     -
813     -HOST_EXTRACFLAGS += -DLOCALE
814    
815     -.PHONY: dochecklxdialog
816     +HOST_EXTRACFLAGS += -DLOCALE
817     +
818     +PHONY += dochecklxdialog
819     $(obj)/dochecklxdialog:
820     $(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_LOADLIBES)
821    
822     Index: linux-2.6.16-ck2/scripts/package/Makefile
823     ===================================================================
824     --- linux-2.6.16-ck2.orig/scripts/package/Makefile 2006-03-20 20:11:47.000000000 +1100
825     +++ linux-2.6.16-ck2/scripts/package/Makefile 2006-03-29 21:30:36.000000000 +1000
826     @@ -32,7 +32,7 @@ MKSPEC := $(srctree)/scripts/package
827     PREV := set -e; cd ..;
828    
829     # rpm-pkg
830     -.PHONY: rpm-pkg rpm
831     +PHONY += rpm-pkg rpm
832    
833     $(objtree)/kernel.spec: $(MKSPEC) $(srctree)/Makefile
834     $(CONFIG_SHELL) $(MKSPEC) > $@
835     @@ -54,10 +54,10 @@ rpm-pkg rpm: $(objtree)/kernel.spec
836     clean-files := $(objtree)/kernel.spec
837    
838     # binrpm-pkg
839     -.PHONY: binrpm-pkg
840     +PHONY += binrpm-pkg
841     $(objtree)/binkernel.spec: $(MKSPEC) $(srctree)/Makefile
842     $(CONFIG_SHELL) $(MKSPEC) prebuilt > $@
843     -
844     +
845     binrpm-pkg: $(objtree)/binkernel.spec
846     $(MAKE) KBUILD_SRC=
847     set -e; \
848     @@ -72,7 +72,7 @@ clean-files += $(objtree)/binkernel.spec
849     # Deb target
850     # ---------------------------------------------------------------------------
851     #
852     -.PHONY: deb-pkg
853     +PHONY += deb-pkg
854     deb-pkg:
855     $(MAKE) KBUILD_SRC=
856     $(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
857     @@ -82,7 +82,7 @@ clean-dirs += $(objtree)/debian/
858    
859     # tarball targets
860     # ---------------------------------------------------------------------------
861     -.PHONY: tar%pkg
862     +PHONY += tar%pkg
863     tar%pkg:
864     $(MAKE) KBUILD_SRC=
865     $(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@