The choice between troff implementations is now made at configure time, rather than using shell logic in the Makefile to choose while building.
239 lines
7.3 KiB
Makefile
239 lines
7.3 KiB
Makefile
#
|
|
# Makefile for rogue
|
|
# %W% (Berkeley) %G%
|
|
#
|
|
# Rogue: Exploring the Dungeons of Doom
|
|
# Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
|
|
# All rights reserved.
|
|
#
|
|
# See the file LICENSE.TXT for full copyright and licensing information.
|
|
#
|
|
|
|
DISTNAME=@PACKAGE_TARNAME@-@PACKAGE_VERSION@
|
|
PACKAGE_TARNAME=@PACKAGE_TARNAME@
|
|
PROGRAM=@PROGRAM@
|
|
|
|
SCOREFILE=@SCOREFILE@
|
|
LOGFILE=@LOGFILE@
|
|
SAVEDIR=@SAVEDIR@
|
|
GROUPOWNER=@GROUPOWNER@
|
|
|
|
DESTDIR=
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
datarootdir=@datarootdir@
|
|
bindir=@bindir@
|
|
mandir=@mandir@
|
|
man6dir=$(mandir)/man6
|
|
docdir=@docdir@
|
|
|
|
|
|
O=o
|
|
|
|
HDRS= rogue.h machdep.h config.h
|
|
|
|
OBJS1 = vers.$(O) armor.$(O) chase.$(O) command.$(O) daemon.$(O) daemons.$(O) \
|
|
fight.$(O) init.$(O) io.$(O) list.$(O) main.$(O) mdport.$(O) \
|
|
misc.$(O) monsters.$(O) move.$(O) newlevel.$(O) options.$(O)
|
|
OBJS2 = pack.$(O) passages.$(O) potions.$(O) rings.$(O) rip.$(O) rooms.$(O) \
|
|
save.$(O) scrolls.$(O) state.$(O) sticks.$(O) things.$(O) \
|
|
weapons.$(O) wizard.$(O) xcrypt.$(O)
|
|
OBJS = $(OBJS1) $(OBJS2)
|
|
|
|
CFILES= vers.c armor.c chase.c command.c daemon.c daemons.c fight.c \
|
|
init.c io.c list.c main.c mdport.c misc.c monsters.c move.c newlevel.c \
|
|
options.c pack.c passages.c potions.c rings.c rip.c rooms.c \
|
|
save.c scrolls.c state.c sticks.c things.c weapons.c wizard.c xcrypt.c
|
|
|
|
|
|
MISC_C=
|
|
DOCSRC= rogue.6 rogue.r
|
|
DOCS = $(PROGRAM).doc $(PROGRAM).cat
|
|
RAWDOCS = LICENSE.TXT rogue36.html readme36.html
|
|
MISC = Makefile $(MISC_C) $(PROGRAM).sln $(PROGRAM).vcproj $(RAWDOCS) $(DOCS)\
|
|
$(DOCSRC)
|
|
|
|
CC = @CC@
|
|
CPPFLAGS =@DEFS@
|
|
ROPTS =
|
|
COPTS =
|
|
CFLAGS= $(COPTS) $(ROPTS)
|
|
LIBS = @LIBS@
|
|
RM = rm -f
|
|
LD = $(CC)
|
|
LDOUT = -o
|
|
INSTALL=@INSTALL@
|
|
GROFF=@GROFF@
|
|
NROFF=@NROFF@
|
|
COLCRT=@COLCRT@
|
|
TBL=@TBL@
|
|
|
|
.SUFFIXES: .obj .o .c
|
|
|
|
.c.obj:
|
|
$(CC) $(CFLAGS) /c $*.c
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $*.o $*.c
|
|
|
|
all: $(PROGRAM)$(EXE) docs
|
|
|
|
$(PROGRAM)$(EXE): $(HDRS) $(OBJS)
|
|
$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LDOUT)$@
|
|
|
|
clean:
|
|
$(RM) $(OBJS1)
|
|
$(RM) $(OBJS2)
|
|
$(RM) core $(PROGRAM) $(PROGRAM).exe $(DOCS) $(DISTNAME).tar $(DISTNAME).tar.gz
|
|
$(RM) $(DISTNAME).zip
|
|
|
|
docs: $(DOCS)
|
|
|
|
$(PROGRAM).doc@DOCS_GROFF@: rogue.r
|
|
$(GROFF) -P-c -P-b -P-u -t -ms -Tutf8 rogue.r > $(PROGRAM).doc
|
|
|
|
$(PROGRAM).doc@DOCS_NROFF@: rogue.r
|
|
$(TBL) rogue.r | $(NROFF) -ms | $(COLCRT) - > $(PROGRAM).doc
|
|
|
|
$(PROGRAM).doc@DOCS_NONE@: rogue.r
|
|
@echo "Not building" $(PROGRAM).doc
|
|
|
|
$(PROGRAM).cat@DOCS_GROFF@: rogue.6
|
|
$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat
|
|
|
|
$(PROGRAM).cat@DOCS_NROFF@: rogue.6
|
|
$(NROFF) -man rogue.6 | $(COLCRT) - > $(PROGRAM).cat
|
|
|
|
$(PROGRAM).cat@DOCS_NONE@: rogue.6
|
|
@echo "Not building" $(PROGRAM).cat
|
|
|
|
install: all
|
|
touch test
|
|
if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
|
|
mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
|
|
$(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
|
|
if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
|
|
mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
|
|
$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
|
|
if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
|
|
mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
|
|
mkdir -p $(DESTDIR)$(bindir)
|
|
$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
|
|
-if test "x$(GROUPOWNER)" != "x" ; then \
|
|
chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
|
|
chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
|
|
chgrp $(GROUPOWNER) $(DESTDIR)$(bindir)/$(PROGRAM) ; \
|
|
chgrp $(GROUPOWNER) $(DESTDIR)$(SAVEDIR) ; \
|
|
chmod 02755 $(DESTDIR)$(bindir)/$(PROGRAM) ; \
|
|
chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
|
|
chmod 0464 $(DESTDIR)$(LOGFILE) ; \
|
|
chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
|
|
fi
|
|
if test ! -d $(DESTDIR)$(man6dir) && test -d $(DESTDIR)$(mandir) ; \
|
|
then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; \
|
|
else mkdir -p $(DESTDIR)$(man6dir) ; \
|
|
$(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
|
|
if test ! -d $(DESTDIR)$(docdir) ; \
|
|
then mkdir -p $(DESTDIR)$(docdir) ; fi
|
|
$(INSTALL) -m 0644 rogue.r $(DESTDIR)$(docdir)/$(PROGRAM).r
|
|
$(INSTALL) -m 0644 $(DOCS) $(RAWDOCS) $(DESTDIR)$(docdir)
|
|
$(RM) test
|
|
|
|
uninstall:
|
|
$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
|
|
$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
|
|
$(RM) $(DESTDIR)$(mandir)/$(PROGRAM).6
|
|
$(RM) -r $(DESTDIR)$(docdir)
|
|
|
|
reinstall: uninstall install
|
|
|
|
dist.src:
|
|
make clean
|
|
tar cf $(DISTNAME)-src.tar $(CFILES) $(HDRS) $(MISC) $(DOCS)
|
|
gzip -f $(DISTNAME)-src.tar
|
|
|
|
dist.irix:
|
|
@$(MAKE) clean
|
|
@$(MAKE) CC=cc CFLAGS="-woff 1116 -O3" $(PROGRAM)
|
|
# tbl rogue.r | nroff -ms | colcrt - > $(PROGRAM).doc
|
|
# nroff -man rogue.6 | colcrt - > $(PROGRAM).cat
|
|
tar cf $(DISTNAME)-irix.tar $(PROGRAM) LICENSE.TXT $(DOCS)
|
|
gzip -f $(DISTNAME)-irix.tar
|
|
|
|
dist.aix:
|
|
@$(MAKE) clean
|
|
@$(MAKE) CC=xlc CFLAGS="-qmaxmem=16768 -O3 -qstrict" $(PROGRAM)
|
|
# tbl rogue.r | nroff -ms | colcrt - > $(ROGUE).doc
|
|
# nroff -man rogue.6 | colcrt - > $(ROGUE).cat
|
|
tar cf $(DISTNAME)-aix.tar $(PROGRAM) LICENSE.TXT $(DOCS)
|
|
gzip -f $(DISTNAME)-aix.tar
|
|
|
|
dist.linux:
|
|
@$(MAKE) clean
|
|
@$(MAKE) $(PROGRAM)
|
|
# groff -P-c -t -ms -Tascii rogue.r | sed -e 's/.\x08//g' > $(PROGRAM).doc
|
|
# groff -man rogue.6 | sed -e 's/.\x08//g' > $(PROGRAM).cat
|
|
tar cf $(DISTNAME)-linux.tar $(PROGRAM) LICENSE.TXT $(DOCS)
|
|
gzip -f $(DISTNAME)-linux.tar
|
|
|
|
debug.linux:
|
|
@$(MAKE) clean
|
|
@$(MAKE) COPTS="-g" $(PROGRAM)
|
|
# groff -P-c -t -ms -Tascii rogue.r | sed -e 's/.\x08//g' > $(PROGRAM).doc
|
|
# groff -man rogue.6 | sed -e 's/.\x08//g' > $(PROGRAM).cat
|
|
|
|
dist.interix:
|
|
@$(MAKE) clean
|
|
@$(MAKE) COPTS="-ansi" $(PROGRAM)
|
|
# groff -P-b -P-u -t -ms -Tascii rogue.r > $(PROGRAM).doc
|
|
# groff -P-b -P-u -man -Tascii rogue.6 > $(PROGRAM).cat
|
|
tar cf $(DISTNAME)-interix.tar $(PROGRAM) LICENSE.TXT $(DOCS)
|
|
gzip -f $(DISTNAME)-interix.tar
|
|
|
|
dist.cygwin:
|
|
@$(MAKE) --no-print-directory clean
|
|
@$(MAKE) COPTS="-I/usr/include/ncurses" --no-print-directory $(PROGRAM)
|
|
# groff -P-c -t -ms -Tascii rogue.r | sed -e 's/.\x08//g' > $(PROGRAM).doc
|
|
# groff -P-c -man -Tascii rogue.6 | sed -e 's/.\x08//g' > $(PROGRAM).cat
|
|
tar cf $(DISTNAME)-cygwin.tar $(PROGRAM).exe LICENSE.TXT $(DOCS)
|
|
gzip -f $(DISTNAME)-cygwin.tar
|
|
|
|
#
|
|
# Use MINGW32-MAKE to build this target
|
|
#
|
|
dist.mingw32:
|
|
@$(MAKE) --no-print-directory RM="cmd /c del" clean
|
|
@$(MAKE) --no-print-directory COPTS="-I../pdcurses" LIBS="../pdcurses/pdcurses.a" $(PROGRAM)
|
|
cmd /c del $(DISTNAME)-mingw32.zip
|
|
zip $(DISTNAME)-mingw32.zip $(PROGRAM).exe LICENSE.TXT $(DOCS)
|
|
|
|
#
|
|
# Seperate doc targets for DJGPP prevent strange SIGSEGV in groff
|
|
# in that environment.
|
|
#
|
|
doc.djgpp:
|
|
groff -t -ms -Tascii rogue.r | sed -e 's/.\x08//g' > $(PROGRAM).doc
|
|
|
|
cat.djgpp:
|
|
groff -man -Tascii rogue.6 | sed -e 's/.\x08//g' > $(PROGRAM).cat
|
|
|
|
dist.djgpp:
|
|
@$(MAKE) --no-print-directory clean
|
|
@$(MAKE) --no-print-directory LDFLAGS="-L$(DJDIR)/LIB" \
|
|
LIBS="-lpdcur" $(PROGRAM)
|
|
# @$(MAKE) --no-print-directory doc.djgpp
|
|
# @$(MAKE) --no-print-directory cat.djgpp
|
|
rm -f $(DISTNAME)-djgpp.zip
|
|
zip $(DISTNAME)-djgpp.zip $(PROGRAM) LICENSE.TXT $(DOCS)
|
|
|
|
#
|
|
# Use NMAKE to build this target
|
|
#
|
|
dist.win32:
|
|
@$(MAKE) /NOLOGO O="obj" RM="-del" clean
|
|
@$(MAKE) /NOLOGO O="obj" CC="@CL" LD="link" LDOUT="/OUT:" EXE=".exe"\
|
|
LIBS="/NODEFAULTLIB:LIBC ..\pdcurses\pdcurses.lib shell32.lib user32.lib Advapi32.lib" \
|
|
COPTS="-nologo -D_CRT_SECURE_NO_DEPRECATE -I..\pdcurses \
|
|
-Ox -wd4033 -wd4716" $(PROGRAM).exe
|
|
-del $(DISTNAME)-win32.zip
|
|
zip $(DISTNAME)-win32.zip $(PROGRAM).exe LICENSE.TXT $(DOCS)
|