Bug 13398

Summary: Add WHICH_GAMES variable to src/Makefile.inc1
Product: Base System Reporter: Sheldon Hearn <sheldonh>
Component: miscAssignee: Sheldon Hearn <sheldonh>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Sheldon Hearn 1999-08-26 17:40:01 UTC
	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.

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.
How-To-Repeat: 
	N/A
Comment 1 cpiazza freebsd_committer freebsd_triage 1999-08-27 04:40:07 UTC
Responsible Changed
From-To: freebsd-ports->freebsd-bugs

Misfiled PR 

Comment 2 Sheldon Hearn 1999-08-30 10:11:14 UTC
I have a new proposed diff, including 3 changes from the original:

1) SOMEGAMES upset some people and I've been made to see that it isn't
   necessary.

2) A local hack for cvs slipped into my diff.

3) I buggered the special-case handling for strfile and fortune.

I'll commit this in a few days if I don't get any more suggestions.

Ciao,
Sheldon.

Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.83
diff -u -d -r1.83 Makefile.inc1
--- Makefile.inc1	1999/08/30 08:33:15	1.83
+++ Makefile.inc1	1999/08/30 09:06:45
@@ -16,6 +16,7 @@
 #	-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:
@@ -756,12 +757,22 @@
 # Exclude unused tools from build-tools.
 #
 .if !defined(NOGAMES) && exists(${.CURDIR}/games)
+.if defined(WHICH_GAMES) && !empty(WHICH_GAMES:Madventure)
 _adventure=	games/adventure
+.endif
+.if defined(WHICH_GAMES) && !empty(WHICH_GAMES:Mcaesar)
 _caesar=	games/caesar
+.endif
+.if defined(WHICH_GAMES) && !empty(WHICH_GAMES:Mhack)
 _hack=		games/hack
+.endif
+.if defined(WHICH_GAMES) && !empty(WHICH_GAMES:Mphantasia)
 _phantasia=	games/phantasia
+.endif
+.if defined(WHICH_GAMES) && !empty(WHICH_GAMES:Mfortune)
 _strfile=	games/fortune/strfile
 .endif
+.endif
 .if !defined(NOPERL)
 _perl=		gnu/usr.bin/perl/miniperl
 .endif
@@ -863,7 +874,12 @@
 		${MAKE} ${BTMAKEFLAGS} -B install ${CLEANDIR} ${OBJDIR}
 .endfor
 .if !defined(NOGAMES) && exists(${.CURDIR}/games)
-	cd ${DESTDIR}/usr/games; cp -p caesar strfile ${DESTDIR}/usr/bin
+.if defined(WHICH_GAMES && !empty(WHICH_GAMES:Mcaesar)
+	cd ${DESTDIR}/usr/games && cp -p caesar ${DESTDIR}/usr/bin
+.endif
+.if defined(WHICH_GAMES && !empty(WHICH_GAMES:Mfortune)
+	cd ${DESTDIR}/usr/games && 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.16
diff -u -d -r1.16 Makefile
--- Makefile	1999/08/27 23:28:45	1.16
+++ Makefile	1999/08/30 09:06:45
@@ -2,6 +2,9 @@
 # $FreeBSD: src/games/Makefile,v 1.16 1999/08/27 23:28:45 peter 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>
Comment 3 Sheldon Hearn freebsd_committer freebsd_triage 1999-10-01 13:28:36 UTC
Responsible Changed
From-To: freebsd-bugs->sheldonh

I've been using WHICH_GAMES quite happily for a while now. I'll commit 
next week unless someone pisses on my parade over the week-end. ;-) 
Comment 4 Sheldon Hearn freebsd_committer freebsd_triage 1999-12-03 14:33:12 UTC
State Changed
From-To: open->closed

Bruce Evans complained about non-optimal handling of build tools. 
Since I couldn't figure out what he was talking about, I've kinda 
lost interest.  Bit of a silly idea anyways. :-)