diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2011-06-04 17:43:49 +0200 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2011-06-04 17:43:49 +0200 |
commit | 929fda76b857547a577abeed255bd33eceed5cf8 (patch) | |
tree | 10a85c821833c931e1c84f27338751a91ad6e31f /Makefile.in | |
parent | 39dedfbcb65c93e5e111fba93f75507a56239076 (diff) | |
download | crosstool-ng-929fda76b857547a577abeed255bd33eceed5cf8.tar.gz crosstool-ng-929fda76b857547a577abeed255bd33eceed5cf8.tar.bz2 crosstool-ng-929fda76b857547a577abeed255bd33eceed5cf8.zip |
Makefile: make it work for auto-completion
The latest autocompletion calls 'make -qp' to get all the possible
targets. This currently fails, as our makefile is calling itself
again and again ad-libitum.
Fix it by detecting that the recursion level is not 0, and bail out
if so. It works so well that it has the side effect of showing only
the 'public' target, and hide our internal ones! :-)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in index a211fd63..616ce992 100644 --- a/Makefile.in +++ b/Makefile.in @@ -88,6 +88,17 @@ endif # See top of file for an explanation of why this is needed... ifneq ($(strip $(CT_MAKEFLAGS)),) +# Somehow, the new auto-completion for make in the recent distributions +# trigger a behavior where our Makefile calls itself recursively, in a +# never-ending loop (except on lack of ressources, swap, PIDs...) +# Avoid this situation by cutting the recursion short at the first +# level. +# This has the side effect of only showing the real targets, and hiding our +# internal ones. :-) +ifneq ($(MAKELEVEL),0) +$(error Recursion detected, bailing out...) +endif + MAKEFLAGS += $(CT_MAKEFLAGS) build install clean distclean uninstall: @$(MAKE) $@ |