diff -ru rogue.orig/Makefile rogue/Makefile
--- rogue.orig/Makefile	Wed Dec  9 15:06:16 1992
+++ rogue/Makefile	Tue Nov 13 22:17:04 2001
@@ -10,10 +10,11 @@
 # -DCURSES enables a self-contained curses emulation package.  See notes
 # in curses.c for more info.
 
-CFLAGS = -c -DUNIX -DUNIX_SYS5 -DCURSES
+CFLAGS = -c -DUNIX -DUNIX_SYS5
+ROOTCMD = sudo
 
 rogue: $(ROGUE_OBJS)
-	$(CC) $(ROGUE_OBJS) -o rogue
+	$(CC) $(ROGUE_OBJS) -o rogue -lcurses
 
 curses.o: curses.c rogue.h
 	$(CC) $(CFLAGS) curses.c
@@ -86,3 +87,20 @@
 
 zap.o: zap.c rogue.h
 	$(CC) $(CFLAGS) zap.c
+
+install: rogue
+	$(ROOTCMD) install -o root -g games -m 2751 rogue /usr/games
+	test -d /var/games/rogue || $(ROOTCMD) mkdir /var/games/rogue
+	$(ROOTCMD) chown root.games /var/games/rogue
+	$(ROOTCMD) chmod 2775 /var/games/rogue
+	$(ROOTCMD) install -o root -g games -m 660 usr/games/rogue.scores /var/games/rogue
+	test -d /usr/lib/games/rogue || $(ROOTCMD) mkdir /usr/lib/games/rogue
+	$(ROOTCMD) chmod 755 /usr/lib/games/rogue
+	$(ROOTCMD) install -m 644 usr/games/rogue.instr /usr/lib/games/rogue
+	ls -la /usr/games/rogue /var/games/rogue /usr/lib/games/rogue
+
+clean: objclean
+	rm -f rogue
+
+objclean:
+	rm -f *.o
Only in rogue: curses.o
Only in rogue: extern.log
Only in rogue: hit.o
Only in rogue: init.o
diff -ru rogue.orig/instruct.c rogue/instruct.c
--- rogue.orig/instruct.c	Sun Sep 27 08:25:36 1992
+++ rogue/instruct.c	Tue Nov 13 21:55:49 2001
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <stdio.h>
 
-static char *instructions="/usr/games/rogue.instr";
+static char *instructions=INSTRUCTIONS_PATH;
 
 void Instructions()
 {
Only in rogue: instruct.o
Only in rogue: inventory.o
Only in rogue: level.o
diff -ru rogue.orig/machdep.c rogue/machdep.c
--- rogue.orig/machdep.c	Mon Sep 28 15:10:32 1992
+++ rogue/machdep.c	Tue Nov 13 21:17:08 2001
@@ -57,6 +57,7 @@
 #include <sys/file.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <time.h>
 #include <sys/time.h>
 #include <signal.h>
 #include "rogue.h"
@@ -163,6 +164,22 @@
 #endif
 }
 
+
+void md_onintr(int x)
+{
+	onintr();
+}
+
+void md_byebye(int x)
+{
+	byebye();
+}
+
+void md_error_save(int x)
+{
+	error_save();
+}
+
 /* md_heed_signals():
  *
  * This routine tells the program to call particular routines when
@@ -181,11 +198,12 @@
 
 md_heed_signals()
 {
-	signal(SIGINT, onintr);
-	signal(SIGQUIT, byebye);
-	signal(SIGHUP, error_save);
+	signal(SIGINT, md_onintr);
+	signal(SIGQUIT, md_byebye);
+	signal(SIGHUP, md_error_save);
 }
 
+
 /* md_ignore_signals():
  *
  * This routine tells the program to completely ignore the events mentioned
@@ -265,12 +283,12 @@
 struct rogue_time *rt_buf;
 {
 	struct timeval tv;
-	struct timezone tzp;
+	/*struct timezone tzp;*/
 	struct tm *t;
-	long seconds;
+	time_t seconds;
 
-	gettimeofday(&tv, &tzp);
-	seconds = (long) tv.tv_sec;
+	gettimeofday(&tv, NULL/*&tzp*/);
+	seconds = (time_t) tv.tv_sec;
 	t = localtime(&seconds);
 
 	rt_buf->year = t->tm_year;
Only in rogue: machdep.o
Only in rogue: main.o
Only in rogue: message.o
Only in rogue: monster.o
Only in rogue: move.o
Only in rogue: object.o
Only in rogue: pack.o
Only in rogue: play.o
Only in rogue: random.o
Only in rogue: ring.o
Only in rogue: rogue
diff -ru rogue.orig/rogue.h rogue/rogue.h
--- rogue.orig/rogue.h	Wed Dec  9 15:32:02 1992
+++ rogue/rogue.h	Tue Nov 13 21:57:34 2001
@@ -10,6 +10,9 @@
  *
  */
 
+#define INSTRUCTIONS_PATH	"/usr/lib/games/rogue/rogue.instr"
+#define SCORES_PATH		"/var/games/rogue/rogue.scores"
+
 #define boolean char
 
 #define NOTHING		((unsigned short)     0)
@@ -421,7 +424,7 @@
 	short second;	/* 0 - 59 */
 };
 
-#ifdef CURSES
+#ifdef INTERNAL_CURSES
 struct _win_st {
 	short _cury, _curx;
 	short _maxy, _maxx;
@@ -435,4 +438,4 @@
 
 char *md_gdtcf();
 
-#endif CURSES
+#endif INTERNAL_CURSES
Only in rogue: room.o
Only in rogue: save.o
diff -ru rogue.orig/score.c rogue/score.c
--- rogue.orig/score.c	Mon Sep 28 14:29:04 1992
+++ rogue/score.c	Tue Nov 13 21:56:52 2001
@@ -16,7 +16,7 @@
 #include <stdio.h>
 #include "rogue.h"
 
-char *score_file = "/usr/games/rogue.scores";
+char *score_file = SCORES_PATH;
 
 extern char login_name[];
 extern char *m_names[];
Only in rogue: score.o
Only in rogue: spec_hit.o
Only in rogue: throw.o
Only in rogue: trap.o
Only in rogue: use.o
Only in rogue: zap.o
