This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author TBBle
Recipients TBBle
Date 2013-06-03.09:17:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1370251063.05.0.0234543553399.issue18125@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2013-06-03 09:17:43TBBlesetrecipients: + TBBle
2013-06-03 09:17:43TBBlesetmessageid: <1370251063.05.0.0234543553399.issue18125@psf.upfronthosting.co.za>
2013-06-03 09:17:43TBBlelinkissue18125 messages
2013-06-03 09:17:42TBBlecreate