X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=subdirmk%2Fregen.mk.in;h=2661ee18758ece403ce046528f5cc5e6fc0f8ddd;hb=5c370689670a4401baa5bb111f136d6ec82d0547;hp=c0278c097de1fb0ea1613f6d46a7034dd8348959;hpb=25e5b2717de3a65672c61b3b8da02015c33fcac2;p=subdirmk.git diff --git a/subdirmk/regen.mk.in b/subdirmk/regen.mk.in index c0278c0..2661ee1 100644 --- a/subdirmk/regen.mk.in +++ b/subdirmk/regen.mk.in @@ -3,19 +3,35 @@ CONFIGURE ?= configure CONFIGURE_AC ?= $(CONFIGURE).ac CONFIG_STATUS ?= config.status -$(top_srcdir)/$(CONFIGURE): $(top_srcdir)/$(CONFIGURE_AC) - cd &^ && autoconf +CONFIGURE_ACS += $(CONFIGURE_AC) +CONFIGURE_ACS += subdirmk/subdirmk.ac + +$(top_srcdir)/$(CONFIGURE): $(addprefix $(top_srcdir)/,$(CONFIGURE_ACS)) + cd $(top_srcdir) && autoconf $(CONFIG_STATUS): $(top_srcdir)/$(CONFIGURE) ./$(CONFIG_STATUS) --recheck MAKEFILES += subdirmk/regen.mk -main.mk $(MAKFILES): makefiles.phantom -.INTERMEDIATE: makefiles.phantom -makefiles.phantom: \ +main.mk $(MAKEFILES): .config.status.needed + ./$< +.INTERMEDIATE: .config.status.needed +.config.status.needed: \ $(top_srcdir)/subdirmk/generate \ $(CONFIG_STATUS) \ $(top_srcdir)/Perdir.mk.in \ $(foreach m,$(MAKEFILES),$(top_srcdir)/$(m).in) - ./$(CONFIG_STATUS) + : $? + set -e; printf >$@.tmp "#!/bin/sh\nset -e\n%s %s" \ + "./$(CONFIG_STATUS)" \ + "$(if $(filter-out %.mk.in, $?),, \ + $(patsubst %.mk.in,%.mk,$?))" ; \ + chmod +x $@.tmp; mv -f $@.tmp $@ + +realclean:: clean + $(RM) config.status config.log + $(RM) main.mk subdirmk/regen.mk $(MAKEFILES) + $(RM) $(addsuffix Makefile,$(dir $(MAKEFILES))) + +-include $(ALL_DEPFILES)