1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:17:44 +00:00

Ports: Add nethack

This commit is contained in:
Gunnar Beutner 2021-04-11 23:15:42 +02:00 committed by Andreas Kling
parent 5a4206ef2e
commit 509c5c6577
7 changed files with 452 additions and 0 deletions

View file

@ -72,6 +72,7 @@ Please make sure to keep this list up to date when adding and updating ports. :^
| [`ncurses`](ncurses/) | ncurses | 6.2 | https://invisible-island.net/ncurses/announce.html |
| [`neofetch`](neofetch/) | neofetch | 7.1.0 | https://github.com/dylanaraps/neofetch |
| [`nesalizer`](nesalizer/) | Nesalizer | | https://github.com/SerenityOS/nesalizer |
| [`nethack`](nethack/) | nethack | 3.6.6 | https://www.nethack.org/ |
| [`ninja`](ninja/) | Ninja | 1.8.2 | https://ninja-build.org/ |
| [`npth`](npth/) | New GNU Portable Threads Library | 1.6 | https://gnupg.org/software/npth/index.html |
| [`ntbtls`](ntbtls/) | The Not Too Bad TLS Library | 0.2.0 | https://gnupg.org/software/ntbtls/index.html |

24
Ports/nethack/package.sh Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=nethack
version=3.6.6
workdir=NetHack-NetHack-${version}_Released
files="https://www.nethack.org/download/${version}/nethack-${version//.}-src.tgz nethack-${version//.}-src.tgz"
depends="ncurses bash"
build() {
run sys/unix/setup.sh sys/unix/hints/serenity
if [ ! -f ${workdir}/util/makedefs.host ]; then
host_env
run make -C util makedefs $makeopts
run cp util/makedefs util/makedefs.host
run make -C util dgn_comp $makeopts
run cp util/dgn_comp util/dgn_comp.host
run make -C util lev_comp $makeopts
run cp util/lev_comp util/lev_comp.host
run make -C util dlb $makeopts
run cp util/dlb util/dlb.host
target_env
run make clean
fi
run make $makeopts
}

View file

@ -0,0 +1,14 @@
diff -Naur NetHack-NetHack-3.6.6_Released/include/unixconf.h NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h
--- NetHack-NetHack-3.6.6_Released/include/unixconf.h 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h 2021-04-11 21:54:47.295254864 +0200
@@ -246,8 +246,10 @@
* Comment out the USE_FCNTL if for some reason you have a strange
* OS/filesystem combination for which fcntl(2) does not work. */
#ifdef POSIX_TYPES
+#ifndef __serenity__
#define USE_FCNTL
#endif
+#endif
/*
* The remainder of the file should not need to be changed.

View file

@ -0,0 +1,165 @@
diff -Naur NetHack-NetHack-3.6.6_Released/include/decl.h NetHack-NetHack-3.6.6_Released.serenity/include/decl.h
--- NetHack-NetHack-3.6.6_Released/include/decl.h 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/include/decl.h 2021-04-11 22:49:31.732927985 +0200
@@ -411,7 +411,7 @@
xchar spovartyp; /* one of SPOVAR_foo */
union {
char *str;
- long l;
+ int32_t l;
} vardata;
};
diff -Naur NetHack-NetHack-3.6.6_Released/src/rumors.c NetHack-NetHack-3.6.6_Released.serenity/src/rumors.c
--- NetHack-NetHack-3.6.6_Released/src/rumors.c 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/src/rumors.c 2021-04-11 22:54:52.239553162 +0200
@@ -54,7 +54,7 @@
/* oracles are handled differently from rumors... */
static int oracle_flg = 0; /* -1=>don't use, 0=>need init, 1=>init done */
static unsigned oracle_cnt = 0;
-static unsigned long *oracle_loc = 0;
+static uint32_t *oracle_loc = 0;
STATIC_OVL void
init_rumors(fp)
@@ -384,7 +384,7 @@
(void) dlb_fgets(line, sizeof line, fp);
if (sscanf(line, "%5d\n", &cnt) == 1 && cnt > 0) {
oracle_cnt = (unsigned) cnt;
- oracle_loc = (unsigned long *) alloc((unsigned) cnt * sizeof(long));
+ oracle_loc = (uint32_t *) alloc((unsigned) cnt * sizeof(uint32_t));
for (i = 0; i < cnt; i++) {
(void) dlb_fgets(line, sizeof line, fp);
(void) sscanf(line, "%5lx\n", &oracle_loc[i]);
@@ -401,7 +401,7 @@
bwrite(fd, (genericptr_t) &oracle_cnt, sizeof oracle_cnt);
if (oracle_cnt)
bwrite(fd, (genericptr_t) oracle_loc,
- oracle_cnt * sizeof(long));
+ oracle_cnt * sizeof(uint32_t));
}
if (release_data(mode)) {
if (oracle_cnt) {
@@ -417,8 +417,8 @@
{
mread(fd, (genericptr_t) &oracle_cnt, sizeof oracle_cnt);
if (oracle_cnt) {
- oracle_loc = (unsigned long *) alloc(oracle_cnt * sizeof(long));
- mread(fd, (genericptr_t) oracle_loc, oracle_cnt * sizeof(long));
+ oracle_loc = (uint32_t *) alloc(oracle_cnt * sizeof(uint32_t));
+ mread(fd, (genericptr_t) oracle_loc, oracle_cnt * sizeof(uint32_t));
oracle_flg = 1; /* no need to call init_oracles() */
}
}
@@ -452,7 +452,7 @@
if (oracle_cnt <= 1 && !special)
goto close_oracles; /*(shouldn't happen)*/
oracle_idx = special ? 0 : rnd((int) oracle_cnt - 1);
- (void) dlb_fseek(oracles, (long) oracle_loc[oracle_idx], SEEK_SET);
+ (void) dlb_fseek(oracles, (int32_t) oracle_loc[oracle_idx], SEEK_SET);
if (!special) /* move offset of very last one into this slot */
oracle_loc[oracle_idx] = oracle_loc[--oracle_cnt];
diff -Naur NetHack-NetHack-3.6.6_Released/util/makedefs.c NetHack-NetHack-3.6.6_Released.serenity/util/makedefs.c
--- NetHack-NetHack-3.6.6_Released/util/makedefs.c 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/util/makedefs.c 2021-04-11 22:52:12.216276961 +0200
@@ -2626,7 +2626,7 @@
{
int i, j;
long count = 0L, hdr_offset = sizeof(int)
- + (sizeof(char) * LEN_HDR + sizeof(long))
+ + (sizeof(char) * LEN_HDR + sizeof(int32_t))
* qt_hdr.n_hdr;
for (i = 0; i < qt_hdr.n_hdr; i++) {
@@ -2656,7 +2656,7 @@
(void) fwrite((genericptr_t) & (qt_hdr.n_hdr), sizeof(int), 1, ofp);
(void) fwrite((genericptr_t) & (qt_hdr.id[0][0]), sizeof(char) * LEN_HDR,
qt_hdr.n_hdr, ofp);
- (void) fwrite((genericptr_t) & (qt_hdr.offset[0]), sizeof(long),
+ (void) fwrite((genericptr_t) & (qt_hdr.offset[0]), sizeof(int32_t),
qt_hdr.n_hdr, ofp);
if (debug) {
for (i = 0; i < qt_hdr.n_hdr; i++)
diff -Naur NetHack-NetHack-3.6.6_Released/include/qtext.h NetHack-NetHack-3.6.6_Released.serenity/include/qtext.h
--- NetHack-NetHack-3.6.6_Released/include/qtext.h 2021-04-11 23:02:18.288478651 +0200
+++ NetHack-NetHack-3.6.6_Released.serenity/include/qtext.h 2021-04-11 23:02:34.328795871 +0200
@@ -12,7 +12,7 @@
struct qtmsg {
int msgnum;
char delivery;
- long offset, size, summary_size;
+ int32_t offset, size, summary_size;
};
#ifdef MAKEDEFS_C /***** MAKEDEFS *****/
@@ -27,7 +27,7 @@
struct qthdr {
int n_hdr;
char id[N_HDR][LEN_HDR];
- long offset[N_HDR];
+ int32_t offset[N_HDR];
};
/* Error message macros */
diff -Naur NetHack-NetHack-3.6.6_Released/src/region.c NetHack-NetHack-3.6.6_Released.serenity/src/region.c
--- NetHack-NetHack-3.6.6_Released/src/region.c 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/src/region.c 2021-04-11 22:57:14.059084358 +0200
@@ -663,7 +663,7 @@
bwrite(fd, (genericptr_t) &n, sizeof n);
if (n > 0)
bwrite(fd, (genericptr_t) regions[i]->leave_msg, n);
- bwrite(fd, (genericptr_t) &regions[i]->ttl, sizeof(long));
+ bwrite(fd, (genericptr_t) &regions[i]->ttl, sizeof(int32_t));
bwrite(fd, (genericptr_t) &regions[i]->expire_f, sizeof(short));
bwrite(fd, (genericptr_t) &regions[i]->can_enter_f, sizeof(short));
bwrite(fd, (genericptr_t) &regions[i]->enter_f, sizeof(short));
@@ -693,7 +693,7 @@
{
int i, j;
unsigned n;
- long tmstamp;
+ int32_t tmstamp;
char *msg_buf;
clear_regions(); /* Just for security */
@@ -737,7 +737,7 @@
} else
regions[i]->leave_msg = (const char *) 0;
- mread(fd, (genericptr_t) &regions[i]->ttl, sizeof(long));
+ mread(fd, (genericptr_t) &regions[i]->ttl, sizeof(int32_t));
/* check for expired region */
if (regions[i]->ttl >= 0L)
regions[i]->ttl =
diff -Naur NetHack-NetHack-3.6.6_Released/include/global.h NetHack-NetHack-3.6.6_Released.serenity/include/global.h
--- NetHack-NetHack-3.6.6_Released/include/global.h 2021-04-11 22:32:59.310062482 +0200
+++ NetHack-NetHack-3.6.6_Released.serenity/include/global.h 2021-04-11 22:32:31.736197272 +0200
@@ -293,11 +293,11 @@
/* Used for consistency checks of various data files; declare it here so
that utility programs which include config.h but not hack.h can see it. */
struct version_info {
- unsigned long incarnation; /* actual version number */
- unsigned long feature_set; /* bitmask of config settings */
- unsigned long entity_count; /* # of monsters and objects */
- unsigned long struct_sizes1; /* size of key structs */
- unsigned long struct_sizes2; /* size of more key structs */
+ uint32_t incarnation; /* actual version number */
+ uint32_t feature_set; /* bitmask of config settings */
+ uint32_t entity_count; /* # of monsters and objects */
+ uint32_t struct_sizes1; /* size of key structs */
+ uint32_t struct_sizes2; /* size of more key structs */
};
struct savefile_info {
diff -Naur NetHack-NetHack-3.6.6_Released/include/unixconf.h NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h
--- NetHack-NetHack-3.6.6_Released/include/unixconf.h 2021-04-11 22:32:31.719530283 +0200
+++ NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h 2021-04-11 22:33:55.461144660 +0200
@@ -323,6 +323,7 @@
#if defined(POSIX_TYPES) || defined(__GNUC__)
#include <stdlib.h>
+#include <stdint.h>
#include <unistd.h>
#endif

View file

@ -0,0 +1,157 @@
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top 2021-04-11 19:43:41.471996943 +0200
@@ -188,7 +188,7 @@
dlb:
( cd util ; $(MAKE) dlb )
- ( cd dat ; LC_ALL=C ; ../util/dlb cf nhdat $(DATDLB) )
+ ( cd dat ; LC_ALL=C ; ../util/dlb.host cf nhdat $(DATDLB) )
# recover can be used when INSURANCE is defined in include/config.h
# and the checkpoint option is true
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat 2021-04-11 19:39:50.410956379 +0200
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat 2021-04-11 19:41:47.699843567 +0200
@@ -129,36 +129,36 @@
spec_levs: ../util/lev_comp \
bigroom.des castle.des endgame.des gehennom.des knox.des medusa.des \
mines.des oracle.des sokoban.des tower.des yendor.des
- ../util/lev_comp bigroom.des
- ../util/lev_comp castle.des
- ../util/lev_comp endgame.des
- ../util/lev_comp gehennom.des
- ../util/lev_comp knox.des
- ../util/lev_comp medusa.des
- ../util/lev_comp mines.des
- ../util/lev_comp oracle.des
- ../util/lev_comp sokoban.des
- ../util/lev_comp tower.des
- ../util/lev_comp yendor.des
+ ../util/lev_comp.host bigroom.des
+ ../util/lev_comp.host castle.des
+ ../util/lev_comp.host endgame.des
+ ../util/lev_comp.host gehennom.des
+ ../util/lev_comp.host knox.des
+ ../util/lev_comp.host medusa.des
+ ../util/lev_comp.host mines.des
+ ../util/lev_comp.host oracle.des
+ ../util/lev_comp.host sokoban.des
+ ../util/lev_comp.host tower.des
+ ../util/lev_comp.host yendor.des
touch spec_levs
quest_levs: ../util/lev_comp \
Arch.des Barb.des Caveman.des Healer.des Knight.des Monk.des \
Priest.des Ranger.des Rogue.des Samurai.des Tourist.des Valkyrie.des \
Wizard.des
- ../util/lev_comp Arch.des
- ../util/lev_comp Barb.des
- ../util/lev_comp Caveman.des
- ../util/lev_comp Healer.des
- ../util/lev_comp Knight.des
- ../util/lev_comp Monk.des
- ../util/lev_comp Priest.des
- ../util/lev_comp Ranger.des
- ../util/lev_comp Rogue.des
- ../util/lev_comp Samurai.des
- ../util/lev_comp Tourist.des
- ../util/lev_comp Valkyrie.des
- ../util/lev_comp Wizard.des
+ ../util/lev_comp.host Arch.des
+ ../util/lev_comp.host Barb.des
+ ../util/lev_comp.host Caveman.des
+ ../util/lev_comp.host Healer.des
+ ../util/lev_comp.host Knight.des
+ ../util/lev_comp.host Monk.des
+ ../util/lev_comp.host Priest.des
+ ../util/lev_comp.host Ranger.des
+ ../util/lev_comp.host Rogue.des
+ ../util/lev_comp.host Samurai.des
+ ../util/lev_comp.host Tourist.des
+ ../util/lev_comp.host Valkyrie.des
+ ../util/lev_comp.host Wizard.des
touch quest_levs
dungeon: dungeon.def ../util/makedefs ../util/dgn_comp
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.utl NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.utl
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.utl 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.utl 2021-04-11 19:19:59.714969159 +0200
@@ -239,11 +239,11 @@
perl mdgrep.pl
../include/onames.h: makedefs
- ./makedefs -o
+ ./makedefs.host -o
../include/pm.h: makedefs
- ./makedefs -p
+ ./makedefs.host -p
../include/vis_tab.h: makedefs
- ./makedefs -z
+ ./makedefs.host -z
# makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
../src/vis_tab.c: ../include/vis_tab.h
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat 2021-04-11 19:32:23.365816407 +0200
@@ -101,29 +101,29 @@
data: data.base ../util/makedefs
- ../util/makedefs -d
+ ../util/makedefs.host -d
rumors: rumors.tru rumors.fal ../util/makedefs
- ../util/makedefs -r
+ ../util/makedefs.host -r
quest.dat: quest.txt ../util/makedefs
- ../util/makedefs -q
+ ../util/makedefs.host -q
oracles: oracles.txt ../util/makedefs
- ../util/makedefs -h
+ ../util/makedefs.host -h
engrave: engrave.txt ../util/makedefs
- ../util/makedefs -s
+ ../util/makedefs.host -s
epitaph: epitaph.txt ../util/makedefs
- ../util/makedefs -s
+ ../util/makedefs.host -s
bogusmon: bogusmon.txt ../util/makedefs
- ../util/makedefs -s
+ ../util/makedefs.host -s
# note: 'options' should have already been made when include/date.h was created
options: ../util/makedefs
- ../util/makedefs -v
+ ../util/makedefs.host -v
spec_levs: ../util/lev_comp \
@@ -162,7 +162,7 @@
touch quest_levs
dungeon: dungeon.def ../util/makedefs ../util/dgn_comp
- ../util/makedefs -e
+ ../util/makedefs.host -e
- ../util/dgn_comp dungeon.pdf
+ ../util/dgn_comp.host dungeon.pdf
# gitinfo.txt is optionally made by src/Makefile when creating date.h
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.src NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.src
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.src 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.src 2021-04-11 19:32:32.012647179 +0200
@@ -670,7 +670,7 @@
# up to date before being executed
../include/date.h: $(VERSOURCES) $(HACK_H)
-$(SHELL) ../sys/unix/gitinfo.sh $(GITINFO) #before 'makedefs -v'
- ../util/makedefs -v
+ ../util/makedefs.host -v
lint:

View file

@ -0,0 +1,33 @@
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/nethack.sh NetHack-NetHack-3.6.6_Released.serenity/sys/unix/nethack.sh
--- NetHack-NetHack-3.6.6_Released/sys/unix/nethack.sh 2020-03-08 18:29:31.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/nethack.sh 2021-04-11 21:58:43.846512264 +0200
@@ -1,11 +1,11 @@
-#!/bin/sh
+#!/bin/bash
# NetHack 3.6 nethack.sh $NHDT-Date: 1552425075 2019/03/12 21:11:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.20 $
# Copyright (c) 2015 by Kenneth Lorber, Kensington, Maryland
# NetHack may be freely redistributed. See license for details.
-HACKDIR=/usr/games/lib/nethackdir
+HACKDIR=/var/games/nethack/
export HACKDIR
-HACK=$HACKDIR/nethack
+HACK=/usr/lib/nethack/nethack
# Since Nethack.ad is installed in HACKDIR, add it to XUSERFILESEARCHPATH
case "x$XUSERFILESEARCHPATH" in
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top
--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top 2021-04-11 22:16:46.240897370 +0200
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top 2021-04-11 22:19:45.264521466 +0200
@@ -223,9 +223,9 @@
chmod $(EXEPERM) $(SHELLDIR)/$(GAME); fi
dofiles-dlb: check-dlb
- ( cd dat ; cp nhdat $(DATNODLB) $(INSTDIR) )
+ ( cd dat ; cp nhdat $(DATNODLB) $(VARDIR) )
# set up their permissions
- -( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
+ -( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
chmod $(FILEPERM) nhdat $(DATNODLB) )

View file

@ -0,0 +1,58 @@
diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/hints/serenity NetHack-NetHack-3.6.6_Released.serenity/sys/unix/hints/serenity
--- NetHack-NetHack-3.6.6_Released/sys/unix/hints/serenity 1970-01-01 01:00:00.000000000 +0100
+++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/hints/serenity 2021-04-11 19:08:45.051777994 +0200
@@ -0,0 +1,54 @@
+#
+# NetHack 3.6 linux $NHDT-Date: 1432512814 2015/05/25 00:13:34 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
+# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
+# NetHack may be freely redistributed. See license for details.
+#
+#-PRE
+# SerenityOS hints file
+# This hints file provides a single-user tty build for SerenityOS
+
+
+#PREFIX=/usr
+PREFIX=/usr
+HACKDIR=/var/games/nethack
+SHELLDIR = $(SERENITY_BUILD_DIR)/Root/usr/bin
+INSTDIR=$(SERENITY_BUILD_DIR)/Root/usr/lib/nethack
+VARDIR = $(SERENITY_BUILD_DIR)/Root$(HACKDIR)
+
+
+
+POSTINSTALL=cp -n sys/unix/sysconf $(VARDIR)/sysconf; $(CHOWN) $(GAMEUID) $(VARDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(VARDIR)/sysconf; chmod $(VARFILEPERM) $(VARDIR)/sysconf;
+
+CFLAGS=-g -O -I$(SERENITY_BUILD_DIR)/Root/usr/local/include/ncurses -I../include -DNOTPARMDECL
+CFLAGS+=-DDLB
+CFLAGS+=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
+CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
+CFLAGS+=-DTIMED_DELAY
+CFLAGS+=-DHACKDIR=\"$(HACKDIR)\"
+CFLAGS+=-DDUMPLOG
+CFLAGS+=-DCONFIG_ERROR_SECURE=FALSE
+CFLAGS+=-DCURSES_GRAPHICS
+#CFLAGS+=-DEXTRA_SANITY_CHECKS
+#CFLAGS+=-DEDIT_GETLIN
+#CFLAGS+=-DSCORE_ON_BOTL
+#CFLAGS+=-DMSGHANDLER
+#CFLAGS+=-DTTY_TILES_ESCCODES
+
+LINK=$(CC) -lregex
+
+WINSRC = $(WINTTYSRC) $(WINCURSESSRC)
+WINOBJ = $(WINTTYOBJ) $(WINCURSESOBJ)
+WINLIB = $(WINTTYLIB) $(WINCURSESLIB)
+
+# if TTY_TILES_ESCCODES
+#WINSRC += tile.c
+#WINOBJ += tile.o
+
+WINTTYLIB=-lncurses -ltinfo
+
+CHOWN=true
+CHGRP=true
+
+VARDIRPERM = 0755
+VARFILEPERM = 0600
+GAMEPERM = 0755