diff --git a/src/internal/slibtool_mkvars_impl.c b/src/internal/slibtool_mkvars_impl.c
index a18dbfe..155036a 100644
--- a/src/internal/slibtool_mkvars_impl.c
+++ b/src/internal/slibtool_mkvars_impl.c
@@ -27,6 +27,7 @@ static int slbt_get_mkvars_var(
 	const char **   pline;
 	const char *    mark;
 	const char *    match;
+	char *          ch;
 	ssize_t         len;
 	int             cint;
 
@@ -64,6 +65,21 @@ static int slbt_get_mkvars_var(
 		return 0;
 	}
 
+	/* special case the SLIBTOOL make variable */
+	if (!strcmp(var,"SLIBTOOL")) {
+		mark = match;
+		ch   = *val;
+
+		for (; *mark; ) {
+			if (isspace(cint = *mark)) {
+				*ch = '\0';
+				return 0;
+			}
+
+			*ch++ = *mark++;
+		}
+	}
+
 	/* validate */
 	for (mark=match; *mark; mark++) {
 		if ((*mark >= 'a') && (*mark <= 'z'))
@@ -141,6 +157,9 @@ slbt_hidden int slbt_get_mkvars_flags(
 				dctx,
 				SLBT_ERR_MKVARS_PARSE);
 		}
+	} else if (!strcmp(val,"false")) {
+		optshared = SLBT_DRIVER_DISABLE_SHARED;
+		optstatic = SLBT_DRIVER_DISABLE_STATIC;
 	} else {
 		optshared = SLBT_DRIVER_SHARED;
 		optstatic = SLBT_DRIVER_STATIC;