Commit 810a4855513b9cb1a191301eb5e4e28b276cc318

Authored by Linus Torvalds

Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull kbuild changes from Michal Marek:
 "The kbuild changes are minimal this time:

   - scripts/pnmlogo fix for some newer format

   - minor top-level Makefile cleanup

   - fix for a v3.5 regression with make clean M=<directory>"

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kbuild: Do not remove vmlinux when cleaning external module
  scripts/pnmtologo: fix for plain PBM
  kbuild: Remove reference to uninitialised variable

Showing 2 changed files Side-by-side Diff

... ... @@ -124,7 +124,7 @@
124 124 PHONY += $(MAKECMDGOALS) sub-make
125 125  
126 126 $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
127   - $(Q)@:
  127 + @:
128 128  
129 129 sub-make: FORCE
130 130 $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
131 131  
132 132  
... ... @@ -1027,12 +1027,15 @@
1027 1027 clean: rm-files := $(CLEAN_FILES)
1028 1028 clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation samples)
1029 1029  
1030   -PHONY += $(clean-dirs) clean archclean
  1030 +PHONY += $(clean-dirs) clean archclean vmlinuxclean
1031 1031 $(clean-dirs):
1032 1032 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
1033 1033  
1034   -clean: archclean
  1034 +vmlinuxclean:
  1035 + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
1035 1036  
  1037 +clean: archclean vmlinuxclean
  1038 +
1036 1039 # mrproper - Delete all generated files, including .config
1037 1040 #
1038 1041 mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS))
... ... @@ -1258,7 +1261,6 @@
1258 1261 endif # KBUILD_EXTMOD
1259 1262  
1260 1263 clean: $(clean-dirs)
1261   - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
1262 1264 $(call cmd,rmdirs)
1263 1265 $(call cmd,rmfiles)
1264 1266 @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
... ... @@ -74,6 +74,7 @@
74 74 static struct color **logo_data;
75 75 static struct color logo_clut[MAX_LINUX_LOGO_COLORS];
76 76 static unsigned int logo_clutsize;
  77 +static int is_plain_pbm = 0;
77 78  
78 79 static void die(const char *fmt, ...)
79 80 __attribute__ ((noreturn)) __attribute ((format (printf, 1, 2)));
... ... @@ -103,6 +104,11 @@
103 104 val = 0;
104 105 while (isdigit(c)) {
105 106 val = 10*val+c-'0';
  107 + /* some PBM are 'broken'; GiMP for example exports a PBM without space
  108 + * between the digits. This is Ok cause we know a PBM can only have a '1'
  109 + * or a '0' for the digit. */
  110 + if (is_plain_pbm)
  111 + break;
106 112 c = fgetc(fp);
107 113 if (c == EOF)
108 114 die("%s: end of file\n", filename);
... ... @@ -167,6 +173,7 @@
167 173 switch (magic) {
168 174 case '1':
169 175 /* Plain PBM */
  176 + is_plain_pbm = 1;
170 177 for (i = 0; i < logo_height; i++)
171 178 for (j = 0; j < logo_width; j++)
172 179 logo_data[i][j].red = logo_data[i][j].green =