# The symlink is used to repair a deficiency in arch/um
 update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
        $(Q)echo "  GEN config"
-       $(Q)xgettext --default-domain=linux              \
-           --add-comments --keyword=_ --keyword=N_      \
-           --from-code=UTF-8                            \
-           --files-from=scripts/kconfig/POTFILES.in     \
+       $(Q)xgettext --default-domain=linux                         \
+           --add-comments --keyword=_ --keyword=N_                 \
+           --from-code=UTF-8                                       \
+           --files-from=$(srctree)/scripts/kconfig/POTFILES.in     \
+           --directory=$(srctree) --directory=$(objtree)           \
            --output $(obj)/config.pot
        $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
        $(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
-       $(Q)(for i in `ls arch/*/Kconfig`;               \
+       $(Q)(for i in `ls $(srctree)/arch/*/Kconfig`;    \
            do                                           \
                echo "  GEN $$i";                        \
                $(obj)/kxgettext $$i                     \
            done )
        $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
            --output $(obj)/linux.pot
-       $(Q)rm -f arch/um/Kconfig.arch
+       $(Q)rm -f $(srctree)/arch/um/Kconfig.arch
        $(Q)rm -f $(obj)/config.pot
 
 PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig
 
 # Extract gconf menu items for I18N support
 $(obj)/gconf.glade.h: $(obj)/gconf.glade
-       intltool-extract --type=gettext/glade $(obj)/gconf.glade
+       intltool-extract --type=gettext/glade --srcdir=$(srctree) \
+       $(obj)/gconf.glade
 
 ###
 # The following requires flex/bison/gperf