#
# Makefile for `Hunt the Wumpus' and `Superhack' games
#
-VERS=$(shell sed <wumpus.spec -n -e '/Version: \(.*\)/s//\1/p')
+# SPDX-FileCopyrightText: (C) Eric S. Raymond <esr@thyrsus.com>
+# SPDX-License-Identifier: BSD-2-Clause
+
+VERS=$(shell sed -n <NEWS.adoc '/^[0-9]/s/:.*//p' | head -1)
+
+prefix?=/usr
+
+CFLAGS = -Wall
all: wumpus superhack
$(CC) $(CFLAGS) superhack.c -o superhack
clean:
- rm -f wumpus wumpus.o superhack superhack.o TAGS
+ rm -f wumpus wumpus.o superhack superhack.o TAGS *.6
rm -f *~ *.1 *.html *.tar.gz MANIFEST
TAGS:
etags wumpus.c
-wumpus.6: wumpus.xml
- xmlto man wumpus.xml
+# Note: to suppress the footers with timestamps being generated in HTML,
+# we use "-a nofooter".
+# To debug asciidoc problems, you may need to run "xmllint --nonet --noout --valid"
+# on the intermediate XML that throws an error.
+.SUFFIXES: .html .adoc .6
-wumpus.html: wumpus.xml
- xmlto html-nochunks wumpus.xml
+.adoc.6:
+ asciidoctor -D. -a nofooter -b manpage $<
+.adoc.html:
+ asciidoctor -D. -a nofooter -a webfonts! $<
-SOURCES = README COPYING Makefile wumpus.c superhack.c wumpus.xml wumpus.spec
+SOURCES = README.adoc COPYING NEWS.adoc control Makefile wumpus.c superhack.c wumpus.adoc wumpus.png wumpus.desktop superhack.desktop
-install: wumpus.6
- cp wumpus superhack /usr/bin/
- cp wumpus.6 /usr/share/man/man6/
+install: wumpus superhack wumpus.6
+ mkdir -p $(prefix)/bin
+ mkdir -p $(prefix)/share/man/man6
+ cp wumpus superhack $(prefix)/bin/
+ cp wumpus.6 $(prefix)/share/man/man6/
uninstall:
- rm /usr/bin/wumpus /usr/bin/superhack
- rm /usr/share/man/man6/wumpus.6
+ rm $(prefix)/bin/wumpus $(prefix)/bin/superhack
+ rm $(prefix)/share/man/man6/wumpus.6
+
+reflow:
+ @clang-format --style="{IndentWidth: 8, UseTab: ForIndentation}" -i $$(find . -name "*.[ch]")
CPPCHECKOPTS =
cppcheck:
dist: wumpus-$(VERS).tar.gz
-release: wumpus-$(VERS).tar.gz wumpus.html
+release: wumpus-$(VERS).tar.gz wumpus.html wumpus.6
shipper version=$(VERS) | sh -e -x
+
+refresh: wumpus.html
+ shipper -N -w version=$(VERS) | sh -e -x