Re: [RFC PATCH 6] support make goals after initial {'', dist, data}clean goal(s)
Tomi Ollila writes: > Now make goal combinations starting with *clean goals, > ending with *clean coals, and having non-*clean goals in between > should work. What does not expected to work are > non-*clean - *clean - *non-clean goal combinations. > pushed, already appreciating the saved step d ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [RFC PATCH 6] support make goals after initial {'', dist, data}clean goal(s)
Tomi Ollila writes: > Now make goal combinations starting with *clean goals, > ending with *clean coals, and having non-*clean goals in between > should work. What does not expected to work are > non-*clean - *clean - *non-clean goal combinations. > > Also, if first goals are *clean goals, re-creation of Makefile.config > is inhibited when Makefile.config exists and ./configure is newer. It's a bit painful to read, but that's Makefiles for you I guess. d ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [RFC PATCH 6] support make goals after initial {'', dist, data}clean goal(s)
On Thu, Mar 09 2017, David Bremner wrote: > Tomi Ollila writes: > >> Now make goal combinations starting with *clean goals, >> ending with *clean coals, and having non-*clean goals in between >> should work. What does not expected to work are >> non-*clean - *clean - *non-clean goal combinations. >> >> Also, if first goals are *clean goals, re-creation of Makefile.config >> is inhibited when Makefile.config exists and ./configure is newer. >> --- >> >> Now there is more probability I don't figure out anything that >> could be improved (but, if things go as usual, i know that >> tomorrow morning ;) > > Hi Tomi; > > No more improvements for this? Maybe we should call it non-RFC now? This is as good as I can make it. Yes, I think it matured beyond the RFC status so IMO it can be released for wider reviewer audience ;) Tomi > > d ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
Re: [RFC PATCH 6] support make goals after initial {'', dist, data}clean goal(s)
Tomi Ollila writes: > Now make goal combinations starting with *clean goals, > ending with *clean coals, and having non-*clean goals in between > should work. What does not expected to work are > non-*clean - *clean - *non-clean goal combinations. > > Also, if first goals are *clean goals, re-creation of Makefile.config > is inhibited when Makefile.config exists and ./configure is newer. > --- > > Now there is more probability I don't figure out anything that > could be improved (but, if things go as usual, i know that > tomorrow morning ;) Hi Tomi; No more improvements for this? Maybe we should call it non-RFC now? d ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch
[RFC PATCH 6] support make goals after initial {'', dist, data}clean goal(s)
Now make goal combinations starting with *clean goals, ending with *clean coals, and having non-*clean goals in between should work. What does not expected to work are non-*clean - *clean - *non-clean goal combinations. Also, if first goals are *clean goals, re-creation of Makefile.config is inhibited when Makefile.config exists and ./configure is newer. --- Now there is more probability I don't figure out anything that could be improved (but, if things go as usual, i know that tomorrow morning ;) Makefile | 30 ++ 1 file changed, 30 insertions(+) diff --git a/Makefile b/Makefile index 0ef57fa..d2010fe 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,35 @@ include Makefile.config global_deps = Makefile Makefile.config Makefile.local \ $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local) +INCLUDE_MORE := yes +ifneq ($(filter clean distclean dataclean, $(word 1, $(MAKECMDGOALS))),) +CLEAN_GOAL := $(word 1, $(MAKECMDGOALS)) + +# If there are more goals following CLEAN_GOAL, run $(MAKE)s in parts. +ifneq ($(word 2, $(MAKECMDGOALS)),) +INCLUDE_MORE := no +FOLLOWING_GOALS := $(wordlist 2, 99, $(MAKECMDGOALS)) + +.PHONY: $(FOLLOWING_GOALS) make_in_parts +$(FOLLOWING_GOALS): + @true +$(CLEAN_GOAL): make_in_parts +make_in_parts: + $(MAKE) $(CLEAN_GOAL) + $(MAKE) $(FOLLOWING_GOALS) configure_options="$(configure_options)" +endif + +else +CLEAN_GOAL := +endif + +# Potentially speedup make clean, distclean and dataclean ; avoid +# re-creating Makefile.config if it exists but configure is newer. +ifneq ($(CLEAN_GOAL),) +Makefile.config: | $(srcdir)/configure +else Makefile.config: $(srcdir)/configure +endif ifeq ($(configure_options),) @echo "" @echo "Note: Calling ./configure with no command-line arguments. This is often fine," @@ -33,9 +61,11 @@ ifeq ($(configure_options),) endif $(srcdir)/configure $(configure_options) +ifeq ($(INCLUDE_MORE),yes) # runtime variable definitions available in all subdirs include $(srcdir)/Makefile.global # Finally, include all of the Makefile.local fragments where all the # real work is done. include $(subdirs:%=%/Makefile.local) Makefile.local +endif -- 2.9.3 ___ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch