Don't use $< in normal make rules: it's not portable.  Using $< in
inference rules (e.g. .c.o) is fine.
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 1395ab5..46e1c51 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -375,7 +375,7 @@
 # Special rules for object files
 
 Modules/getbuildinfo.o: $(srcdir)/Modules/getbuildinfo.c buildno
-	$(CC) -c $(PY_CFLAGS) -DBUILD=`cat buildno` -o $@ $<
+	$(CC) -c $(PY_CFLAGS) -DBUILD=`cat buildno` -o $@ $(srcdir)/Modules/getbuildinfo.c
 
 Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
 	$(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
@@ -383,10 +383,10 @@
 		-DEXEC_PREFIX='"$(exec_prefix)"' \
 		-DVERSION='"$(VERSION)"' \
 		-DVPATH='"$(VPATH)"' \
-		-o $@ $<
+		-o $@ $(srcdir)/Modules/getpath.c
 
-Modules/ccpython.o: Modules/ccpython.cc
-	$(CXX) -c $(PY_CFLAGS) -o $@ $<
+Modules/ccpython.o: $(srcdir)/Modules/ccpython.cc
+	$(CXX) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/ccpython.cc
 
 
 $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
@@ -405,10 +405,10 @@
 
 
 Python/getplatform.o: $(srcdir)/Python/getplatform.c
-		$(CC) -c $(CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $<
+		$(CC) -c $(CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
 
 Python/importdl.o: $(srcdir)/Python/importdl.c
-		$(CC) -c $(CFLAGS) -I$(DLINCLDIR) -o $@ $<
+		$(CC) -c $(CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
 
 
 Objects/unicodectype.o:	$(srcdir)/Objects/unicodectype.c \