diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-08-08 01:09:59 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-08-08 01:09:59 -0400 |
commit | 7f991fe569fc0562c9d67b3a473f9a4dda8dbc4d (patch) | |
tree | a758411b1801383f766065affcb7911e3475c1e2 /build-aux/Makefile.each.tail | |
parent | 2abe0f2d527c7b3f6b97bd6519bf0e35a266ea68 (diff) |
speed up
Diffstat (limited to 'build-aux/Makefile.each.tail')
-rw-r--r-- | build-aux/Makefile.each.tail/10-files.mk | 22 | ||||
-rw-r--r-- | build-aux/Makefile.each.tail/60-am.mk | 63 |
2 files changed, 18 insertions, 67 deletions
diff --git a/build-aux/Makefile.each.tail/10-files.mk b/build-aux/Makefile.each.tail/10-files.mk index 4607c433d0..8ab187b401 100644 --- a/build-aux/Makefile.each.tail/10-files.mk +++ b/build-aux/Makefile.each.tail/10-files.mk @@ -14,12 +14,13 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # Add some more defaults to the *_files variables -$(foreach _files.var,$(patsubst files.%,%,files.src $(filter files.src.%,$(.VARIABLES))),\ - $(eval _files.$(_files.var) = $$(call at.addprefix,$$(srcdir),$$(files.$(_files.var))))) -$(foreach _files.var,$(patsubst files.%,%,files.out $(filter files.out.%,$(.VARIABLES))),\ - $(eval _files.$(_files.var) = $$(call at.addprefix,$$(outdir),$$(files.$(_files.var))))) -$(foreach _files.var,$(patsubst files.%,%,files.sys $(filter files.sys.%,$(.VARIABLES))),\ - $(eval _files.$(_files.var) = $$(addprefix $$(DESTDIR),$$(files.$(_files.var))))) +$(eval \ + $(foreach _files.var,$(filter files.src files.src.%,$(.VARIABLES)),\ + _$(_files.var) = $$(call at.addprefix,$$(srcdir),$$($(_files.var)))$(at.nl))\ + $(foreach _files.var,$(filter files.out files.out.%,$(.VARIABLES)),\ + _$(_files.var) = $$(call at.addprefix,$$(outdir),$$($(_files.var)))$(at.nl))\ + $(foreach _files.var,$(filter files.sys files.sys.%,$(.VARIABLES)),\ + _$(_files.var) = $$(addprefix $$(DESTDIR),$$($(_files.var)))$(at.nl))) _files.all = $(_files.src) $(_files.out) $(_files.sys) @@ -29,10 +30,11 @@ at.targets += $(subst *,%,$(_files.all)) $(outdir)/$(files.generate): $(_files.src.gen) $(_files.src.cfg) $(outdir)/install: $(_files.sys.$(files.default)) $(outdir)/installdirs: $(sort $(dir $(_files.sys))) -$(foreach _files.g,$(files.groups),\ - $(eval $$(outdir)/$(_files.g): $$(_files.out.$(_files.g)))) -$(foreach _files.g,$(filter-out $(files.default),$(files.groups)),\ - $(eval $$(outdir)/install-$(_files.g): $$(_files.sys.$(_files.g)))) +$(eval \ + $(foreach _files.g,$(files.groups),\ + $$(outdir)/$(_files.g): $$(_files.out.$(_files.g))$(at.nl))\ + $(foreach _files.g,$(filter-out $(files.default),$(files.groups)),\ + $$(outdir)/install-$(_files.g): $$(_files.sys.$(_files.g)))$(at.nl)) # Destructive targets _files.uninstall = $(_files.sys) diff --git a/build-aux/Makefile.each.tail/60-am.mk b/build-aux/Makefile.each.tail/60-am.mk index ac8785d6ee..0524dc6ad9 100644 --- a/build-aux/Makefile.each.tail/60-am.mk +++ b/build-aux/Makefile.each.tail/60-am.mk @@ -1,64 +1,13 @@ mod.am.depends += files -######################################################################## -_am.primary2dirs = $(filter $(patsubst %dir,%,$(filter %dir,$(.VARIABLES))),\ - $(patsubst %_$1,%,$(filter %_$1,$(.VARIABLES)))) -define _am.per_primary -noinst_$p ?= -check_$p ?= +$(eval \ + $(foreach p,$(am.primaries) ,$(call _am.per_primary,$p)$(at.nl))) +$(eval \ + $(foreach f,$(am.PROGRAMS) ,$(call _am.per_PROGRAM,$f,$(call am.file2var,$f))$(at.nl))\ + $(foreach f,$(am.LTLIBRARIES),$(call _am.per_LTLIBRARY,$f,$(call am.file2var,$f))$(at.nl))\ + $(foreach d,$(am.inst2dirs) ,$(call _am.per_directory,$d)$(at.nl))) -am.inst_$p := $$(foreach d,$$(call _am.primary2dirs,$p),$$($$d_$p)) -am.noinst_$p := $$(noinst_$p) -am.check_$p := $$(check_$p) -$(foreach d,$(call _am.primary2dirs,$p) nointt check,undefine $d_$p$(at.nl)) -ifneq ($$(am.inst_$p),) -$$(am.inst_$p): private am.INSTALL = $$(am.INSTALL_$p) -endif -am.$p = $$(am.check_$p) $$(am.noinst_$p) $$(call am.inst2noinst_$p,$$(am.inst_$p)) -endef -$(foreach p,$(am.primaries),$(eval $(_am.per_primary))) -######################################################################## files.sys.all += $(foreach p,$(am.primaries),$(am.inst_$p)) files.out.all += $(foreach p,$(am.primaries),$(am.noinst_$p)) files.out.all += $(foreach p,$(am.primaries),$(call am.inst2noinst_$p,$(am.inst_$p))) files.out.check += $(foreach p,$(am.primaries),$(am.check_$p)) -######################################################################## -# TODO: I'm not in love with how _am.per_PROGRAM figures out at.subdirs -define _am.per_PROGRAM -$$(foreach var,_am.depends $$(call am.var_PROGRAMS,$v),$$(eval $$(var) ?=)) -_am.depends += $$(call at.path,$$(call am.file2.o,$f) $$(call am.file2lib,$f,LDADD)) -am.CPPFLAGS += $$($v_CPPFLAGS) $$(call am.file2cpp,$f,LDADD) -am.CFLAGS += $$($v_CFLAGS) -$$(outdir)/$f: private ALL_LDFLAGS += $$($v_LDFLAGS) -$$(outdir)/$f: $$(_am.depends) -am.subdirs := $$(sort $$(am.subdirs)\ - $$(filter-out $$(abspath $$(srcdir)),\ - $$(abspath $$(dir $$(filter-out -l% /%,$$(_am.depends)))))) -$$(foreach var,_am.depends $$(call am.var_PROGRAMS,$v),$$(eval undefine $$(var))) -endef -$(foreach f,$(am.PROGRAMS),$(foreach v,$(call am.file2var,$f),$(eval $(_am.per_PROGRAM)))) -######################################################################## -# TODO: I'm not in love with how _am.per_LTLIBRARY figures out at.subdirs -define _am.per_LTLIBRARY -$$(foreach var,_am.depends $$(call am.var_LTLIBRARIES,$v),$$(eval $$(var) ?=)) -_am.depends += $$(call at.path,$$(call am.file2.lo,$f) $$(call am.file2lib,$f,LIBADD)) -am.CPPFLAGS += $$($v_CPPFLAGS) $$(call am.file2cpp,$f,LIBADD) -am.CFLAGS += $$($v_CFLAGS) -$$(outdir)/$f: private ALL_LDFLAGS += $$($v_LDFLAGS) -$$(outdir)/$f: $$(_am.depends) -am.subdirs := $$(sort $$(am.subdirs)\ - $$(filter-out $$(abspath $$(srcdir)),\ - $$(abspath $$(dir $$(filter-out -l% /%,$$(_am.depends)))))) -$$(foreach var,_am.depends $$(call am.var_LTLIBRARIES,$v),$$(eval undefine $$(var))) -endef -$(foreach f,$(am.LTLIBRARIES),$(foreach v,$(call am.file2var,$f),$(eval $(_am.per_LTLIBRARY)))) -######################################################################## -define _am.per_directory -$$(DESTDIR)$d/%: $$(outdir)/% - @$$(NORMAL_INSTALL) - $$(am.INSTALL) -$$(DESTDIR)$d/%: $$(srcdir)/% - @$$(NORMAL_INSTALL) - $$(am.INSTALL) -endef -$(foreach d,$(sort $(dir $(foreach p,$(am.primaries),$(am.inst_$p)))),$(eval $(_am.per_directory))) |