* Re: 2.6: spurious recompiles [not found] ` <33384.4.4.25.4.1062887601.squirrel@www.osdl.org.suse.lists.linux.kernel> @ 2003-09-06 22:44 ` Andi Kleen 2003-09-07 5:36 ` Sam Ravnborg 0 siblings, 1 reply; 11+ messages in thread From: Andi Kleen @ 2003-09-06 22:44 UTC (permalink / raw) To: Randy.Dunlap; +Cc: linux-kernel "Randy.Dunlap" <rddunlap@osdl.org> writes: > > When doing a "make" inside an already compiled kernel source there > > shouldn't be anything rebuilt. I've identified three places where this > > isn't the case in recent 2.6 kernels: > > > > 1. ikconfig > > CC kernel/configs.o > > even when the .config wasn't changed > > This is probably the same thing that Steve Hemminger posted about > yesterday: > http://marc.theaimsgroup.com/?l=linux-kernel&m=106270067411137&w=2 > > I posted a patch based on Sam Ravnborg's comments that might fix it, > but I haven't verified it yet... The patch is in this message: > http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2 > > or it may be some other dependency. I'll look into it. x86-64 has the same problem. It always rebuilds arch/x86_64/ia32/vsyscall32.so, no matter if it has changed or not. I have not figured out why it does that. vsyscall.S is an assembly file which depends on asm/offset.h, which is regenerated each build. But the regeneration is written in a way to not trigger rebuilds when nothing has changed. That works for everything else, just apparently not for the vsyscall.S file. -Andi ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-06 22:44 ` 2.6: spurious recompiles Andi Kleen @ 2003-09-07 5:36 ` Sam Ravnborg 0 siblings, 0 replies; 11+ messages in thread From: Sam Ravnborg @ 2003-09-07 5:36 UTC (permalink / raw) To: Andi Kleen; +Cc: Randy.Dunlap, linux-kernel On Sun, Sep 07, 2003 at 12:44:24AM +0200, Andi Kleen wrote: > "Randy.Dunlap" <rddunlap@osdl.org> writes: > > x86-64 has the same problem. It always rebuilds arch/x86_64/ia32/vsyscall32.so, > no matter if it has changed or not. I have not figured out why it does that. > > vsyscall.S is an assembly file which depends on asm/offset.h, which > is regenerated each build. But the regeneration is written in a way to > not trigger rebuilds when nothing has changed. That works for everything > else, just apparently not for the vsyscall.S file. Hi Andi, I recall I have a mail from you about this. Last time I looked I could not figure out what was wrong, but let me try again. Could you send me the output of "make V=1" for an otherwise clean compile. Sam ^ permalink raw reply [flat|nested] 11+ messages in thread
* 2.6: spurious recompiles @ 2003-09-06 20:14 Adrian Bunk 2003-09-06 22:33 ` Randy.Dunlap ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Adrian Bunk @ 2003-09-06 20:14 UTC (permalink / raw) To: Randy.Dunlap, jsimmons, Justin T. Gibbs; +Cc: linux-kernel When doing a "make" inside an already compiled kernel source there shouldn't be anything rebuilt. I've identified three places where this isn't the case in recent 2.6 kernels: 1. ikconfig CC kernel/configs.o even when the .config wasn't changed 2. pnmtologo The following happens again once, but not when doing a third "make": ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm CC drivers/video/logo/logo_linux_mono.o ./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm CC drivers/video/logo/logo_linux_vga16.o ./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm CC drivers/video/logo/logo_linux_clut224.o LD drivers/video/logo/built-in.o LD drivers/video/built-in.o 3. aic7xxx drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic79xx_reg.h \ -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \ drivers/scsi/aic7xxx/aic79xx.seq drivers/scsi/aic7xxx/aicasm/aicasm: 785 instructions used CC drivers/scsi/aic7xxx/aic79xx_core.o CC drivers/scsi/aic7xxx/aic79xx_pci.o CC drivers/scsi/aic7xxx/aic79xx_reg_print.o CC drivers/scsi/aic7xxx/aic79xx_osm.o CC drivers/scsi/aic7xxx/aic79xx_proc.o CC drivers/scsi/aic7xxx/aic79xx_osm_pci.o drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r drivers/scsi/aic7xxx/aic7xxx_reg.h \ -p drivers/scsi/aic7xxx/aic7xxx_reg_print.c -i aic7xxx_osm.h -o drivers/scsi/aic7xxx/aic7xxx_seq.h \ drivers/scsi/aic7xxx/aic7xxx.seq drivers/scsi/aic7xxx/aicasm/aicasm: 879 instructions used CC drivers/scsi/aic7xxx/aic7xxx_core.o CC drivers/scsi/aic7xxx/aic7xxx_93cx6.o CC drivers/scsi/aic7xxx/aic7770.o CC drivers/scsi/aic7xxx/aic7xxx_pci.o CC drivers/scsi/aic7xxx/aic7xxx_reg_print.o CC drivers/scsi/aic7xxx/aic7xxx_osm.o CC drivers/scsi/aic7xxx/aic7xxx_proc.o CC drivers/scsi/aic7xxx/aic7770_osm.o CC drivers/scsi/aic7xxx/aic7xxx_osm_pci.o LD drivers/scsi/aic7xxx/aic7xxx.o LD drivers/scsi/aic7xxx/aic79xx.o LD drivers/scsi/aic7xxx/built-in.o cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-06 20:14 Adrian Bunk @ 2003-09-06 22:33 ` Randy.Dunlap 2003-09-07 10:37 ` Adrian Bunk 2003-09-07 5:33 ` Sam Ravnborg 2003-09-07 5:51 ` Sam Ravnborg 2 siblings, 1 reply; 11+ messages in thread From: Randy.Dunlap @ 2003-09-06 22:33 UTC (permalink / raw) To: bunk; +Cc: linux-kernel > When doing a "make" inside an already compiled kernel source there > shouldn't be anything rebuilt. I've identified three places where this > isn't the case in recent 2.6 kernels: > > 1. ikconfig > CC kernel/configs.o > even when the .config wasn't changed This is probably the same thing that Steve Hemminger posted about yesterday: http://marc.theaimsgroup.com/?l=linux-kernel&m=106270067411137&w=2 I posted a patch based on Sam Ravnborg's comments that might fix it, but I haven't verified it yet... The patch is in this message: http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2 or it may be some other dependency. I'll look into it. Thanks, ~Randy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-06 22:33 ` Randy.Dunlap @ 2003-09-07 10:37 ` Adrian Bunk 0 siblings, 0 replies; 11+ messages in thread From: Adrian Bunk @ 2003-09-07 10:37 UTC (permalink / raw) To: Randy.Dunlap; +Cc: linux-kernel On Sat, Sep 06, 2003 at 03:33:21PM -0700, Randy.Dunlap wrote: > > When doing a "make" inside an already compiled kernel source there > > shouldn't be anything rebuilt. I've identified three places where this > > isn't the case in recent 2.6 kernels: > > > > 1. ikconfig > > CC kernel/configs.o > > even when the .config wasn't changed >... > I posted a patch based on Sam Ravnborg's comments that might fix it, > but I haven't verified it yet... The patch is in this message: > http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2 >... It seems I missed this mail. The patch in this mail seems to fix the recompiles. > Thanks, > ~Randy cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-06 20:14 Adrian Bunk 2003-09-06 22:33 ` Randy.Dunlap @ 2003-09-07 5:33 ` Sam Ravnborg 2003-09-08 23:45 ` James Simmons 2003-09-07 5:51 ` Sam Ravnborg 2 siblings, 1 reply; 11+ messages in thread From: Sam Ravnborg @ 2003-09-07 5:33 UTC (permalink / raw) To: Adrian Bunk; +Cc: Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote: > When doing a "make" inside an already compiled kernel source there > shouldn't be anything rebuilt. I've identified three places where this > isn't the case in recent 2.6 kernels: > > 1. ikconfig > CC kernel/configs.o > even when the .config wasn't changed configs.o included compile.h. Compile.h contains date when kernel was compiled, and gets updated each time there is new .o files. That is fixed in patch sent to Randy. > 2. pnmtologo > The following happens again once, but not when doing a third "make": > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm > CC drivers/video/logo/logo_linux_mono.o > ./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm > CC drivers/video/logo/logo_linux_vga16.o > ./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm > CC drivers/video/logo/logo_linux_clut224.o > LD drivers/video/logo/built-in.o > LD drivers/video/built-in.o I have sent a patch to James Simmons some time ago. I will try to dig it up and see if it still applies, and fixes the problem. > 3. aic7xxx > drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r > drivers/scsi/aic7xxx/aic79xx_reg.h \ > -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i > aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \ > drivers/scsi/aic7xxx/aic79xx.seq > drivers/scsi/aic7xxx/aicasm/aicasm: 785 instructions used > CC drivers/scsi/aic7xxx/aic79xx_core.o New to me, I will take a look. Sam ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-07 5:33 ` Sam Ravnborg @ 2003-09-08 23:45 ` James Simmons 0 siblings, 0 replies; 11+ messages in thread From: James Simmons @ 2003-09-08 23:45 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Adrian Bunk, Randy.Dunlap, Justin T. Gibbs, linux-kernel > > 2. pnmtologo > > The following happens again once, but not when doing a third "make": > > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm > > CC drivers/video/logo/logo_linux_mono.o > > ./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm > > CC drivers/video/logo/logo_linux_vga16.o > > ./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm > > CC drivers/video/logo/logo_linux_clut224.o > > LD drivers/video/logo/built-in.o > > LD drivers/video/built-in.o > > I have sent a patch to James Simmons some time ago. I will try to dig it > up and see if it still applies, and fixes the problem. I have the patch in the fbdev BK tree. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-06 20:14 Adrian Bunk 2003-09-06 22:33 ` Randy.Dunlap 2003-09-07 5:33 ` Sam Ravnborg @ 2003-09-07 5:51 ` Sam Ravnborg 2003-09-07 7:00 ` Sam Ravnborg 2 siblings, 1 reply; 11+ messages in thread From: Sam Ravnborg @ 2003-09-07 5:51 UTC (permalink / raw) To: Adrian Bunk; +Cc: Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote: > 2. pnmtologo > The following happens again once, but not when doing a third "make": > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm Would you mind to give this patch a spin. Only lightly tested here. ===== drivers/video/aty/Makefile 1.10 vs edited ===== --- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003 +++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003 @@ -4,4 +4,3 @@ atyfb-y := atyfb_base.o mach64_accel.o atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o -atyfb-objs := $(atyfb-y) ===== drivers/video/console/Makefile 1.15 vs edited ===== --- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003 +++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003 @@ -3,18 +3,16 @@ # Rewritten to use lists instead of if-statements. # Font handling -font-objs := fonts.o +font-y := fonts.o -font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o -font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o -font-objs-$(CONFIG_FONT_8x8) += font_8x8.o -font-objs-$(CONFIG_FONT_8x16) += font_8x16.o -font-objs-$(CONFIG_FONT_6x11) += font_6x11.o -font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o -font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o -font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o - -font-objs += $(font-objs-y) +font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o +font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o +font-$(CONFIG_FONT_8x8) += font_8x8.o +font-$(CONFIG_FONT_8x16) += font_8x16.o +font-$(CONFIG_FONT_6x11) += font_6x11.o +font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o +font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o +font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o # Each configuration option enables a list of files. @@ -31,8 +29,11 @@ # Files generated that shall be removed upon make clean clean-files := promcon_tbl.c -$(obj)/promcon_tbl.c: $(src)/prom.uni - $(objtree)/scripts/conmakehash $< | \ + +quiet_cmd_promtbl = GEN $@ + cmd_promtbl = scripts/conmakehash $< | \ sed -e '/#include <[^>]*>/p' -e 's/types/init/' \ -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@ +$(obj)/promcon_tbl.c: $(src)/prom.uni + $(call cmd,promtbl) ===== drivers/video/i810/Makefile 1.2 vs edited ===== --- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003 +++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003 @@ -1,15 +1,8 @@ # # Makefile for the Intel 810/815 framebuffer driver # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - obj-$(CONFIG_FB_I810) += i810fb.o - i810fb-objs := i810_main.o i810_accel.o ===== drivers/video/logo/Makefile 1.3 vs edited ===== --- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003 +++ edited/drivers/video/logo/Makefile Sun Sep 7 07:47:00 2003 @@ -25,18 +25,23 @@ # How to generate them +# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." +quiet_cmd_logo = LOGO $@ + cmd_logo = scripts/pnmtologo \ + -t $(patsubst $*_%,%,$(notdir $(basename $<))) \ + -n $(notdir $(basename $<)) -o $@ $< + $(obj)/%_mono.c: $(src)/%_mono.pbm - $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $< + $(call cmd,logo) $(obj)/%_vga16.c: $(src)/%_vga16.ppm - $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $< + $(call cmd,logo) $(obj)/%_clut224.c: $(src)/%_clut224.ppm - $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $< + $(call cmd,logo) $(obj)/%_gray256.c: $(src)/%_gray256.pgm - $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $< - + $(call cmd,logo) # Files generated that shall be removed upon make clean clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-07 5:51 ` Sam Ravnborg @ 2003-09-07 7:00 ` Sam Ravnborg 2003-09-07 10:17 ` Adrian Bunk 2003-09-08 23:45 ` James Simmons 0 siblings, 2 replies; 11+ messages in thread From: Sam Ravnborg @ 2003-09-07 7:00 UTC (permalink / raw) To: Adrian Bunk, Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel On Sun, Sep 07, 2003 at 07:51:44AM +0200, Sam Ravnborg wrote: > On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote: > > 2. pnmtologo > > The following happens again once, but not when doing a third "make": > > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm > > Would you mind to give this patch a spin. Only lightly tested here. Tested it a bit more, it was not good. Corrected patch follows. I had to spell out the dependencies, otherwise make saw them as implicit targets, and deleted the .c files afterwards. Btw the patch contains some general clean-up as well, unrelated to the 'spurious recompile' issue. Sam ===== drivers/video/aty/Makefile 1.10 vs edited ===== --- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003 +++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003 @@ -4,4 +4,3 @@ atyfb-y := atyfb_base.o mach64_accel.o atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o -atyfb-objs := $(atyfb-y) ===== drivers/video/console/Makefile 1.15 vs edited ===== --- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003 +++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003 @@ -3,18 +3,16 @@ # Rewritten to use lists instead of if-statements. # Font handling -font-objs := fonts.o +font-y := fonts.o -font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o -font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o -font-objs-$(CONFIG_FONT_8x8) += font_8x8.o -font-objs-$(CONFIG_FONT_8x16) += font_8x16.o -font-objs-$(CONFIG_FONT_6x11) += font_6x11.o -font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o -font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o -font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o - -font-objs += $(font-objs-y) +font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o +font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o +font-$(CONFIG_FONT_8x8) += font_8x8.o +font-$(CONFIG_FONT_8x16) += font_8x16.o +font-$(CONFIG_FONT_6x11) += font_6x11.o +font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o +font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o +font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o # Each configuration option enables a list of files. @@ -31,8 +29,11 @@ # Files generated that shall be removed upon make clean clean-files := promcon_tbl.c -$(obj)/promcon_tbl.c: $(src)/prom.uni - $(objtree)/scripts/conmakehash $< | \ + +quiet_cmd_promtbl = GEN $@ + cmd_promtbl = scripts/conmakehash $< | \ sed -e '/#include <[^>]*>/p' -e 's/types/init/' \ -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@ +$(obj)/promcon_tbl.c: $(src)/prom.uni + $(call cmd,promtbl) ===== drivers/video/i810/Makefile 1.2 vs edited ===== --- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003 +++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003 @@ -1,15 +1,8 @@ # # Makefile for the Intel 810/815 framebuffer driver # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - obj-$(CONFIG_FB_I810) += i810fb.o - i810fb-objs := i810_main.o i810_accel.o ===== drivers/video/logo/Makefile 1.3 vs edited ===== --- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003 +++ edited/drivers/video/logo/Makefile Sun Sep 7 08:57:22 2003 @@ -14,29 +14,38 @@ obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o # Dependencies on generated files need to be listed explicitly - -$(obj)/%_mono.o: $(src)/%_mono.c - -$(obj)/%_vga16.o: $(src)/%_vga16.c - -$(obj)/%_clut224.o: $(src)/%_clut224.c - -$(obj)/%_gray256.o: $(src)/%_gray256.c +# mono logo's +$(obj)/logo_linux_mono.o: $(obj)/logo_linux_mono.c +$(obj)/logo_superh_mono.o: $(obj)/logo_superh_mono.c + +# vga16 logo's +$(obj)/logo_linux_vga16.o: $(obj)/logo_linux_vga16.c +$(obj)/logo_superh_vga16.o: $(obj)/logo_superh_vga16.c + +# clut224 logo's +$(obj)/logo_linux_clut224.o: $(obj)/logo_linux_clut224.c +$(obj)/logo_dec_clut224.o: $(obj)/logo_dec_clut224.c +$(obj)/logo_mac_clut224.o: $(obj)/logo_mac_clut224.c +$(obj)/logo_sgi_clut224.o: $(obj)/logo_sgi_clut224.c +$(obj)/logo_sun_clut224.o: $(obj)/logo_sun_clut224.c +$(obj)/logo_superh_clut224.o: $(obj)/logo_superh_clut224.c # How to generate them +# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." +quiet_cmd_logo = LOGO $@ + cmd_logo = scripts/pnmtologo \ + -t $(patsubst $*_%,%,$(notdir $(basename $<))) \ + -n $(notdir $(basename $<)) -o $@ $< + $(obj)/%_mono.c: $(src)/%_mono.pbm - $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $< + $(call cmd,logo) $(obj)/%_vga16.c: $(src)/%_vga16.ppm - $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $< + $(call cmd,logo) $(obj)/%_clut224.c: $(src)/%_clut224.ppm - $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $< - -$(obj)/%_gray256.c: $(src)/%_gray256.pgm - $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $< - + $(call cmd,logo) # Files generated that shall be removed upon make clean -clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c +clean-files := *_mono.c *_vga16.c *_clut224.c ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-07 7:00 ` Sam Ravnborg @ 2003-09-07 10:17 ` Adrian Bunk 2003-09-08 23:45 ` James Simmons 1 sibling, 0 replies; 11+ messages in thread From: Adrian Bunk @ 2003-09-07 10:17 UTC (permalink / raw) To: jsimmons, linux-kernel On Sun, Sep 07, 2003 at 09:00:25AM +0200, Sam Ravnborg wrote: > On Sun, Sep 07, 2003 at 07:51:44AM +0200, Sam Ravnborg wrote: > > On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote: > > > 2. pnmtologo > > > The following happens again once, but not when doing a third "make": > > > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm > > > > Would you mind to give this patch a spin. Only lightly tested here. > Tested it a bit more, it was not good. Corrected patch follows. > I had to spell out the dependencies, otherwise make saw them > as implicit targets, and deleted the .c files afterwards. Thanks, this patch seems to fix it. > Btw the patch contains some general clean-up as well, unrelated to > the 'spurious recompile' issue. These are the places where I got rejects in 2.6.0-test4-mm6 (these changes are already in the -mm tree). > Sam >... cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles 2003-09-07 7:00 ` Sam Ravnborg 2003-09-07 10:17 ` Adrian Bunk @ 2003-09-08 23:45 ` James Simmons 1 sibling, 0 replies; 11+ messages in thread From: James Simmons @ 2003-09-08 23:45 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Adrian Bunk, Randy.Dunlap, Justin T. Gibbs, linux-kernel I have most of this patch already. I applied your logo Makefile changes. I will test them tonight. > ===== drivers/video/aty/Makefile 1.10 vs edited ===== > --- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003 > +++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003 > @@ -4,4 +4,3 @@ > atyfb-y := atyfb_base.o mach64_accel.o > atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o > atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o > -atyfb-objs := $(atyfb-y) > ===== drivers/video/console/Makefile 1.15 vs edited ===== > --- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003 > +++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003 > @@ -3,18 +3,16 @@ > # Rewritten to use lists instead of if-statements. > > # Font handling > -font-objs := fonts.o > +font-y := fonts.o > > -font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o > -font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o > -font-objs-$(CONFIG_FONT_8x8) += font_8x8.o > -font-objs-$(CONFIG_FONT_8x16) += font_8x16.o > -font-objs-$(CONFIG_FONT_6x11) += font_6x11.o > -font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o > -font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o > -font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o > - > -font-objs += $(font-objs-y) > +font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o > +font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o > +font-$(CONFIG_FONT_8x8) += font_8x8.o > +font-$(CONFIG_FONT_8x16) += font_8x16.o > +font-$(CONFIG_FONT_6x11) += font_6x11.o > +font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o > +font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o > +font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o > > # Each configuration option enables a list of files. > > @@ -31,8 +29,11 @@ > # Files generated that shall be removed upon make clean > clean-files := promcon_tbl.c > > -$(obj)/promcon_tbl.c: $(src)/prom.uni > - $(objtree)/scripts/conmakehash $< | \ > + > +quiet_cmd_promtbl = GEN $@ > + cmd_promtbl = scripts/conmakehash $< | \ > sed -e '/#include <[^>]*>/p' -e 's/types/init/' \ > -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@ > > +$(obj)/promcon_tbl.c: $(src)/prom.uni > + $(call cmd,promtbl) > ===== drivers/video/i810/Makefile 1.2 vs edited ===== > --- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003 > +++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003 > @@ -1,15 +1,8 @@ > # > # Makefile for the Intel 810/815 framebuffer driver > # > -# Note! Dependencies are done automagically by 'make dep', which also > -# removes any old dependencies. DON'T put your own dependencies here > -# unless it's something special (ie not a .c file). > -# > -# Note 2! The CFLAGS definitions are now in the main makefile... > - > > obj-$(CONFIG_FB_I810) += i810fb.o > - > > i810fb-objs := i810_main.o i810_accel.o > > ===== drivers/video/logo/Makefile 1.3 vs edited ===== > --- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003 > +++ edited/drivers/video/logo/Makefile Sun Sep 7 08:57:22 2003 > @@ -14,29 +14,38 @@ > obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o > > # Dependencies on generated files need to be listed explicitly > - > -$(obj)/%_mono.o: $(src)/%_mono.c > - > -$(obj)/%_vga16.o: $(src)/%_vga16.c > - > -$(obj)/%_clut224.o: $(src)/%_clut224.c > - > -$(obj)/%_gray256.o: $(src)/%_gray256.c > +# mono logo's > +$(obj)/logo_linux_mono.o: $(obj)/logo_linux_mono.c > +$(obj)/logo_superh_mono.o: $(obj)/logo_superh_mono.c > + > +# vga16 logo's > +$(obj)/logo_linux_vga16.o: $(obj)/logo_linux_vga16.c > +$(obj)/logo_superh_vga16.o: $(obj)/logo_superh_vga16.c > + > +# clut224 logo's > +$(obj)/logo_linux_clut224.o: $(obj)/logo_linux_clut224.c > +$(obj)/logo_dec_clut224.o: $(obj)/logo_dec_clut224.c > +$(obj)/logo_mac_clut224.o: $(obj)/logo_mac_clut224.c > +$(obj)/logo_sgi_clut224.o: $(obj)/logo_sgi_clut224.c > +$(obj)/logo_sun_clut224.o: $(obj)/logo_sun_clut224.c > +$(obj)/logo_superh_clut224.o: $(obj)/logo_superh_clut224.c > > # How to generate them > > +# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." > +quiet_cmd_logo = LOGO $@ > + cmd_logo = scripts/pnmtologo \ > + -t $(patsubst $*_%,%,$(notdir $(basename $<))) \ > + -n $(notdir $(basename $<)) -o $@ $< > + > $(obj)/%_mono.c: $(src)/%_mono.pbm > - $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $< > + $(call cmd,logo) > > $(obj)/%_vga16.c: $(src)/%_vga16.ppm > - $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $< > + $(call cmd,logo) > > $(obj)/%_clut224.c: $(src)/%_clut224.ppm > - $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $< > - > -$(obj)/%_gray256.c: $(src)/%_gray256.pgm > - $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $< > - > + $(call cmd,logo) > > # Files generated that shall be removed upon make clean > -clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c > +clean-files := *_mono.c *_vga16.c *_clut224.c > ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2003-09-08 23:46 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20030906201417.GI14436@fs.tum.de.suse.lists.linux.kernel> [not found] ` <33384.4.4.25.4.1062887601.squirrel@www.osdl.org.suse.lists.linux.kernel> 2003-09-06 22:44 ` 2.6: spurious recompiles Andi Kleen 2003-09-07 5:36 ` Sam Ravnborg 2003-09-06 20:14 Adrian Bunk 2003-09-06 22:33 ` Randy.Dunlap 2003-09-07 10:37 ` Adrian Bunk 2003-09-07 5:33 ` Sam Ravnborg 2003-09-08 23:45 ` James Simmons 2003-09-07 5:51 ` Sam Ravnborg 2003-09-07 7:00 ` Sam Ravnborg 2003-09-07 10:17 ` Adrian Bunk 2003-09-08 23:45 ` James Simmons
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).