Current kernel makefile fails to build init/main.o if you use 'make -r'
aka 'make --no-builtin-rules' (make 3.79.1). This fixes it:
--- Makefile~ Sun Nov 18 16:40:49 2001
+++ Makefile Sun Nov 18 20:02:19 2001
@@ -333,7 +333,7 @@
$(CC) $(CFLAGS) $(CFLAGS_KERNEL) -DUTS_MACHINE='"$(ARCH)"' -c -o
init/version.o init/version.c
init/main.o: init/main.c include/config/MARKER
- $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -c -o $*.o $<
+ $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -c -o $@ $<
fs lib mm ipc kernel drivers net: dummy
$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)
I don't see why we use $* at all -- of the 150 or so instances, it
looks like they *all* could be replaced with $< or $@. The GNU make
info page actually deprecates $* except for use with implicit rules.
I know, I know ... this is academic since we're supposed to be worrying
about kbuild-2.5 now. But I'm still curious:
Is there any reason for us to use $* instead of $@ or $<, anywhere in
the kernel makefiles?
Peter
_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel