Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Avoid using make recursively.
  • Loading branch information
ericsnowcurrently committed Mar 31, 2022
commit 1578fbfb0d7a491d1194a7f761661ab1366aaaa3
27 changes: 18 additions & 9 deletions Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -1136,10 +1136,7 @@ regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
# Deepfreeze targets

.PHONY: regen-deepfreeze
regen-deepfreeze:
@# Possibly generate globals first, to make sure _bootstrap_python builds.
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
$(MAKE) $(DEEPFREEZE_OBJS)
regen-deepfreeze: $(DEEPFREEZE_OBJS)

DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py $(FREEZE_MODULE_DEPS) $(FROZEN_FILES_OUT)

Expand Down Expand Up @@ -1180,13 +1177,25 @@ regen-importlib: regen-frozen
############################################################################
# Global objects

.PHONY: regen-global-objects
regen-global-objects: regen-deepfreeze
@# We already ran in once, before deepfreezing, to make sure
@# _bootstrap_python builds. Now we run it again to catch any
@# remaining globals, including those added by deepfreeze.
GLOBAL_OBJECTS_TARGETS = \
$(srcdir)/Include/internal/pycore_global_objects.h \
$(srcdir)/Include/internal/pycore_global_strings.h

# The global objects will get regenerated as soon these files
# are required, including as a prerequisite for regen-deepfreeze.
$(GLOBAL_OBJECTS_TARGETS): generate-global-objects

.PHONY: generate-global-objects
generate-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py

.PHONY: generate-global-objects-after-deepfreeze
generate-global-objects-after-deepfreeze: regen-deepfreeze $(srcdir)/Tools/scripts/generate_global_objects.py
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py

.PHONY: regen-global-objects
regen-global-objects: regen-deepfreeze generate-global-objects-after-deepfreeze

############################################################################
# ABI

Expand Down