[3.6] bpo-31934: Abort when building out of a not clean source tree (… · python/cpython@0c4785b (original) (raw)
`@@ -440,7 +440,17 @@ DTRACE_DEPS = \
`
440
440
``
441
441
`# Default target
`
442
442
`all: @DEF_MAKE_ALL_RULE@
`
443
``
`-
build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config
`
``
443
`+
build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \
`
``
444
`+
Programs/_testembed python-config
`
``
445
+
``
446
`+
Check that the source is clean when building out of source.
`
``
447
`+
check-clean-src:
`
``
448
`+
@if test -n "$(VPATH)" -a -f "$(srcdir)/Programs/python.o"; then \
`
``
449
`+
echo "Error: The source directory ($(srcdir)) is not clean" ; \
`
``
450
`+
echo "Building Python out of the source tree (in (absbuilddir))requiresacleansourcetree((abs_builddir)) requires a clean source tree ((absbuilddir))requiresacleansourcetree((abs_srcdir))" ; \
`
``
451
`+
echo "Try to run: make -C "$(srcdir)" clean" ; \
`
``
452
`+
exit 1; \
`
``
453
`+
fi
`
444
454
``
445
455
`# Compile a binary with profile guided optimization.
`
446
456
`profile-opt:
`
`@@ -530,7 +540,7 @@ coverage-report: regen-grammar regen-importlib
`
530
540
`# Run "Argument Clinic" over all source files
`
531
541
`# (depends on python having already been built)
`
532
542
`.PHONY=clinic
`
533
``
`-
clinic: (BUILDPYTHON)(BUILDPYTHON) (BUILDPYTHON)(srcdir)/Modules/_blake2/blake2s_impl.c
`
``
543
`+
clinic: check-clean-src (BUILDPYTHON)(BUILDPYTHON) (BUILDPYTHON)(srcdir)/Modules/_blake2/blake2s_impl.c
`
534
544
` (RUNSHARED)(RUNSHARED) (RUNSHARED)(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make
`
535
545
``
536
546
`# Build the interpreter
`
`@@ -1091,7 +1101,7 @@ altinstall: commoninstall
`
1091
1101
` ensurepip --root=$(DESTDIR)/ ; \
`
1092
1102
` fi
`
1093
1103
``
1094
``
`-
commoninstall: @FRAMEWORKALTINSTALLFIRST@ \
`
``
1104
`+
commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \
`
1095
1105
` altbininstall libinstall inclinstall libainstall \
`
1096
1106
` sharedinstall oldsharedinstall altmaninstall \
`
1097
1107
` @FRAMEWORKALTINSTALLLAST@
`
`@@ -1714,7 +1724,7 @@ patchcheck: @DEF_MAKE_RULE@
`
1714
1724
`Python/thread.o: @THREADHEADERS@
`
1715
1725
``
1716
1726
`# Declare targets that aren't real files
`
1717
``
`-
.PHONY: all build_all sharedmods oldsharedmods test quicktest
`
``
1727
`+
.PHONY: all build_all sharedmods check-clean-src oldsharedmods test quicktest
`
1718
1728
`.PHONY: install altinstall oldsharedinstall bininstall altbininstall
`
1719
1729
`.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
`
1720
1730
`.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
`