Module Name:    src
Committed By:   uebayasi
Date:           Thu Dec 10 15:51:24 UTC 2009

Modified Files:
        src/distrib/sets: sets.subr
Added Files:
        src/distrib/sets: mkvars.mk

Log Message:
Move make variable extraction & conversion logic from here-documented make
-f- command to an isolated makefile.  The list of non-_MKVARS.* variables
are concentrated there.

No functional changes.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/distrib/sets/mkvars.mk
cvs rdiff -u -r1.107 -r1.108 src/distrib/sets/sets.subr

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/sets.subr
diff -u src/distrib/sets/sets.subr:1.107 src/distrib/sets/sets.subr:1.108
--- src/distrib/sets/sets.subr:1.107	Thu Dec 10 13:25:19 2009
+++ src/distrib/sets/sets.subr	Thu Dec 10 15:51:24 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: sets.subr,v 1.107 2009/12/10 13:25:19 uebayasi Exp $
+#	$NetBSD: sets.subr,v 1.108 2009/12/10 15:51:24 uebayasi Exp $
 #
 
 #
@@ -24,30 +24,6 @@
 # as well as:
 #
 
-# XXX don't hardcode
-MKEXTRAVARS="\
-	MACHINE		\
-	MACHINE_ARCH	\
-	MACHINE_CPU	\
-	HAVE_BINUTILS	\
-	HAVE_GCC	\
-	HAVE_GDB	\
-	OBJECT_FMT	\
-	TOOLCHAIN_MISSING \
-	EXTSRCS		\
-	MKMANZ		\
-	MKBFD		\
-	MKCOMPAT	\
-	MKDYNAMICROOT	\
-	MKMANPAGES	\
-	MKXORG		\
-	USE_INET6	\
-	USE_KERBEROS	\
-	USE_LDAP	\
-	USE_YP		\
-	NETBSDSRCDIR	\
-	MAKEVERBOSE	\
-"
 #
 # The following variables refer to tools that are used when building sets:
 #
@@ -136,51 +112,19 @@
 	;;
 esac
 
+#####
+
 oIFS=$IFS
 IFS="
 "
 
-for x in $(
-	${MAKE} -B -f- all <<EOMAKE
-.include <bsd.own.mk>
-all:
-	@echo "export _MKVARS_yes=\"\${_MKVARS.yes}\""
-	@echo "export _MKVARS_no=\"\${_MKVARS.no}\""
-
-EOMAKE
-); do
-	eval $x
-done
-
-for x in $(
-${MAKE} -B -f- all <<EOMAKE
-.include <bsd.own.mk>
-.if (\${MKMAN} == "no" || empty(MANINSTALL:Mmaninstall))
-MKMANPAGES=no
-.else
-MKMANPAGES=yes
-.endif
-.if \${MKX11} != "no"
-. if \${X11FLAVOUR} == "Xorg"
-MKXORG:=yes
-MKX11:=no
-. else
-MKXORG:=no
-. endif
-.endif
-all:
-.for i in ${MKEXTRAVARS} ${_MKVARS_yes} ${_MKVARS_no}
-	@echo "export \$i=\"\${\$i}\""
-.endfor
-
-EOMAKE
-); do
-	eval $x
+for x in $( ${MAKE} -B -f mkvars.mk mkvars ); do
+	eval export $x
 done
 
 IFS=$oIFS
 
-MKVARS="$MKEXTRAVARS $_MKVARS_yes $_MKVARS_no"
+MKVARS="$( ${MAKE} -B -f mkvars.mk mkvars | sed -e 's,=.*,,' | xargs )"
 
 if [ "$SETS_SUBR_DEBUG" = "dumpmkvars" ]; then
 	for v in $MKVARS; do
@@ -234,7 +178,7 @@
 # In each file, a record consists of a path and a System Package name,
 # separated by whitespace. E.g.,
 #
-# 	# $NetBSD: sets.subr,v 1.107 2009/12/10 13:25:19 uebayasi Exp $
+# 	# $NetBSD: sets.subr,v 1.108 2009/12/10 15:51:24 uebayasi Exp $
 # 	.			base-sys-root	[keyword[,...]]
 # 	./altroot		base-sys-root
 # 	./bin			base-sys-root

Added files:

Index: src/distrib/sets/mkvars.mk
diff -u /dev/null src/distrib/sets/mkvars.mk:1.1
--- /dev/null	Thu Dec 10 15:51:24 2009
+++ src/distrib/sets/mkvars.mk	Thu Dec 10 15:51:24 2009
@@ -0,0 +1,61 @@
+# $NetBSD: mkvars.mk,v 1.1 2009/12/10 15:51:24 uebayasi Exp $
+
+MKEXTRAVARS= \
+	MACHINE \
+	MACHINE_ARCH \
+	MACHINE_CPU \
+	HAVE_BINUTILS \
+	HAVE_GCC \
+	HAVE_GDB \
+	OBJECT_FMT \
+	TOOLCHAIN_MISSING \
+	EXTSRCS \
+	MKMANZ \
+	MKBFD \
+	MKCOMPAT \
+	MKDYNAMICROOT \
+	MKMANPAGES \
+	MKXORG \
+	X11FLAVOR \
+	USE_INET6 \
+	USE_KERBEROS \
+	USE_LDAP \
+	USE_YP \
+	NETBSDSRCDIR \
+	MAKEVERBOSE
+
+#####
+
+.include <bsd.own.mk>
+
+.if (${MKMAN} == "no" || empty(MANINSTALL:Mmaninstall))
+MKMANPAGES=no
+.else
+MKMANPAGES=yes
+.endif
+
+.if ${MKX11} != "no"
+. if ${X11FLAVOUR} == "Xorg"
+MKXORG:=yes
+MKX11:=no
+. else
+MKXORG:=no
+. endif
+.endif
+
+#####
+
+mkvars: mkvarsyesno mkextravars .PHONY
+
+mkvarsyesno: .PHONY
+.for i in ${_MKVARS.yes}
+	@echo $i="${$i}"
+.endfor
+.for i in ${_MKVARS.no}
+	@echo $i="${$i}"
+.endfor
+
+mkextravars: .PHONY
+.for i in ${MKEXTRAVARS}
+	@echo $i="${$i}"
+.endfor

Reply via email to