BTW, speaking of Kbuild cleanups (and that one is definitely 2.6.15 fodder):
patch below
* kills messing with lib vs. core for uml-amd64 (we don't need that
anymore)
* kills symlinks in arch/um/sys-*/
* kills foo.c-dir - we simply give HOST_OBJS=<list of pathnames
under arch/$(SUBARCH)> and that's it (no SYMLINKS either)
Price: use of make feature I really, really hate - $(eval ...). I'm using
it to generate and process
bar-y := ../../$(SUBARCH)/foo/bar.o
...
for all HOST_OBJS elements. If there are better suggestions, I'd be glad
to hear them...
diff -urN RC14-rc2-git6-base/arch/um/Makefile-x86_64
current/arch/um/Makefile-x86_64
--- RC14-rc2-git6-base/arch/um/Makefile-x86_64 2005-09-12 14:33:28.000000000
-0400
+++ current/arch/um/Makefile-x86_64 2005-10-02 16:15:19.000000000 -0400
@@ -1,7 +1,7 @@
# Copyright 2003 - 2004 Pathscale, Inc
# Released under the GPL
-libs-y += arch/um/sys-x86_64/
+core-y += arch/um/sys-x86_64/
START := 0x60000000
#We #undef __x86_64__ for kernelspace, not for userspace where
diff -urN RC14-rc2-git6-base/arch/um/scripts/Makefile.rules
current/arch/um/scripts/Makefile.rules
--- RC14-rc2-git6-base/arch/um/scripts/Makefile.rules 2005-09-05
08:35:08.000000000 -0400
+++ current/arch/um/scripts/Makefile.rules 2005-10-02 16:16:27.000000000
-0400
@@ -26,19 +26,9 @@
$(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1)))
endef
-quiet_cmd_make_link = SYMLINK $@
-cmd_make_link = ln -sf $(srctree)/arch/$(SUBARCH)/$($(notdir
$@)-dir)/$(notdir $@) $@
+# for each object in the HOST_OBJS (say it foo/bar.o) generate
+# bar-y := ../../$(SUBARCH)/foo/bar.o
+# and have it evaluated
+$(foreach obj,$(HOST_OBJS),$(eval \
+ $(basename $(notdir $(obj)))-y := $(addprefix ../../$(SUBARCH)/,$(obj))))
-# this needs to be before the foreach, because targets does not accept
-# complete paths like $(obj)/$(f). To make sure this works, use a := assignment
-# or we will get $(obj)/$(f) in the "targets" value.
-# Also, this forces you to use the := syntax when assigning to targets.
-# Otherwise the line below will cause an infinite loop (if you don't know why,
-# just do it).
-
-targets := $(targets) $(SYMLINKS)
-
-SYMLINKS := $(foreach f,$(SYMLINKS),$(obj)/$(f))
-
-$(SYMLINKS): FORCE
- $(call if_changed,make_link)
diff -urN RC14-rc2-git6-base/arch/um/sys-i386/Makefile
current/arch/um/sys-i386/Makefile
--- RC14-rc2-git6-base/arch/um/sys-i386/Makefile 2005-09-12
14:33:28.000000000 -0400
+++ current/arch/um/sys-i386/Makefile 2005-10-02 16:16:27.000000000 -0400
@@ -7,15 +7,10 @@
USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o
-SYMLINKS = bitops.c semaphore.c highmem.c module.c
+HOST_OBJS = lib/bitops.o kernel/semaphore.o mm/highmem.o kernel/module.o
include arch/um/scripts/Makefile.rules
-bitops.c-dir = lib
-semaphore.c-dir = kernel
-highmem.c-dir = mm
-module.c-dir = kernel
-
$(obj)/stub_segv.o : _c_flags = $(call unprofile,$(CFLAGS))
include arch/um/scripts/Makefile.unmap
diff -urN RC14-rc2-git6-base/arch/um/sys-x86_64/Makefile
current/arch/um/sys-x86_64/Makefile
--- RC14-rc2-git6-base/arch/um/sys-x86_64/Makefile 2005-09-12
14:33:28.000000000 -0400
+++ current/arch/um/sys-x86_64/Makefile 2005-10-02 16:18:12.000000000 -0400
@@ -4,29 +4,19 @@
# Licensed under the GPL
#
-#XXX: why into lib-y?
-lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o mem.o memcpy.o \
+obj-y = bitops.o bugs.o csum-partial.o delay.o fault.o mem.o memcpy.o \
ptrace.o ptrace_user.o sigcontext.o signal.o stub.o \
- stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o
+ stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o ksyms.o
-obj-y := ksyms.o
obj-$(CONFIG_MODULES) += module.o um_module.o
USER_OBJS := ptrace_user.o sigcontext.o
-SYMLINKS = bitops.c csum-copy.S csum-partial.c csum-wrappers.c memcpy.S \
- thunk.S module.c
+HOST_OBJS = lib/bitops.o lib/csum-copy.o lib/csum-partial.o \
+ lib/csum-wrappers.o lib/memcpy.o lib/thunk.o kernel/module.o
include arch/um/scripts/Makefile.rules
-bitops.c-dir = lib
-csum-copy.S-dir = lib
-csum-partial.c-dir = lib
-csum-wrappers.c-dir = lib
-memcpy.S-dir = lib
-thunk.S-dir = lib
-module.c-dir = kernel
-
$(obj)/stub_segv.o: _c_flags = $(call unprofile,$(CFLAGS))
include arch/um/scripts/Makefile.unmap
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel