chiark / gitweb /
Merge subdirmk
[secnet.git] / Subdir.sd.mk
index aad2f684e6f81ec4a3e6cec540d4903156e37816..e0096df0dc9296776d6c46eb16141e86efefc5d5 100644 (file)
@@ -20,7 +20,7 @@
 .PHONY:        all clean realclean distclean dist install
 
 PACKAGE:=secnet
-VERSION=0.5.0
+VERSION=0.5.1
 
 VPATH:=@srcdir@
 srcdir:=@srcdir@
@@ -61,12 +61,11 @@ TEST_OBJECTS:=eax-aes-test.o eax-serpent-test.o eax-serpentbe-test.o \
                eax-test.o aes.o
 
 ifeq (version.o,$(MAKECMDGOALS))
-OBJECTS:=version.o
+OBJECTS:=
 TEST_OBJECTS:=
 endif
 
 &OBJECTS += $(OBJECTS) $(TEST_OBJECTS)
-&:include subdirmk/cdeps.sd.mk
 
 STALE_PYTHON_FILES=    $(foreach e, py pyc, \
                        $(foreach p, /usr /usr/local, \
@@ -103,7 +102,7 @@ conffile.tab.c:     conffile.y
 conffile.yy.o: ALL_CFLAGS += -Wno-sign-compare
 
 secnet:        $(OBJECTS)
-       $(MAKE) version.o # *.o $(filter-out %.o, $^)
+       $(MAKE) -f main.mk version.o # *.o $(filter-out %.o, $^)
        $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $(OBJECTS) version.o $(LDLIBS)
 # We (always) regenerate the version, but only if we regenerate the
 # binary.  (This is necessary as the version string is can depend on
@@ -112,7 +111,7 @@ secnet:     $(OBJECTS)
 ifneq (,$(wildcard .git/HEAD))
 # If we have (eg) committed, relink and thus regenerate the version
 # with the new info from git describe.
-secnet: Makefile .git/HEAD $(shell sed -n 's#^ref: #.git/#p' .git/HEAD)
+secnet: Makefile .git/HEAD $(wildcard $(shell sed -n 's#^ref: #.git/#p' .git/HEAD))
 secnet: $(wildcard .git/packed-refs)
 endif
 
@@ -127,9 +126,10 @@ TESTDIRS=stest mtest
 recheck:
        rm -f $(&TARGETS_check)
        rm -rf $(addsuffix /d-*, $(TESTDIRS))
-       $(MAKE) check
+       $(MAKE) -f main.mk check
 
-version.c: Makefile
+.PHONY: FORCE
+version.c: FORCE
        echo "#include \"secnet.h\"" >$@.new
        @set -ex; if test -e .git && type -p git >/dev/null; then \
                v=$$(git describe --match 'v*'); v=$${v#v}; \
@@ -147,6 +147,8 @@ eax-%-test.confirm: eax-%-test eax-%-test.vectors
        ./$< <$(srcdir)/eax-$*-test.vectors >$@.new
        mv -f $@.new $@
 
+&CDEPS_OBJECTS += msgcode-test.o
+
 msgcode-test: msgcode-test.o
        $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^
 
@@ -186,12 +188,14 @@ install: installdirs
 
 install-force:
        rm -f $(STALE_PYTHON_FILES)
-       $(MAKE) install
+       $(MAKE) -f main.mk install
+
+&CLEAN += .version.d
+&CLEAN += $(TARGETS) $(&TARGETS_check) $(&TARGETS_fullcheck)
 
 clean::
-       $(RM) -f *.o *.yy.[ch] *.tab.[ch] $(TARGETS) core version.c
+       $(RM) -f *.o *.yy.[ch] *.tab.[ch] core version.c
        $(RM) -f *.pyc *~ eax-*-test.confirm eax-*-test
-       $(RM) $(&CLEAN)
        $(RM) -rf __pycache__
        $(RM) -f msgcode-test.confirm msgcode-test
 
@@ -206,7 +210,7 @@ include subdirmk/regen.mk
 
 # Release checklist:
 #
-#  0. Use this checklist from Makefile.in
+#  0. Use this checklist from Subdir.sd.mk
 #
 #  1. Check that the tree has what you want
 #