Repair linenoise build, add guidance to Makefile on getting it.
[open-adventure.git] / Makefile
index ee8c567ccf1f17c18e04d75e277fb4d9783c5393..c06d0aba16bbdc1c93a0e5cba972943516b9c1cf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,16 @@
 # Makefile for the open-source release of adventure 2.5
 
+# Note: If you're building from the repository rather than the source tarball,
+# do this to get the linenoise library where you can use it:
+#
+# git submodule update --recursive --remote --init
+#
+# Therafter, you can update it like this:
+#
+# git submodule update --recursive --remote
+#
+# but this should seldom be necessary as that library is pretty stable.
+
 VERS=1.0
 
 CC?=gcc
@@ -10,14 +21,14 @@ ifeq ($(UNAME_S),Linux)
        LIBS=-lrt
 endif
 
-OBJS=main.o init.o actions1.o actions2.o score.o misc.o linenoise.o
-SOURCES=$(OBJS:.o=.c) dungeon.c advent.h funcs.h sizes.h adventure.text Makefile control
+OBJS=main.o init.o actions1.o actions2.o score.o misc.o
+SOURCES=$(OBJS:.o=.c) dungeon.c advent.h funcs.h sizes.h adventure.text Makefile control linenoise/linenoise.[ch]
 
 .c.o:
        $(CC) $(CCFLAGS) $(DBX) -c $<
 
-advent: $(OBJS) database.o
-       $(CC) $(CCFLAGS) $(DBX) -o advent $(OBJS) database.o $(LDFLAGS) $(LIBS)
+advent:        $(OBJS) database.o linenoise.o
+       $(CC) $(CCFLAGS) $(DBX) -o advent $(OBJS) database.o linenoise.o $(LDFLAGS) $(LIBS)
 
 main.o:                advent.h funcs.h database.h database.c sizes.h
 
@@ -66,11 +77,12 @@ html: advent.html history.html hints.html
 
 # README.adoc exists because that filename is magic on GitLab.
 DOCS=COPYING NEWS README.adoc TODO advent.adoc history.adoc hints.adoc advent.6
+TESTFILES=tests/*.log tests/*.chk tests/README tests/decheck tests/Makefile
 
 # Can't use GNU tar's --transform, needs to build under Alpine Linux.
 # This is a requirement for testing dist in GitLab's CI pipeline
 advent-$(VERS).tar.gz: $(SOURCES) $(DOCS)
-       @find $(SOURCES) $(DOCS) tests -print | sed s:^:advent-$(VERS)/: >MANIFEST
+       @find $(SOURCES) $(DOCS) $(TESTFILES) -print | sed s:^:advent-$(VERS)/: >MANIFEST
        @(ln -s . advent-$(VERS))
        (tar -T MANIFEST -czvf advent-$(VERS).tar.gz)
        @(rm advent-$(VERS))