X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=subdirmk%2Fregen.mk.in;h=65d75c2ebfc32db72ccb6e7e432ba4ee6b71cfda;hp=b8e031f7686c929cf5e1da072162a43bebe621e3;hb=3feffa3257a111e37dafd9684092726845d34f42;hpb=8617920961da7426d98937e5a9fa055284431f06 diff --git a/subdirmk/regen.mk.in b/subdirmk/regen.mk.in index b8e031f..65d75c2 100644 --- a/subdirmk/regen.mk.in +++ b/subdirmk/regen.mk.in @@ -1,3 +1,7 @@ +# subdirmk - rules for regenerating makefiles etc. +# Copyright 2019 Mark Wooding +# Copyright 2019 Ian Jackson +# SPDX-License-Identifier: LGPL-2.0-or-later CONFIGURE ?= configure CONFIGURE_AC ?= $(CONFIGURE).ac @@ -12,16 +16,16 @@ $(top_srcdir)/$(CONFIGURE): $(addprefix $(top_srcdir)/,$(CONFIGURE_ACS)) $(CONFIG_STATUS): $(top_srcdir)/$(CONFIGURE) ./$(CONFIG_STATUS) --recheck -MAKEFILES += subdirmk/regen.mk - -MAKEFILE_TEMPLATES += $(top_srcdir)/Perdir.mk.in +MAKEFILE_TEMPLATES += $(top_srcdir)/Perdir.sd.mk +MAKEFILE_TEMPLATES += $(addprefix $(top_srcdir)/, $(addsuffix .in, \ + @_SUBDIRMK_MAKEFILES@ \ + )) main.mk $(MAKEFILES): .makefiles.stamp ; .makefiles.stamp: \ $(top_srcdir)/subdirmk/generate \ $(CONFIG_STATUS) \ - $(MAKEFILE_TEMPLATES) \ - $(foreach m,$(MAKEFILES),$(top_srcdir)/$(m).in) + $(MAKEFILE_TEMPLATES) # This filtering arranges that we can often run config.status to # generate only particular output files. We look for *inputs* that # have changed. If the only inputs that have changed are ones that we @@ -31,11 +35,12 @@ main.mk $(MAKEFILES): .makefiles.stamp ; # regen.mk.in twice because if $(top_srcdir) is `.', make elides the # directory part from $?. ./$(CONFIG_STATUS) $(if \ - $(filter-out Subdir.mk.in %/Subdir.mk.in \ - subdirmk/regen.mk.in \ - $(top_srcdir)/subdirmk/regen.mk.in \ + $(filter-out Subdir.sd.mk %/Subdir.sd.mk \ + %.mk.in \ , $?),, \ - $(sort $(patsubst %.mk.in,%.mk,$(filter %.mk.in,$?)))) + $(sort \ + $(patsubst %.sd.mk,%.mk,$(filter %.sd.mk,$?)) \ + $(patsubst %.mk.in,%.mk,$(filter %.mk.in,$?)))) touch $@ realclean:: clean