@@ -1136,10 +1136,7 @@ regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
11361136# Deepfreeze targets
11371137
11381138.PHONY: regen-deepfreeze
1139- regen-deepfreeze:
1140- @# Possibly generate globals first, to make sure _bootstrap_python builds.
1141- $(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
1142- $(MAKE) $(DEEPFREEZE_OBJS)
1139+ regen-deepfreeze: $(DEEPFREEZE_OBJS)
11431140
11441141DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py $(FREEZE_MODULE_DEPS) $(FROZEN_FILES_OUT)
11451142
@@ -1180,13 +1177,25 @@ regen-importlib: regen-frozen
11801177############################################################################
11811178# Global objects
11821179
1183- .PHONY: regen-global-objects
1184- regen-global-objects: regen-deepfreeze
1185- @# We already ran in once, before deepfreezing, to make sure
1186- @# _bootstrap_python builds. Now we run it again to catch any
1187- @# remaining globals, including those added by deepfreeze.
1180+ GLOBAL_OBJECTS_TARGETS = \
1181+ $(srcdir)/Include/internal/pycore_global_objects.h \
1182+ $(srcdir)/Include/internal/pycore_global_strings.h
1183+
1184+ # The global objects will get regenerated as soon these files
1185+ # are required, including as a prerequisite for regen-deepfreeze.
1186+ $(GLOBAL_OBJECTS_TARGETS): generate-global-objects
1187+
1188+ .PHONY: generate-global-objects
1189+ generate-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py
11881190 $(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
11891191
1192+ .PHONY: generate-global-objects-after-deepfreeze
1193+ generate-global-objects-after-deepfreeze: regen-deepfreeze $(srcdir)/Tools/scripts/generate_global_objects.py
1194+ $(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
1195+
1196+ .PHONY: regen-global-objects
1197+ regen-global-objects: regen-deepfreeze generate-global-objects-after-deepfreeze
1198+
11901199############################################################################
11911200# ABI
11921201
0 commit comments