diff --git a/changelog b/changelog
index 346bb2f..fddcd41 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090914 tpd src/axiom-website/patches.html 20090914.01.tpd.patch
+20090914 tpd src/interp/Makefile add generic rules for lisp compiles
 20090907 tpd src/axiom-website/patches.html 20090907.02.tpd.patch
 20090907 tpd src/input/unit-i-funsel.input unit test the i-funsel functions
 20090907 tpd src/axiom-website/patches.html 20090907.01.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index e3a27d8..c41772b 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2002,5 +2002,7 @@ src/interp/nag-d03.lisp rewrite from boot to lisp<br/>
 src/interp/chtheorm.inputadd more checking<br/>
 <a href="patches/20090907.02.tpd.patch">20090907.02.tpd.patch</a>
 src/input/unit-i-funsel.input unit test the i-funsel functions<br/>
+<a href="patches/20090914.01.tpd.patch">20090914.01.tpd.patch</a>
+src/interp/Makefile add generic rules for lisp compiles<br/>
  </body>
 </html>
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 6bc6b0c..f4187d2 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -4683,9 +4683,6 @@ clean:
 <<varini.o (OUT from MID)>>
 <<varini.lisp (MID from IN)>>
 
-<<vmlisp.o (OUT from MID)>>
-<<vmlisp.lisp (MID from IN)>>
-
 <<warm.data.stanza>>
 
 <<wi1.o (AUTO from MID)>>
@@ -4694,8 +4691,23 @@ clean:
 <<wi2.o (AUTO from MID)>>
 <<wi2.lisp (MID from IN)>>
 
+${OUT}/%.o: ${MID}/%.lisp
+	@ echo generic making ${OUT}/$*.o from ${MID}/$*.lisp
+	@ ( cd ${MID} ; \
+	   if [ -z "${NOISE}" ] ; then \
+	    echo '(progn  (compile-file "vmlisp.lisp"' \
+             ':output-file "${OUT}/$*.o") (${BYE}))' | ${DEPSYS} ; \
+	   else \
+	    echo '(progn  (compile-file "vmlisp.lisp"' \
+             ':output-file "${OUT}/$I.o") (${BYE}))' | ${DEPSYS} \
+             >${TMP}/trace ; \
+	   fi )
+
+${MID}/%.lisp: ${IN}/%.lisp.pamphlet
+	@ echo 137 making ${MID}/$*.lisp from ${IN}/$*.lisp.pamphlet
+	@ (cd ${MID} ; ${TANGLE} ${IN}/$*.lisp.pamphlet >$*.lisp )
+
 @
-pp
 \eject
 \begin{thebibliography}{99}
 \end{thebibliography}
