New submission from Paul "TBBle" Hampson:
Noticed in Python 2.7 but a quick look in the repository suggests this is also
true in Python 3 releases.
The Makefile rule for Makefile.pre in Makefile.pre.in is:
# Build the toplevel Makefile
Makefile.pre: Makefile.pre.in config.status
CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
$(MAKE) -f Makefile.pre Makefile
However, when built out-of-tree, Makefile.pre is in the build directory, as as
config.status, but Makefile.pre.in is in the source directory.
So the rule should be
# Build the toplevel Makefile
Makefile.pre: $(srcdir)/Makefile.pre.in config.status
CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
$(MAKE) -f Makefile.pre Makefile
Note that the recipe doesn't change, as config.status internally knows where
Makefile.pre.in is found, so it's just the rule dependency that's wrong.
This bug results in "No rule to create Makefile.pre.in" if Makefile.pre is
somehow newer than Makefile or Modules/config.c in the build tree.
----------
components: Build
messages: 190525
nosy: TBBle
priority: normal
severity: normal
status: open
title: Out-of-tree build cannot regenerate Makefile.pre
versions: Python 2.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue18125>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com