Hi. 2017-07-24 23:20 GMT+09:00 Bjørn Forsman <bjorn.forsman@xxxxxxxxx>: > Several places already use pwd and rely on $PATH lookup. Moving the > remaining /bin/pwd users over for consistency. > > Also, a reason for doing /bin/pwd -> pwd instead of the other way around > is because I believe build systems should make little assumptions on host > filesystem layout. Case in point, we do this kind of patching already in > NixOS. > > Signed-off-by: Bjørn Forsman <bjorn.forsman@xxxxxxxxx> Kbuild conventionally used $(shell cd foo/bar && /bin/pwd) to get the absolute path because the minimum supported GNU Makefile version was 3.80 and $(abspath ...) is only supported by 3.81 or later. Commit 37d69ee3080 bumped the min version to 3.81, so it is legitimate to use $(abspath ). Could you use $(abspath ...) instead of $(shell cd ... && /bin/pwd) ? > --- > Documentation/ia64/xen.txt | 2 +- > Makefile | 10 +++++----- > scripts/gdb/linux/Makefile | 2 +- > 3 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/Documentation/ia64/xen.txt b/Documentation/ia64/xen.txt > index c61a99f7c8bb..a12c74ce2773 100644 > --- a/Documentation/ia64/xen.txt > +++ b/Documentation/ia64/xen.txt > @@ -41,7 +41,7 @@ Getting and Building Xen and Dom0 > > 5. make initrd for Dom0/DomU > # make -C linux-2.6.18-xen.hg ARCH=ia64 modules_install \ > - O=$(/bin/pwd)/build-linux-2.6.18-xen_ia64 > + O=$(pwd)/build-linux-2.6.18-xen_ia64 > # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6.18.8-xen.img \ > 2.6.18.8-xen --builtin mptspi --builtin mptbase \ > --builtin mptscsih --builtin uhci-hcd --builtin ohci-hcd \ > diff --git a/Makefile b/Makefile > index b4fb9a1d1594..64e72eba5701 100644 > --- a/Makefile > +++ b/Makefile > @@ -131,7 +131,7 @@ ifneq ($(KBUILD_OUTPUT),) > # check that the output directory actually exists > saved-output := $(KBUILD_OUTPUT) > KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \ > - && /bin/pwd) > + && pwd) > $(if $(KBUILD_OUTPUT),, \ > $(error failed to create output directory "$(saved-output)")) This one should use $(realpath ...) instead of $(abspath ...), I think. The difference between them is that $(realpath ...) returns an empty string if the given path does not exist. > @@ -978,7 +978,7 @@ ifdef CONFIG_HEADERS_CHECK > $(Q)$(MAKE) -f $(srctree)/Makefile headers_check > endif > ifdef CONFIG_GDB_SCRIPTS > - $(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py > + $(Q)ln -fsn `cd $(srctree) && pwd`/scripts/gdb/vmlinux-gdb.py > endif > ifdef CONFIG_TRIM_UNUSED_KSYMS > $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \ > @@ -1237,7 +1237,7 @@ _modinst_: > @rm -rf $(MODLIB)/kernel > @rm -f $(MODLIB)/source > @mkdir -p $(MODLIB)/kernel > - @ln -s `cd $(srctree) && /bin/pwd` $(MODLIB)/source > + @ln -s `cd $(srctree) && pwd` $(MODLIB)/source > @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \ > rm -f $(MODLIB)/build ; \ > ln -s $(CURDIR) $(MODLIB)/build ; \ > @@ -1629,11 +1629,11 @@ image_name: > # Clear a bunch of variables before executing the submake > tools/: FORCE > $(Q)mkdir -p $(objtree)/tools > - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ > + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && pwd) subdir=tools -C $(src)/tools/ > > tools/%: FORCE > $(Q)mkdir -p $(objtree)/tools > - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ $* > + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && pwd) subdir=tools -C $(src)/tools/ $* > > # Single targets > # --------------------------------------------------------------------------- > diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile > index 8b00031f5349..f1ac5db46932 100644 > --- a/scripts/gdb/linux/Makefile > +++ b/scripts/gdb/linux/Makefile > @@ -1,6 +1,6 @@ > always := gdb-scripts > > -SRCTREE := $(shell cd $(srctree) && /bin/pwd) > +SRCTREE := $(shell cd $(srctree) && pwd) > > $(obj)/gdb-scripts: > ifneq ($(KBUILD_SRC),) > -- > 2.12.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html