Implement and document %V escape so version only needs to be set once.
[open-adventure.git] / Makefile
index 758408ab571a1d0ade40024445de83117d0ea7c5..2e6997a5393c8cddecaae56cec4d95eef4fd6167 100644 (file)
--- a/Makefile
+++ b/Makefile
 #
 # To build with save/resume disabled, pass CCFLAGS="-D ADVENT_NOSAVE"
 
-.PHONY: debug indent release refresh dist linty html clean
+VERS=$(shell sed -n <NEWS '/^[0-9]/s/:.*//p' | head -1)
 
-VERS=1.0
+.PHONY: debug indent release refresh dist linty html clean
 
 CC?=gcc
-CCFLAGS+=-std=c99 -D _DEFAULT_SOURCE -Wpedantic -O2
+CCFLAGS+=-std=c99 -D_DEFAULT_SOURCE -DVERSION=\"$(VERS)\" -Wpedantic -O2
 LIBS=
 UNAME_S := $(shell uname -s)
 ifeq ($(UNAME_S),Linux)
@@ -38,7 +38,7 @@ endif
 
 OBJS=main.o init.o actions.o score.o misc.o saveresume.o
 CHEAT_OBJS=cheat.o init.o actions.o score.o misc.o saveresume.o
-SOURCES=$(OBJS:.o=.c) advent.h adventure.text adventure.yaml Makefile control linenoise/linenoise.[ch] make_dungeon.py
+SOURCES=$(OBJS:.o=.c) advent.h adventure.yaml Makefile control linenoise/linenoise.[ch] make_dungeon.py
 
 .c.o:
        $(CC) $(CCFLAGS) $(DBX) -c $<
@@ -67,6 +67,9 @@ dungeon.c dungeon.h: make_dungeon.py adventure.yaml
        python3 make_dungeon.py
 
 linenoise.o:   linenoise/linenoise.h
+       $(CC) -c linenoise/linenoise.c
+
+linenoise-dbg: linenoise/linenoise.h
        $(CC) $(CCFLAGS) -c linenoise/linenoise.c
 
 clean:
@@ -147,4 +150,4 @@ debug: CCFLAGS += -O0 --coverage -ggdb
 debug: linty
 debug: cheat
 
-
+debug-ln: linenoise-dbg debug