Any interest in better Makefile dependencies?

A fairly long while ago, when 3.13 was still cooking, I got burned by a missing make dependency or two. The general recommendation was to use git clean -fdx to clear everything out and start over. That’s generally what I’ve been doing.

Still, at the time, I created a make-deps branch in my fork to see if I could nudge the (Unix-y) build dependencies into better shape. I made a bunch of progress, but got distracted by other shiny objects (mostly not Python-related), then put it aside.

I got burned again today, when I missed that a git pull step grabbed a apparently pretty important header file. The result was something like 200 failed unit tests. I revisited my previous stuff, merged main to it and rebuilt. It took a couple tries, but seems to sorta work.

I think the biggest challenge is that the generated Makefile.deps file is very platform-dependent, so can’t really be committed to git. Still, I think it does a better job of dependency maintenance that the current system. Maybe it just is belt-and-suspenders.

Is there any interest in this? I know there has been a lot of discussion about migrating to a better build system, but I don’t recall seeing any recent discussion. I will toss this if there is clearly limited lifetime left for make.

1 Like

People still seem interested, but no one has done the work to come up with proofs-of-concept, hold the discussion, and then write the PEP for migrating (the first two steps have happened at various times for various build tools).

I think it would be useful to have a more correct makefile setup regardless of if we someday end up using a different build system.

4 Likes