Would someone please point me to a simple example of FLAVORS being used to build something in ports to select different targets.
I recently took over games/frotz for which I am also upstream. This package can be built with three different user interfaces with one of them having two sub-variations. There are curses-nosound, curses (uses libao for audio output), dumb (no screen handling at all), and SDL (uses libsdl for graphics and audio). When building straight from source, you simply do "gmake curses", "gmake nosound", "gmake dumb", or "gmake sdl" and you get the interface specified by the parameter supplied to gmake. I can't seem to find any webpage that goes into any more detail than https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/flavors-using.html and this leaves me wondering just how to even start.
Here's what I have so far: targeting noaudio and dumb for starters. I'm leaving out documentation and examples for now until I figure this out. Both the noaudio and dumb targets will build, but when I do "make install" or "make FLAVOR=dumb install", nothing actually gets put into /usr/local/bin.
# Created by: Andrey Zakhvatov # $FreeBSD: head/games/frotz/Makefile 522166 2020-01-05 19:39:46Z tcberner $ PORTNAME= frotz PORTVERSION= 2.50 CATEGORIES= games MAINTAINER= d...@661.org COMMENT= Infocom Z-machine games interpreter LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USE_GITLAB= yes GL_ACCOUNT= DavidGriffith GL_COMMIT= 9867a1f14da1e9c0707492d2ac74d1e8ffdd3a64 USES= gmake FLAVORS= curses dumb FLAVOR?= ${FLAVORS:[1]} curses_PKGNAMESUFFIX= -curses dumb_PKGNAMESUFFIX= -dumb curses_PLIST= bin/frotz\ man/man6/frotz.6.gz dumb_PLIST= bin/dfrotz\ man/man6/dfrotz.6.gz .if ${FLAVOR:U} == curses COMMENT+= (curses interface, no audio) ALL_TARGET= nosound USES+= ncurses .elif ${FLAVOR:U} == dumb COMMENT+= (dumb interface) ALL_TARGET= dumb dumb_PKGNAMEPREFIX= d .endif MAKE_ENV= OPTS="${CFLAGS}" CONFIG_DIR="${PREFIX}/etc" do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PKGNAMEPREFIX}${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_MAN} ${WRKSRC}/doc/${PKGNAMEPREFIX}${PORTNAME}.6 ${STAGEDIR}${MAN6PREFIX}/man/man6/ .include <bsd.port.mk> -- David Griffith d...@661.org A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? _______________________________________________ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"