Index: games/sauerbraten/Makefile
===================================================================
--- games/sauerbraten/Makefile	(revision 378632)
+++ games/sauerbraten/Makefile	(working copy)
@@ -34,33 +34,25 @@ CLIENT_DESC=	Build client
 DEDICATED_DESC=	Build dedicated server
 MASTER_DESC=	Build master server
 
-SUB_FILES=	sauer_client sauer_master sauer_server pkg-message
+SUB_FILES=	pkg-message ${PLIST_FILES:Mbin/*:T}
 
 OPTIONS_DEFINE=	DOCS
 
+CLIENT_USE=		GL=gl SDL=image,mixer XORG=x11
+CLIENT_ALL_TARGET=	client
+CLIENT_PLIST_FILES=	bin/sauer_client libexec/sauer_client
+DEDICATED_ALL_TARGET=	server
+DEDICATED_PLIST_FILES=	bin/sauer_server libexec/sauer_server
+MASTER_ALL_TARGET=	master
+
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MCLIENT}
-USE_GL=		yes
-USE_SDL=	image mixer sdl
-ALL_TARGET+=	client
-SAUER_BIN+=	client
-
 DESKTOP_ENTRIES="Sauerbraten" "${COMMENT}" \
 			"${PREFIX}/share/${PORTNAME}/data/cube.png" "sauer_client" \
 				"Game;" false
 .endif
 
-.if ${PORT_OPTIONS:MDEDICATED}
-ALL_TARGET+=	server
-SAUER_BIN+=	server
-.endif
-
-.if ${PORT_OPTIONS:MMASTER}
-ALL_TARGET+=	master
-SAUER_BIN+=	master
-.endif
-
 post-extract:
 	@${FIND} ${WRKSRC} -type d -name CVS -type d -print0 | \
 		${XARGS} -0 ${RM} -R
@@ -70,19 +62,17 @@ post-patch:
 		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
 
 do-install:
-.for f in ${SAUER_BIN}
-	${INSTALL_SCRIPT} ${WRKDIR}/sauer_${f} ${STAGEDIR}${PREFIX}/bin
-	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/sauer_${f} ${STAGEDIR}${PREFIX}/libexec
+.for f in ${PLIST_FILES:Mbin/*}
+	${INSTALL_SCRIPT} ${WRKDIR}/${f:T} \
+		${STAGEDIR}${PREFIX}/${f}
 .endfor
+.for f in ${PLIST_FILES:Mlibexec/*}
+	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${f:T} \
+		${STAGEDIR}${PREFIX}/${f:H}
+.endfor
 	${MKDIR} ${STAGEDIR}${DATADIR}
 	cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA}" ${STAGEDIR}${DATADIR}
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
 	cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
 
-post-install:
-.for f in ${SAUER_BIN}
-	@${ECHO_CMD} bin/sauer_${f} >> ${TMPPLIST}
-	@${ECHO_CMD} libexec/sauer_${f} >> ${TMPPLIST}
-.endfor
-
 .include <bsd.port.mk>