Skip to content

make distclean needs GNU make to work #122661

Closed
@bibajz

Description

@bibajz

Bug report

Bug description:

Introduced in bc37ac7 , define directive is GNU make specific - https://www.gnu.org/software/make/manual/html_node/Multi_002dLine.html

This is the output of me running make distclean on main, where make is of the BSD variant - https://man.freebsd.org/cgi/man.cgi?make(1)


$ make distclean
find . -depth -name '__pycache__' -exec rm -rf {} ';'
find . -name '*.py[co]' -exec rm -f {} ';'
find . -name '*.[oa]' -exec rm -f {} ';'
find . -name '*.s[ol]' -exec rm -f {} ';'
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
find . -name '*.lto' -exec rm -f {} ';'
find . -name '*.wasm' -exec rm -f {} ';'
find . -name '*.lst' -exec rm -f {} ';'
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
find build -name '*.py' -exec rm -f {} ';' || true
find build -name '*.py[co]' -exec rm -f {} ';' || true
rm -f pybuilddir.txt
rm -f _bootstrap_python
rm -f python.html python*.js python.data python*.symbols python*.map
rm -f ./usr/local/lib/python3.14/os.py
rm -f Programs/_testembed Programs/_freeze_module
rm -rf Python/deepfreeze
rm -f Python/frozen_modules/*.h
rm -f Python/frozen_modules/MANIFEST
rm -f jit_stencils.h
find build -type f -a ! -name '*.gc??' -exec rm -f {} ';'
rm -f Include/pydtrace_probes.h
rm -f profile-gen-stamp
rm -rf iOS/testbed/Python.xcframework/ios-*/bin
rm -rf iOS/testbed/Python.xcframework/ios-*/lib
rm -rf iOS/testbed/Python.xcframework/ios-*/include
rm -rf iOS/testbed/Python.xcframework/ios-*/Python.framework
rm -f *.fdata
rm -f *.prebolt
rm -f *.bolt_inst
rm -f python libpython3.14.a libpython3.14.a   tags TAGS  config.cache config.log pyconfig.h Modules/config.c
rm -rf build platform
rm -rf no-framework
rm -rf iOS/Frameworks
rm -rf iOSTestbed.*
rm -f python-config.py python-config
rm -rf cross-build
make -C ./Doc clean
make[1]: "/tmp/forked/cpython/Doc/Makefile" line 243: Invalid line type
make[1]: "/tmp/forked/cpython/Doc/Makefile" line 249: Invalid line type
make[1]: Fatal errors encountered -- cannot continue
make[1]: stopped in /tmp/forked/cpython/Doc
*** Error code 1

Stop.
make: stopped in /tmp/forked/cpython

Here are the lines:

$ $ cat -n Doc/Makefile | tail -n +243 | head -n7
   243	define ensure_package
   244		if uv --version > /dev/null; then \
   245			$(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || VIRTUAL_ENV=$(VENVDIR) uv pip install $(1); \
   246		else \
   247			$(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install $(1); \
   248		fi
   249	endef

Tested on: FreeBSD14.1

CPython versions tested on:

3.13, CPython main branch

Operating systems tested on:

Other

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-builddocsDocumentation in the Doc dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions