(Please CC me on replies).
We have readded the "linux" target which just creates a hardlink to vmlinux.
It was noted (sorry for forgetting who said this) that "make ARCH=um"
will leave an old "linux" file, since the target is not listed in .PHONY.
Using a symlink, instead of an hard link, was suggested because the hard link
does not get updated with make vmlinux. But mv linux $destpath (the most
meaningful installation command) is broken, so I instead added linux to .PHONY.
Obviously, linux will not be rebuilt on "make vmlinux ARCH=um", but this makes
sense (if people use the new way, don't use old tricks). Anyway, we remove
"linux" in any case.
Acked-by: Jeff Dike <[email protected]>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[email protected]>
---
vanilla-linux-2.6.9-paolo/arch/um/Makefile | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff -puN arch/um/Makefile~uml-readd-linux-target-part2 arch/um/Makefile
--- vanilla-linux-2.6.9/arch/um/Makefile~uml-readd-linux-target-part2 2004-11-03 23:30:36.465715896 +0100
+++ vanilla-linux-2.6.9-paolo/arch/um/Makefile 2004-11-03 23:30:36.467715592 +0100
@@ -63,16 +63,18 @@ ifeq ($(CONFIG_MODE_SKAS), y)
$(SYS_HEADERS) : $(ARCH_DIR)/include/skas_ptregs.h
endif
+.PHONY: linux
+
all: linux
linux: vmlinux
- $(RM) $@
- ln $< $@
+ ln -f $< $@
define archhelp
echo '* linux - Binary kernel image (./linux) - for backward'
- echo ' compatibility only: now you can simply run'
- echo ' the vmlinux binary you find in the kernel root.'
+ echo ' compatibility only, this creates a hard link to the'
+ echo ' real kernel binary, the the "vmlinux" binary you'
+ echo ' find in the kernel root.'
endef
prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) \
@@ -118,7 +120,8 @@ define cmd_vmlinux__
-Wl,-T,$(vmlinux-lds) $(vmlinux-init) \
-Wl,--start-group $(vmlinux-main) -Wl,--end-group \
-L/usr/lib -lutil \
- $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE ,$^)
+ $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) \
+ FORCE ,$^) ; rm -f linux
endef
USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
_