summaryrefslogtreecommitdiffstats
path: root/usr.bin/make
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2005-05-24 13:19:40 +0000
committerharti <harti@FreeBSD.org>2005-05-24 13:19:40 +0000
commitb6ff4ff920cf5798accf03ca1ac826688d01b4f0 (patch)
tree7493787569d0aabac9dbba1a77ce47563a66ff4d /usr.bin/make
parent6c1f15aa0b3b5827f9587dedd80316843096497c (diff)
downloadFreeBSD-src-b6ff4ff920cf5798accf03ca1ac826688d01b4f0.zip
FreeBSD-src-b6ff4ff920cf5798accf03ca1ac826688d01b4f0.tar.gz
Use the name of the default shell instead of a numeric index to select
the default shell. Idea from: DragonFlyBSD
Diffstat (limited to 'usr.bin/make')
-rw-r--r--usr.bin/make/Makefile8
-rw-r--r--usr.bin/make/Makefile.dist2
-rw-r--r--usr.bin/make/job.c2
3 files changed, 4 insertions, 8 deletions
diff --git a/usr.bin/make/Makefile b/usr.bin/make/Makefile
index 40903eb..3cb53693 100644
--- a/usr.bin/make/Makefile
+++ b/usr.bin/make/Makefile
@@ -98,12 +98,8 @@ hash:
# allow you to shoot yourself in the foot if you want to :-)
MAKE_SHELL?= sh
-.if ${MAKE_SHELL} == "csh"
-CFLAGS+= -DDEFSHELL=0
-.elif ${MAKE_SHELL} == "sh"
-CFLAGS+= -DDEFSHELL=1
-.elif ${MAKE_SHELL} == "ksh"
-CFLAGS+= -DDEFSHELL=2
+.if ${MAKE_SHELL} == "csh" || ${MAKE_SHELL} == "sh" || ${MAKE_SHELL} == "ksh"
+CFLAGS+= -DDEFSHELLNAME=\"${MAKE_SHELL}\"
.else
.error "MAKE_SHELL must be set to one of \"csh\", \"sh\" or \"ksh\"."
.endif
diff --git a/usr.bin/make/Makefile.dist b/usr.bin/make/Makefile.dist
index 3432e38..0a485e1 100644
--- a/usr.bin/make/Makefile.dist
+++ b/usr.bin/make/Makefile.dist
@@ -2,6 +2,6 @@
# a very simple makefile...
pmake:
@echo 'make started.'
- cc -DDEFSHELL=1 -I. -c *.c
+ cc -DDEFSHELLNAME=\"sh\" -I. -c *.c
cc *.o -o pmake
@echo 'make completed.'
diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c
index c2df52b..6567afd 100644
--- a/usr.bin/make/job.c
+++ b/usr.bin/make/job.c
@@ -2719,7 +2719,7 @@ Shell_Init(void)
for (i = 0; shells_init[i] != NULL; i++) {
sh = JobParseShellSpec(shells_init[i], &fullSpec);
TAILQ_INSERT_TAIL(&shells, sh, link);
- if (i == DEFSHELL)
+ if (strcmp(sh->name, DEFSHELLNAME) == 0)
commandShell = sh;
}
}
OpenPOWER on IntegriCloud