+# $NetBSD: Makefile,v 1.37 2014/06/14 20:49:37 mrg Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
-PROG= phantasia
-SRCS= main.c fight.c io.c interplayer.c gamesupport.c misc.c phantglobs.c
-DPADD= ${LIBM} ${LIBCURSES} ${LIBTERM} ${LIBCOMPAT}
-LDADD= -lm -lcurses -ltermlib -lcompat
-HIDEGAME=hidegame
-MAN6= phantasia.0
-CLEANFILES+=map setup setup.o
+.include <bsd.own.mk>
-all: setup phantasia ${MAN6}
-
-setup: phantglobs.o setup.o monsters.asc ${LIBM}
- ${CC} phantglobs.o setup.o -o ${.TARGET} -lm
+PROG= phantasia
+SRCS= fight.c gamesupport.c interplayer.c io.c main.c misc.c phantglobs.c
-beforeinstall:
- ./setup -m ${.CURDIR}/monsters.asc
- chown games.bin /var/games/phantasia/*
+DPADD= ${LIBM} ${LIBCURSES} ${LIBTERMINFO}
+LDADD= -lm -lcurses -lterminfo
+HIDEGAME=hidegame
+SETGIDGAME=yes
+USETBL=
+MAN= phantasia.6
+
+FILESDIR=/var/games/phantasia
+FILESOWN=games
+FILESGRP=games
+FILESMODE=0660
+ALLFILES=gold lastdead mess monsters void motd characs scoreboard
+FILES=gold lastdead mess monsters void motd
+# don't overwrite existing characters or scorefile
+.for file in characs scoreboard
+.if !exists(${DESTDIR}${FILESDIR}/${file})
+FILES+=${file}
+.endif
+.endfor
+
+CLEANFILES+=map mkdata setup.lo host_phantglobs.lo ${ALLFILES} files.stamp
+
+realall: ${FILES}
+
+${FILES}: files.stamp
+files.stamp: mkdata monsters.asc
+ ${_MKMSG_CREATE} ${FILES}
+ rm -f ${.TARGET}
+ ./mkdata -m ${.CURDIR}/monsters.asc
+ touch ${.TARGET}
+
+mkdata: host_phantglobs.lo setup.lo ${LIBM}
+ ${_MKTARGET_LINK}
+ ${HOST_LINK.c} -o ${.TARGET} ${.ALLSRC:M*.lo} -lm
+
+BUILDSYMLINKS+= phantglobs.c host_phantglobs.c
+HOST_CPPFLAGS+= -I${.CURDIR}
# Make Phantasia map. Change the map commands reflect your installation.
# PLOTDEVICE is used for plotting the map. Change as appropriate.
${CC} -O ${.CURDIR}/map.c -lplot -o ${.TARGET}
./map | plot > /dev/tty
-phantasia.0: phantasia.6
- tbl ${.CURDIR}/phantasia.6 | nroff -man > ${.TARGET}
-
.include <bsd.prog.mk>
+
+.if defined(HAVE_GCC) && ${MACHINE_ARCH} == "vax"
+COPTS.misc.c+= -O0
+.endif