Rebuild correctly when extern.h is changed.
[vms-empire.git] / Makefile
index f14658d..f59a87e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,12 +4,12 @@
 # See the file COPYING, distributed with empire, for restriction
 # and warranty information.
 
-VERS=1.9
+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
@@ -19,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 \
@@ -60,6 +61,20 @@ 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
 
@@ -72,6 +87,10 @@ TAGS: $(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.*