chiark / gitweb /
build system: convert stest and mtest to Subdir.mk
[secnet.git] / Subdir.sd.mk
index 0423cf44ebf5a87a13b618664c544f4e2bafa291..f9245c2cb660dba68b0c58839b889edf144067c4 100644 (file)
@@ -82,28 +82,14 @@ STALE_PYTHON_FILES= $(foreach e, py pyc, \
 %.o: %.c conffile.yy.h
        $(CC) $(CPPFLAGS) $(ALL_CFLAGS) -c $< -o $@
 
-all:   $(TARGETS) check
+all::  $(TARGETS) check
 
-# Automatic remaking of configuration files, from autoconf documentation
-${srcdir}/configure: configure.in
-       cd ${srcdir} && autoconf
-
-# autoheader might not change config.h.in, so touch a stamp file.
-${srcdir}/config.h.in: config.stamp.in
-${srcdir}/config.stamp.in: configure.in
+${srcdir}/config.h.in: configure.ac
        cd ${srcdir} && autoheader
-       echo timestamp > ${srcdir}/config.stamp.in
-
-config.h: config.stamp
-config.stamp: config.h.in config.status
-       ./config.status
-
-Makefile: Makefile.in config.status
-       ./config.status
+       touch $@
 
-config.status: configure
-       ./config.status --recheck
-# End of config file remaking rules
+MAKEFILE_TEMPLATES += config.h.in
+CONFIG_STATUS_OUTPUTS += config.h
 
 # C and header file dependency rules
 SOURCES:=$(OBJECTS:.o=.c) $(TEST_OBJECTS:.o=.c)
@@ -137,7 +123,7 @@ TESTDIRS=stest mtest
 
 FAST_CHECKS= eax-aes-test.confirm eax-serpent-test.confirm \
        eax-serpentbe-test.confirm check-ipaddrset \
-       $(addprefix check-,$(TESTDIRS))
+       $(addsuffix /check,$(TESTDIRS))
 
 CHECKS += $(FAST_CHECKS)
 CHECKS += msgcode-test.confirm
@@ -178,15 +164,6 @@ check-ipaddrset: ipaddrset-test.py ipaddrset.py ipaddrset-test.expected
        $(srcdir)/ipaddrset-test.py >ipaddrset-test.new
        diff -u $(srcdir)/ipaddrset-test.expected ipaddrset-test.new
 
-check-stest: secnet test-example/sites.conf
-       $(MAKE) -C stest check
-
-check-mtest: make-secnet-sites $(PYMODULES)
-       $(MAKE) -C mtest check
-
-test-example/sites.conf:
-       $(MAKE) -C test-example
-
 .PRECIOUS: eax-%-test
 
 installdirs:
@@ -197,7 +174,7 @@ installdirs:
 install: installdirs
        set -e; ok=true; for f in $(STALE_PYTHON_FILES); do \
                if test -e $$f; then \
-                       echo >&2 "ERROR: $$f still exists "\
+                       echo >\&2 "ERROR: $$f still exists "\
                                "- try \`make install-force'"; \
                        ok=false; \
                fi; \
@@ -216,21 +193,20 @@ install-force:
        rm -f $(STALE_PYTHON_FILES)
        $(MAKE) install
 
-clean: $(addprefix clean-,$(TESTDIRS))
+clean::
        $(RM) -f *.o *.yy.[ch] *.tab.[ch] $(TARGETS) core version.c
        $(RM) -f *.d *.pyc *~ eax-*-test.confirm eax-*-test
        $(RM) -rf __pycache__
        $(RM) -f msgcode-test.confirm msgcode-test
 
-$(addprefix clean-,$(TESTDIRS)): clean-%:
-       $(MAKE) -C $* clean
-
-realclean:     clean
+realclean::    clean
        $(RM) -f *~ Makefile config.h  *.d \
        config.log config.status config.cache \
        config.stamp Makefile.bak
 
-distclean:     realclean
+distclean::    realclean
+
+include subdirmk/regen.mk
 
 # Release checklist:
 #