From: Paolo 'Blaisorblade' Giarrusso Use the cmd_* syntax to define a command for symlink creations in UML (to reuse files from other archs). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton --- 25-akpm/arch/um/scripts/Makefile.rules | 3 +++ 25-akpm/arch/um/sys-i386/Makefile | 13 +++++-------- 25-akpm/arch/um/sys-x86_64/Makefile | 16 ++++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) diff -puN arch/um/scripts/Makefile.rules~uml-kbuild-link-cmd arch/um/scripts/Makefile.rules --- 25/arch/um/scripts/Makefile.rules~uml-kbuild-link-cmd 2005-03-23 01:20:33.000000000 -0800 +++ 25-akpm/arch/um/scripts/Makefile.rules 2005-03-23 01:20:33.000000000 -0800 @@ -8,3 +8,6 @@ USER_OBJS += $(filter %_user.o,$(obj-y) USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) $(USER_OBJS): c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) + +quiet_cmd_make_link = SYMLINK $@ +cmd_make_link = rm -f $@; ln -sf $(srctree)/arch/$(SUBARCH)/$($(notdir $@)-dir)/$(notdir $@) $@ diff -puN arch/um/sys-i386/Makefile~uml-kbuild-link-cmd arch/um/sys-i386/Makefile --- 25/arch/um/sys-i386/Makefile~uml-kbuild-link-cmd 2005-03-23 01:20:33.000000000 -0800 +++ 25-akpm/arch/um/sys-i386/Makefile 2005-03-23 01:20:33.000000000 -0800 @@ -14,19 +14,16 @@ SYMLINKS = bitops.c semaphore.c highmem. # complete paths like $(src)/$f. clean-files := $(SYMLINKS) -SYMLINKS := $(foreach f,$(SYMLINKS),$(src)/$f) +targets += $(SYMLINKS) + +SYMLINKS := $(foreach f,$(SYMLINKS),$(obj)/$f) bitops.c-dir = lib semaphore.c-dir = kernel highmem.c-dir = mm module.c-dir = kernel -define make_link - -rm -f $1 - ln -sf $(srctree)/arch/i386/$($(notdir $1)-dir)/$(notdir $1) $1 -endef - -$(SYMLINKS): - $(call make_link,$@) +$(SYMLINKS): FORCE + $(call if_changed,make_link) subdir- := util diff -puN arch/um/sys-x86_64/Makefile~uml-kbuild-link-cmd arch/um/sys-x86_64/Makefile --- 25/arch/um/sys-x86_64/Makefile~uml-kbuild-link-cmd 2005-03-23 01:20:33.000000000 -0800 +++ 25-akpm/arch/um/sys-x86_64/Makefile 2005-03-23 01:20:33.000000000 -0800 @@ -14,10 +14,15 @@ include arch/um/scripts/Makefile.rules SYMLINKS = bitops.c csum-copy.S csum-partial.c csum-wrappers.c memcpy.S \ semaphore.c thunk.S -SYMLINKS := $(foreach f,$(SYMLINKS),$(src)/$f) +# this needs to be before the foreach, because clean-files does not accept +# complete paths like $(src)/$f. clean-files := $(SYMLINKS) +targets += $(SYMLINKS) + +SYMLINKS := $(foreach f,$(SYMLINKS),$(obj)/$f) + bitops.c-dir = lib csum-copy.S-dir = lib csum-partial.c-dir = lib @@ -26,12 +31,7 @@ memcpy.S-dir = lib semaphore.c-dir = kernel thunk.S-dir = lib -define make_link - -rm -f $1 - ln -sf $(srctree)/arch/x86_64/$($(notdir $1)-dir)/$(notdir $1) $1 -endef - -$(SYMLINKS): - $(call make_link,$@) +$(SYMLINKS): FORCE + $(call if_changed,make_link) CFLAGS_csum-partial.o := -Dcsum_partial=arch_csum_partial _