I thought it would be interesting to use the Python shell (2.5.2, in this example) for a makefile instead of Bash. This is a one line change via the SHELL variable.
The combination of Python's indentation syntax and Make's command invocation style did not mix well. The problem is identical to that encountered when specifying a Python program on invocation via the -c option. In Make, it's $(SHELL) -c COMMAND.
In conclusion, it's very impractical to use Python and Make together in this way.
Appended is one of the makefile's I experimented with. You may also download it distinctly here.
SHELL = python
some_make_var := \
$(shell \
print 'ABCD'; )
foo:
print '$(some_make_var)';
for c in range(0, 5): \
print c;
for d in range(5,6): \
print d;