Messages in this thread Patch in this message | | | Date | Wed, 2 Sep 1998 07:00:50 +0200 (MEST) | From | Clifford Wolf <> | Subject | Re: linux/Makefile: CONFIG_SHELL and SHELL |
| |
On 1 Sep 1998, Andreas Schwab wrote:
> Clifford Wolf <clifford@clifford.at> writes: > > |> I've just had a look at the GNU make info page (File: make.info, Node: > |> Execution) and they say at this page that make executes all commands > |> useing a subshell and that it uses /bin/sh as subshell if the $(SHELL) > |> variable is not set. > |> > |> So it invokes a subshell anyway (regardless if $(SHELL) is set or not). > > No, it doesn't. If SHELL is unset or set to /bin/sh then make will parse > the command by itself, unless it is complex (containing shell > metacharacters) or uses shell builtin commands or if $IFS is non-standard. > See job.c:construct_command_argv_internal. From the user's point of view > this does not make any difference (except performance-wise), that's why > it's not documented except in the sources.
I attached a patch which fixes the broken Makefiles. I don't know if we use bash features - makeing the suggestion that /bin/sh is bash - somewhere else in the kernel too.
- clifford
-- -- -- -- -- -- -- -- -- -- -- -- -- Clifford Wolf magnet - Internet at Work IRC: efnet / clifford Director of System Development http://www.clifford.at/ e-mail: c.wolf@magnet.at email: god@clifford.at diff -ruN linux/Makefile linux/Makefile --- linux/Makefile Fri Aug 28 15:27:33 1998 +++ linux/Makefile Wed Sep 2 05:59:37 1998 @@ -351,9 +351,9 @@ mrproper: clean archmrproper rm -f include/linux/autoconf.h include/linux/version.h - rm -f drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h - rm -f drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h - rm -f drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h + $(CONFIG_SHELL) -c 'rm -f drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h' + $(CONFIG_SHELL) -c 'rm -f drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h' + $(CONFIG_SHELL) -c 'rm -f drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h' rm -f drivers/net/hamradio/soundmodem/gentbl rm -f drivers/char/hfmodem/gentbl drivers/char/hfmodem/tables.h rm -f drivers/sound/*_boot.h drivers/sound/.*.boot diff -ruN linux-orig/arch/ppc/Makefile linux-cmf/arch/ppc/Makefile --- linux/arch/ppc/Makefile Wed Aug 5 01:06:36 1998 +++ linux/arch/ppc/Makefile Wed Sep 2 06:00:50 1998 @@ -96,10 +96,10 @@ ln -s apus_defconfig arch/ppc/defconfig tags: - etags */*.c include/{asm,linux}/*.h arch/ppc/kernel/*.{c,h} + $(CONFIG_SHELL) -c 'etags */*.c include/{asm,linux}/*.h arch/ppc/kernel/*.{c,h}' archclean: - rm -f arch/ppc/kernel/{mk_defs,ppc_defs.h,find_name,checks} + $(CONFIG_SHELL) -c 'rm -f arch/ppc/kernel/{mk_defs,ppc_defs.h,find_name,checks}' @$(MAKECOFFBOOT) clean @$(MAKEBOOT) clean @$(MAKECHRPBOOT) clean
| |