annotate srogue/Makefile.in @ 111:7f8f43943b1f

Fix some terribly depressing corruption during restore. In rogue5/state.c, rs_read_daemons() zeroes out the argument and delay if the daemon slot is empty. Unfortunately that code ended up on the wrong side of the brace that closes the for loop, so instead of running after each daemon, it got run once after the loop exited, when the index was of course out of bounds. This tended to manifest, when compiled with -O2, by overwriting hw and setting it to NULL. When inventory() next ran, hw would be passed to wgetch(), which returns ERR when it gets a NULL argument. This made md_readchar() think something was wrong and autosave the game. Upon investigation, rogue3 was found to commit the same mistake. rogue4 and srogue don't zero the data. arogue5 already does it properly. Someday I am going to run all this through Valgrind. Someday when I am a kinder person who will not be driven to invoke hordes of trolls and centaurs upon the original authors.
author John "Elwin" Edwards
date Wed, 08 Jan 2014 16:44:16 -0500
parents fbc75509f4cd
children 97f8fdf9595c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
1 # Makefile for rogue
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
2 # %W% (Berkeley) %G%
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
3 #
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
4 # Super-Rogue
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
5 # Copyright (C) 1984 Robert D. Kindelberger
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
6 # All rights reserved.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
7 #
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
8 # Based on "Rogue: Exploring the Dungeons of Doom"
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
9 # Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
10 # All rights reserved.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
11 #
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
12 # See the file LICENSE.TXT for full copyright and licensing information.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
13
102
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
14 DISTNAME=@PACKAGE_TARNAME@@PACKAGE_VERSION@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
15 PACKAGE_TARNAME=@PACKAGE_TARNAME@-@PACKAGE_VERSION@
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
16 PROGRAM=@PROGRAM@
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
17
102
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
18 SCOREFILE=@SCOREFILE@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
19 LOGFILE=@LOGFILE@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
20 SAVEDIR=@SAVEDIR@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
21 GROUPOWNER=@GROUPOWNER@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
22
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
23 DESTDIR=
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
24 prefix=@prefix@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
25 exec_prefix=@exec_prefix@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
26 datarootdir=@datarootdir@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
27 bindir=@bindir@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
28 docdir=@docdir@
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
29
104
fbc75509f4cd Add config.h to the list of headers in the Makefiles.
John "Elwin" Edwards
parents: 102
diff changeset
30 HDRS= bob.h cx.h ncx.h rdk.h rogue.h config.h
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
31 OBJS= vers.o armor.o chase.o command.o daemon.o daemons.o disply.o encumb.o \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
32 fight.o global.o init.o io.o list.o main.o mdport.o misc.o monsters.o \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
33 move.o new_leve.o options.o pack.o passages.o potions.o pstats.o \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
34 rings.o rip.o rooms.o save.o scrolls.o state.o sticks.o things.o \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
35 trader.o weapons.o wizard.o xcrypt.o
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
36 CFILES= vers.c armor.c chase.c command.c daemon.c daemons.c disply.c encumb.c \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
37 fight.c global.c init.c io.c list.c main.c mdport.c misc.c monsters.c \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
38 move.c new_leve.c options.c pack.c passages.c potions.c pstats.c \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
39 rings.c rip.c rooms.c save.c scrolls.c state.c sticks.c things.c \
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
40 trader.c weapons.c wizard.c xcrypt.c
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
41
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
42 MISC= Makefile LICENSE.TXT rogue.nr
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
43
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
44 CC = gcc
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
45 CFLAGS= -g
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
46 CPPFLAGS=@DEFS@
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
47 CRLIB = -lcurses
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
48 RM = rm -f
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
49 TAR = tar
102
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
50 INSTALL=@INSTALL@
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
51
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
52 $(PROGRAM): $(HDRS) $(OBJS)
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
53 $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(CRLIB) -o $@
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
54
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
55 tags: $(HDRS) $(CFILES)
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
56 ctags -u $?
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
57 ed - tags < :ctfix
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
58 sort tags -o tags
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
59
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
60 lint:
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
61 lint -hxbc $(CFILES) $(CRLIB) > linterrs
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
62
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
63 clean:
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
64 rm -f $(OBJS) core
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
65 rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM) $(PROGRAM).exe $(PROGRAM).tar $(PROGRAM).tar.gz $(PROGRAM).doc
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
66
102
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
67 install: $(PROGRAM)
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
68 -touch test
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
69 -if test ! -f $(DESTDIR)$(SCOREFILE) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
70 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
71 -if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
72 $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
73 -if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
74 mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
75 -$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
76 -if test "x$(GROUPOWNER)" != "x" ; then \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
77 chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
78 chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
79 chgrp $(GROUPOWNER) $(DESTDIR)$(bindir)/$(PROGRAM) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
80 chgrp $(GROUPOWNER) $(DESTDIR)$(SAVEDIR) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
81 chmod 02755 $(DESTDIR)$(bindir)/$(PROGRAM) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
82 chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
83 chmod 0464 $(DESTDIR)$(LOGFILE) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
84 chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
85 fi
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
86 -if test ! -d $(DESTDIR)$(docdir) ; \
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
87 then mkdir -p $(DESTDIR)$(docdir) ; fi
1906d183f1f5 srogue: add install and uninstall targets to Makefile
John "Elwin" Edwards
parents: 101
diff changeset
88 -$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT