[Python-Dev] Makefile changes

Neil Schemenauer nas@arctrix.com
Thu, 25 Jan 2001 05:07:53 -0800


On Thu, Jan 25, 2001 at 12:13:03PM -0500, Jeremy Hylton wrote:
> What would it take to add useful dependency information to the
> Makefile?  Or does it already exist?

Some of it exists but I don't think its complete.

> When I was working the nested scopes, building was tedious at times
> because a change to funcobject.h meant that, e.g., newmodule.c needed
> to be recompiled.  The Makefiles didn't capture that information, so I
> had been adding it to the individual Makefiles, e.g.
> 
> newmodule.o: newmodule.c ../Include/funcobject.h
> 
> (I think this worked.)


Hmm, I don't think so.  Which makefile did you add this to?  Are
you using the new makefile?  The Makefile.pre.in file contains a
line like:

    $(LIBRARY_OBJS) $(MAINOBJ): $(PYTHON_HEADERS)

but newmodule.o not in LIBRARY_OBJS.  By default its not compiled
by make but with distutils.  If you add newmodule to Setup then a
line like:

    Modules/newmodule.o: $(PYTHON_HEADERS)

would do the trick.  I think I will add a line like:

    $(MODOBJS): $(PYTHON_HEADERS)

to fix the problem.

I could easily restore the mkdep target but my feeling right now
that explicitly including the header dependencies is better.
What do you think?  

  Neil