Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Aug 1999 18:30:29 +0200
From:      Sheldon Hearn <sheldonh@uunet.co.za>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/13398: Add WHICH_GAMES variable to src/Makefile.inc1
Message-ID:  <48057.935685029@axl.noc.iafrica.com>

next in thread | raw e-mail | index | archive | help

>Number:         13398
>Category:       ports
>Synopsis:       Add WHICH_GAMES variable to src/Makefile.inc1
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 26 09:40:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Sheldon Hearn
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
UUNET South Africa
>Environment:

	FreeBSD 4.0-CURRENT

>Description:

	Every time people start bitching about what games should and
	shouldn't be distributed with FreeBSD, I smile. I've always just
	hacked up my src/games/Makefile and trimmed SUBDIR down to only
	those games I consider useful.

	This, however, is not elegant. Yet it's the best we can do at
	the moment.

>How-To-Repeat:

	N/A

>Fix:

	What I propose is the addition of two definitions which will
	allow release engineers and obsessive world builders more
	flexibility in the selection of games to install.

	Both of these flags are completely ignored if NOGAMES is
	defined:

	WHICH_GAMES	A list of desired games
	SOMEGAMES	If WHICH_GAMES is not defined, populate
			WHICH_GAMES with a limited selection of games.

	Diffs follow. I'm pushing this through a few buildworlds with
	various combinations of WHICH_GAMES, SOMEGAMES and NOGAMES now
	and intend to commit this if all goes well and there are no
	objections.

Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.81
diff -u -d -r1.81 Makefile.inc1
--- Makefile.inc1	1999/08/08 22:26:09	1.81
+++ Makefile.inc1	1999/08/26 15:39:48
@@ -10,12 +10,14 @@
 #	-DNOCRYPT will prevent building of crypt versions
 #	-DNOPROFILE do not build profiled libraries
 #	-DNOSECURE do not go into secure subdir
+#	-DSOMEGAMES install a limited subset (or ${WHICH_GAMES}) of the games
 #	-DNOGAMES do not go into games subdir
 #	-DNOSHARE do not go into share subdir
 #	-DNOINFO do not make or install info files
 #	-DNOLIBC_R do not build libc_r.
 #	-DNO_FORTRAN do not build g77 and related libraries.
 #	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
+#	WHICH_GAMES="list of games" to build unless NOGAMES is defined.
 
 #
 # The intended user-driven targets are:
@@ -54,6 +56,24 @@
 .if exists(${.CURDIR}/games) && !defined(NOGAMES)
 SUBDIR+= games
 .endif
+.if !defined(NOGAMES) && defined(WHICH_GAMES)
+SOMEGAMES=	true
+.endif
+.if exists(${.CURDIR}/games) && !defined(NOGAMES) && defined(SOMEGAMES)
+WHICH_GAMES?=	bcd \
+		caesar \
+		dm \
+		factor \
+		fortune \
+		grdc \
+		morse \
+		number \
+		pig \
+		pom \
+		ppt \
+		primes \
+		random
+.endif
 .if exists(${.CURDIR}/gnu)
 SUBDIR+= gnu
 .endif
@@ -426,7 +446,7 @@
 	@echo "--------------------------------------------------------------"
 	@echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT}
 	@echo "--------------------------------------------------------------"
-	cd ${.CURDIR}; cvs -q update -P -d
+	cd ${.CURDIR}; cvs -q update -P -d -A
 .endif
 
 #
@@ -764,12 +784,22 @@
 # Exclude unused tools from build-tools.
 #
 .if !defined(NOGAMES) && exists(${.CURDIR}/games)
+.if !empty(WHICH_GAMES:Madventure)
 _adventure=	games/adventure
+.endif
+.if !empty(WHICH_GAMES:Mcaesar)
 _caesar=	games/caesar
+.endif
+.if !empty(WHICH_GAMES:Mhack)
 _hack=		games/hack
+.endif
+.if !empty(WHICH_GAMES:Mphantasia)
 _phantasia=	games/phantasia
+.endif
+.if !empty(WHICH_GAMES:Mfortune)
 _strfile=	games/fortune/strfile
 .endif
+.endif
 .if !defined(NOPERL)
 _perl=		gnu/usr.bin/perl/miniperl
 .endif
@@ -871,7 +901,13 @@
 		${MAKE} ${BTMAKEFLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endfor
 .if !defined(NOGAMES) && exists(${.CURDIR}/games)
-	cd ${DESTDIR}/usr/games; cp -p caesar strfile ${DESTDIR}/usr/bin
+	cd ${DESTDIR}/usr/games
+.if !empty(WHICH_GAMES:Mcaesar)
+	cp -p caesar ${DESTDIR}/usr/bin
+.endif
+.if !empty(WHICH_GAMES:Mfortune)
+	cp -p strfile ${DESTDIR}/usr/bin
+.endif
 .endif
 .for d in				\
 		bin/sh			\
Index: games/Makefile
===================================================================
RCS file: /home/ncvs/src/games/Makefile,v
retrieving revision 1.15
diff -u -d -r1.15 Makefile
--- Makefile	1998/08/30 20:58:16	1.15
+++ Makefile	1999/08/26 14:57:52
@@ -2,6 +2,9 @@
 #	$Id: Makefile,v 1.15 1998/08/30 20:58:16 gpalmer Exp $
 
 # XXX missing: chess ching monop [copyright]
+.if defined(WHICH_GAMES)
+SUBDIR=	${WHICH_GAMES}
+.else
 SUBDIR= adventure \
 	arithmetic \
 	atc \
@@ -41,5 +44,6 @@
 	worm \
 	worms \
 	wump
+.endif
 
 .include <bsd.subdir.mk>

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48057.935685029>