summaryrefslogtreecommitdiffstats
path: root/usr.bin/make/main.c
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2005-05-24 09:14:46 +0000
committerharti <harti@FreeBSD.org>2005-05-24 09:14:46 +0000
commit37b9e8f42f9e0fc810925827e20ad144c7b88871 (patch)
treeb703a63fab4a1142e2d14e45259737c6236b2bd7 /usr.bin/make/main.c
parenta2e5c5c0f415c2965a0e3e4cde46953caf61319e (diff)
downloadFreeBSD-src-37b9e8f42f9e0fc810925827e20ad144c7b88871.zip
FreeBSD-src-37b9e8f42f9e0fc810925827e20ad144c7b88871.tar.gz
Before doing any parsing parse the builtin shell specifications and
set the current shell to DEFSHELL. Put all these specifications into a list. Add user specified new shells to this list. If the user just selects one of the already know shells just pick the right one off the list. This let's one do something like: # Full specification of the user's shell. This also selects the shell. .SHELL: name=myshell path=/somewhere/foo echo=loud ... FOO != bar # use myshell here .SHELL: name=sh BAR != baz # use /bin/sh here .SHELL: name=myshell # no need for full spec here. # continue to use the user's special shell.
Diffstat (limited to 'usr.bin/make/main.c')
-rw-r--r--usr.bin/make/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
index 1d65ffb..cbc2a30 100644
--- a/usr.bin/make/main.c
+++ b/usr.bin/make/main.c
@@ -785,6 +785,13 @@ main(int argc, char **argv)
* can be processed correctly */
Var_Init(environ); /* As well as the lists of variables for
* parsing arguments */
+
+ /*
+ * Initialize the Shell so that we have a shell for != assignments
+ * on the command line.
+ */
+ Shell_Init();
+
/*
* Initialize various variables.
* MAKE also gets this name, for compatibility
OpenPOWER on IntegriCloud