Rebuild correctly when extern.h is changed.
[vms-empire.git] / Makefile
index 2b85a5c..f59a87e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,15 @@
-# %W% %G% %U% - (c) Copyright 1987, 1988 Chuck Simmons
-
 #
 #    Copyright (C) 1987, 1988 Chuck Simmons
 #
 # See the file COPYING, distributed with empire, for restriction
 # and warranty information.
 
-VERS=$(shell sed <vms-empire.spec -n -e '/Version: \(.*\)/s//\1/p')
+VERS=1.10
 
 # Use -g to compile the program for debugging.
 
 #DEBUG = -g -DDEBUG -Wall
-DEBUG = -O2
+DEBUG = -O2 -Wall
 
 # Use -p to profile the program.
 #PROFILE = -p -DPROFILE
@@ -21,7 +19,8 @@ LIBS = -lncurses
 
 # You shouldn't have to modify anything below this line.
 
-CFLAGS = $(DEBUG) $(PROFILE)
+# There's a dynamic format in the object-display routines; suppress the warning
+CFLAGS = $(DEBUG) $(PROFILE) -Wno-format-security
 
 FILES = \
        attack.c \
@@ -62,27 +61,52 @@ all: vms-empire
 vms-empire: $(OFILES)
        $(CC) $(PROFILE) -o vms-empire $(OFILES) $(LIBS)
 
+attack.o:: extern.h
+compmove.o:: extern.h
+display.o:: extern.h
+edit.o:: extern.h
+empire.o:: extern.h
+game.o:: extern.h
+main.o:: extern.h
+map.o:: extern.h
+math.o:: extern.h
+object.o:: extern.h
+term.o:: extern.h
+usermove.o:: extern.h
+util.o:: extern.h
+
+empire.6: vms-empire.xml
+       xmlto man vms-empire.xml
+
+vms-empire.html: vms-empire.xml
+       xmlto html-nochunks vms-empire.xml
+
 TAGS: $(HEADERS) $(FILES)
        etags $(HEADERS) $(FILES)
 
 lint: $(FILES)
        lint -u -D$(SYS) $(FILES) -lcurses
 
+# cppcheck should run clean
+cppcheck:
+       cppcheck --inline-suppr --template gcc --enable=all --force *.[ch]
+
 clean:
        rm -f *.o TAGS vms-empire
+       rm -f *.6 *.html SHIPPER.*
 
 clobber: clean
        rm -f vms-empire vms-empire-*.tar*
 
-SOURCES = README NEWS vms-empire.6 COPYING Makefile BUGS AUTHORS $(FILES) $(HEADERS) MANIFEST vms-empire.spec
+SOURCES = README NEWS control empire.6 COPYING Makefile BUGS AUTHORS $(FILES) $(HEADERS) empire-logo.png
 
-vms-empire-$(VERS).tar.gz: $(SOURCES) vms-empire.6
+vms-empire-$(VERS).tar.gz: $(SOURCES)
        @ls $(SOURCES) | sed s:^:vms-empire-$(VERS)/: >MANIFEST
        @(cd ..; ln -s vms-empire vms-empire-$(VERS))
-       (cd ..; tar -czvf vms-empire/vms-empire-$(VERS).tar.gz `cat vms-empire/MANIFEST`)
+       (cd ..; tar -czf vms-empire/vms-empire-$(VERS).tar.gz `cat vms-empire/MANIFEST`)
        @(cd ..; rm vms-empire-$(VERS))
 
 dist: vms-empire-$(VERS).tar.gz
 
-release: vms-empire-$(VERS).tar.gz
-       shipper; rm -f CHANGES ANNOUNCE* *.6 *.html *.rpm *.lsm MANIFEST
+release: vms-empire-$(VERS).tar.gz vms-empire.html
+       shipper -u -m -t; make clean