[PATCH 2.4.19-rc1] Fix building with 'make -r -R'

From: Tom Rini (trini@kernel.crashing.org)
Date: Mon Jun 24 2002 - 14:20:21 EST

The following patch fixes 'make -r -R' in current kernels. From the
make (3.79.1) info page:

     In an explicit rule, there is no stem; so `$*' cannot be determined
     in that way. Instead, if the target name ends with a recognized
     suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is
     set to the target name minus the suffix. For example, if the
     target name is `foo.c', then `$*' is set to `foo', since `.c' is a
     suffix. GNU `make' does this bizarre thing only for compatibility
     with other implementations of `make'. You should generally avoid
     using `$*' except in implicit rules or static pattern rules.

Which explains why when '-r -R' (aka --no-builtin-rules
--no-builtin-variables) the build fails to make 'init/main.o' or

Tom Rini (TR1265)

===== Makefile 1.158 vs edited ===== --- 1.158/Makefile Wed Jun 5 15:45:31 2002 +++ edited/Makefile Fri Jun 7 10:20:25 2002 @@ -355,10 +355,10 @@ $(CC) $(CFLAGS) $(CFLAGS_KERNEL) -DUTS_MACHINE='"$(ARCH)"' -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o init/version.o init/version.c init/main.o: init/main.c include/config/MARKER - $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $*.o $< + $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $@ $< init/do_mounts.o: init/do_mounts.c include/config/MARKER - $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $*.o $< + $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) -c -o $@ $< fs lib mm ipc kernel drivers net: dummy $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Sun Jun 30 2002 - 22:00:08 EST