On Wed, Feb 17, 2010 at 06:39:13PM +0100, Michal Marek wrote: > It wouldn't work actually, because such variable would then apply to all > hweight.o targets in the tree. But another way would be: > > arch/x86/Kconfig > config ARCH_HWEIGHT_CFLAGS > string > default "..." if X86_32 > default "..." if X86_64 > > lib/Makefile > CFLAGS_hweight.o = $(CONFIG_ARCH_HWEIGHT_CFLAGS) Yep, this works, albeit with a small adjustment since CONFIG_ARCH_HWEIGHT_CFLAGS is quoted in the Kconfig and the quotes appear in the $(CC) call like this: gcc -Wp,-MD,lib/.hweight.o.d ... "-fcall-saved-ecx..." which I fixed like this (idea reused from the make manual): --- source "init/Kconfig" diff --git a/lib/Makefile b/lib/Makefile index 3b0b4a6..e2ad17c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -39,7 +39,10 @@ lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o lib-$(CONFIG_GENERIC_FIND_FIRST_BIT) += find_next_bit.o lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o obj-$(CONFIG_GENERIC_FIND_LAST_BIT) += find_last_bit.o + +CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS)) obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o + obj-$(CONFIG_LOCK_KERNEL) += kernel_lock.o obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o obj-$(CONFIG_DEBUG_LIST) += list_debug.o diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index f9bdf26..cbcd654 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -245,3 +245,7 @@ quiet_cmd_lzo = LZO $@ cmd_lzo = (cat $(filter-out FORCE,$^) | \ lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ (rm -f $@ ; false) + +# misc stuff +# --------------------------------------------------------------------------- +quote:=" I'm open for better suggestions though. -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html