diff --git a/Makefile.pamphlet b/Makefile.pamphlet
index 67a7412..5b1e64f 100644
--- a/Makefile.pamphlet
+++ b/Makefile.pamphlet
@@ -655,8 +655,8 @@ srcdir: rootdirs ${SPD}/src/Makefile
 ${SPD}/src/Makefile: ${SPD}/src/Makefile.pamphlet
 	@echo 16 making ${SPD}/src/Makefile from ${SPD}/src/Makefile.pamphlet
 	( cd src ; \
-	   ${DOCUMENT} Makefile ; \
-	   cp Makefile.dvi ${MNT}/${SYS}/doc/src/src.Makefile.dvi )
+	   ${EXTRACT} Makefile ; \
+	   cp Makefile.pdf ${MNT}/${SYS}/doc/src/src.Makefile.pdf )
 
 libspadclean:
 	@echo 17 cleaning ${OBJ}/${SYS}/lib	
diff --git a/changelog b/changelog
index 43fa6c1..d8bb028 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20140625 tpd src/axiom-website/patches.html 20140625.02.tpd.patch
+20140625 tpd Makefile.pamphlet extract src/Makefile using chunk syntax
+20140625 tpd src/Makefile.pamphlet extract src using chunk syntax
 20140625 tpd src/axiom-website/patches.html 20140625.01.tpd.patch
 20140625 tpd Makefile extract books/Makefile using new chunk machinery
 20140625 tpd books/Makefile.pamphlet changed to use chunk syntax
diff --git a/patch b/patch
new file mode 100644
index 0000000..cb1649d
--- /dev/null
+++ b/patch
@@ -0,0 +1,6 @@
+Makefile.pamphlet src/Makefile.pamphlet use chunk syntax
+
+This is the src Makefile using the chunk syntax along with
+supporting build machinery. The tangle.c function can extract
+code from a pamphlet. The extract function can create the PDf
+of a pamphlet.
diff --git a/src/Makefile.pamphlet b/src/Makefile.pamphlet
index a53fd4f..4a99a93 100644
--- a/src/Makefile.pamphlet
+++ b/src/Makefile.pamphlet
@@ -15,36 +15,36 @@ DIRS is a list of directories with the suffix {\bf dir}.
 
 There is a partial order of the directories which is not apparent.
 
-The [[bootdir]] must occur first as it builds the boot language
-compiler and the [[bootsys]] image.
+The bootdir must occur first as it builds the boot language
+compiler and the bootsys image.
 
-The [[interpdir]] must come second because it builds the interpreter
-and the [[interpsys]] image, which is the basic algebra engine.
+The interpdir must come second because it builds the interpreter
+and the interpsys image, which is the basic algebra engine.
 
-The [[sharedir]] must occur before the [[algebradir]] because it
+The sharedir must occur before the algebradir because it
 needs to put the databases in the proper location.
 
-The [[algebradir]] comes next. It contains the source code for all
+The algebradir comes next. It contains the source code for all
 of the algebra that Axiom knows.
 
-The [[etcdir]] must occur after the [[algebradir]] because it
-builds the databases from all of the [[*.nrlib]] directories
-constructed by [[algebradir]].
+The etcdir must occur after the algebradir because it
+builds the databases from all of the *.nrlib directories
+constructed by algebradir.
 
-The [[inputdir]] needs to occur last because it tests
+The inputdir needs to occur last because it tests
 various other parts of the system. 
 
-The [[SRCDIRS]] variable is a list of directory targets. 
+The SRCDIRS variable is a list of directory targets. 
 Since this varies from system to system it has been lifted
-up to the top level [[Makefile.pamphlet]]. If you add a new
+up to the top level Makefile.pamphlet. If you add a new
 stanza to this Makefile you should check that list. 
-<<environment>>=
+\begin{chunk}{environment}
 SETUP=scriptsdir libdir
 DIRS=${SRCDIRS}
 LTANGLE=${OBJ}/${SYS}/bin/lisp
 VOL11=${BOOKS}/bookvol11.pamphlet
 
-@
+\end{chunk}
 \subsection{The scripts directory}
 The {\bf scripts} directory contains shell scripts that we use
 to simplify system builds. They are generally copied directly
@@ -52,7 +52,7 @@ into the final executable path. Perhaps this design should
 be reconsidered if we don't plan to ship them in the final
 system.
 
-<<scriptsdir>>=
+\begin{chunk}{scriptsdir}
 scriptsdir: ${SRC}/scripts/Makefile
 	@echo 1 making ${SRC}/scripts
 	@(cd scripts ; ${ENV} ${MAKE} )
@@ -75,11 +75,11 @@ scriptsclean: ${SRC}/scripts/Makefile
 	@rm -f ${SRC}/scripts/Makefile
 	@rm -f ${SRC}/scripts/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The clef directory}
 The {\bf clef} directory contains an Axiom command that works similar
 to GNU Readline.
-<<clefdir>>=
+\begin{chunk}{clefdir}
 clefdir: ${SRC}/clef/Makefile
 	@echo 5 making ${SRC}/clef
 	@mkdir -p ${OBJ}/${SYS}/clef
@@ -103,11 +103,11 @@ clefclean: ${SRC}/clef/Makefile
 	@rm -f ${SRC}/clef/Makefile
 	@rm -f ${SRC}/clef/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The clef directory}
 Superman (sman) is the master process that runs all of the other
 processes including axiom, clef, nagman, graphics, and hyperdoc
-<<smandir>>=
+\begin{chunk}{smandir}
 smandir: ${SPD}/books/bookvol6.pamphlet
 	@echo 5 making ${SRC}/sman
 	@mkdir -p ${INT}/sman
@@ -118,12 +118,12 @@ smandir: ${SPD}/books/bookvol6.pamphlet
         | ${LTANGLE} ; \
            ${ENV} ${MAKE} )
 
-@
+\end{chunk}
 \subsection{The share directory}
 The {\bf share} directory files that are shared by all version of the
 system.
 
-<<sharedir>>=
+\begin{chunk}{sharedir}
 sharedir: ${SRC}/share/Makefile
 	@echo 9 making ${SRC}/share
 	@mkdir -p ${MNT}/${SYS}/lib
@@ -147,14 +147,14 @@ shareclean: ${SRC}/share/Makefile
 	@rm -f ${SRC}/share/Makefile
 	@rm -f ${SRC}/share/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The booklet directory}
 The {\bf booklet} directory contains pamphlet files that document
 Axiom at a "higher level" than any particular pamphlet file. Booklets
 can be stand-alone descriptions (e.g. the Rosetta.pamphlet), 
 top-down slices thru the system (e.g. the Integration.pamphlet),
 or horizontal slices thru the system (e.g. the Matrix.pamphlet).
-<<bookletsdir>>=
+\begin{chunk}{bookletsdir}
 bookletsdir: ${SRC}/booklets/Makefile
 	@echo 13 making ${SRC}/booklets
 	@(cd booklets ; ${ENV} ${MAKE} )
@@ -174,14 +174,14 @@ bookletsclean: ${SRC}/booklets/Makefile
 	@( cd booklets ; ${ENV} ${MAKE} clean )
 
 
-@
+\end{chunk}
 \subsection{The lib directory}
 The {\bf lib} directory is used to build {\bf libspad.a} which 
 contains C code for extending the underlying Common Lisp systems.
 It is built early in the process of system building because we
 need to make {\bf libspad.a} before we make the Common Lisps.
 
-<<libdir>>=
+\begin{chunk}{libdir}
 libdir: ${SRC}/lib/Makefile
 	@echo 17 making ${SRC}/lib
 	@mkdir -p ${INT}/lib
@@ -208,7 +208,7 @@ libclean: ${SRC}/lib/Makefile
 	@rm -f ${SRC}/lib/Makefile
 	@rm -f ${SRC}/lib/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The boot directory}
 Axiom is built in layers. The first layer is contructed into
 an image called {\bf bootsys}. The {\bf bootsys} image is used
@@ -218,7 +218,7 @@ interpreter we have a "boot-strapping" problem. In order to get
 the whole process to start we need certain files kept in 
 common lisp form. This directory contains those files.
 
-<<bootdir>>=
+\begin{chunk}{bootdir}
 bootdir: ${SRC}/boot/Makefile
 	@echo 21 making ${SRC}/boot
 	@mkdir -p ${INT}/boot
@@ -245,7 +245,7 @@ bootclean: ${SRC}/boot/Makefile
 	@rm -f ${SRC}/boot/Makefile
 	@rm -f ${SRC}/boot/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The interp directory}
 Once {\bf bootsys} exists we need to build {\bf depsys}
 and {\bf interpsys}. Since these two images share a lot of
@@ -261,7 +261,7 @@ because the spad compiler checks the syntax of the ++ comments
 against the macros that exist in that file. This is done in the
 function buildHtMacroTable (htcheck.boot)
 
-<<interpdir>>=
+\begin{chunk}{interpdir}
 interpdir: ${SRC}/interp/Makefile
 	@echo 25 making ${SRC}/interp
 	@mkdir -p ${INT}/interp
@@ -299,7 +299,7 @@ interpclean: ${SRC}/interp/Makefile
 	@rm -f ${SRC}/interp/Makefile
 	@rm -f ${SRC}/interp/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The input directory}
 The input directory contains code used for examples, regression
 testing, and bug tracking. In a shipped system the working examples
@@ -315,7 +315,7 @@ run with the example code and the regression test code. Regression
 test input files are compared against known good results to ensure
 that nothing has been broken in the process of fixing bugs.
 
-<<inputdir>>=
+\begin{chunk}{inputdir}
 inputdir: ${SRC}/input/Makefile
 	@echo 33 making ${SRC}/input
 	@mkdir -p ${INT}/input
@@ -343,14 +343,14 @@ inputclean: ${SRC}/input/Makefile
 	@rm -f ${SRC}/input/Makefile
 	@rm -f ${SRC}/input/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The etc directory}
 The etc directory contains code used as tools surrounding Axiom.
 
 The asq \cite{2} command, contained in this directory, is useful
 for finding detailed information about domains, packages, and
 categories from the shell without running Axiom.
-<<etcdir>>=
+\begin{chunk}{etcdir}
 etcdir: ${SRC}/etc/Makefile
 	@echo 37 making ${SRC}/etc
 	@mkdir -p ${OBJ}/${SYS}/etc
@@ -376,7 +376,7 @@ etcclean: ${SRC}/etc/Makefile
 	@rm -f ${SRC}/etc/Makefile
 	@rm -f ${SRC}/etc/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{The doc directory}
 The doc directory contains code used for documenting Axiom.
 
@@ -384,7 +384,7 @@ We've added the books directory above as part of the literate process.
 This takes all of the Axiom volumes and creates .pdf copies in the
 final doc directory.
 
-<<docdir>>=
+\begin{chunk}{docdir}
 docdir: ${SRC}/doc/Makefile
 	@echo 41 making ${SRC}/doc
 	@mkdir -p ${INT}/doc
@@ -421,10 +421,10 @@ docclean: ${SRC}/doc/Makefile
 	@rm -f ${SRC}/doc/Makefile
 	@rm -f ${SRC}/doc/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{Volume 7:Axiom Hyperdoc book}
 Hyperdoc is the Axiom document browser.
-<<hyperdir>>=
+\begin{chunk}{hyperdir}
 hyperdir: ${SPD}/books/bookvol7.pamphlet ${SPD}/books/bookvol7.1.pamphlet
 	@echo 7 making hyperdoc from bookvol7
 	@mkdir -p ${INT}/hyper
@@ -442,9 +442,9 @@ hyperdir: ${SPD}/books/bookvol7.pamphlet ${SPD}/books/bookvol7.1.pamphlet
           | ${LTANGLE} ; \
 	  ${ENV} ${MAKE} )
 
-@
+\end{chunk}
 \subsection{Volume 8: Axiom Graphics book}
-<<graphdir>>=
+\begin{chunk}{graphdir}
 graphdir: ${SPD}/books/bookvol8.pamphlet
 	@echo 8 making graph from bookvol8
 	@mkdir -p ${OBJ}/${SYS}/graph
@@ -453,7 +453,7 @@ graphdir: ${SPD}/books/bookvol8.pamphlet
                | ${LTANGLE} ; \
 	  ${ENV} ${MAKE} )
 
-@
+\end{chunk}
 \subsection{The algebra directory}
 The algebra directory contains code written in Axiom's computer
 algebra language called {\bf spad}. There are two compilers for
@@ -474,16 +474,16 @@ making all the .spad files in a series of ``layers'' such that
 each layer depends on only those layers that preceed it, beginning
 with the bootstap layer. Because the individual .spad files are
 grouped into higher-level algebra pamphlet files, the rules for
-extracting them are derived from a simple script [[findAlgebraFiles]] which
+extracting them are derived from a simple script findAlgebraFiles which
 appends these additional rules to the Makefile.
 
-The [[src/algebra/Makefile]] is specially constructed in two
-steps. The first step uses the [[document]] command to extract
+The src/algebra/Makefile is specially constructed in two
+steps. The first step uses the document command to extract
 the normal Makefile information.
 
-The second step is to extend the [[src/algebra/Makefile]] with
+The second step is to extend the src/algebra/Makefile with
 stanzas that describe the steps to extract the algebra from the
-[[src/algebra/*.pamphlet]] files into the [[int/algebra/*.spad]] files.
+src/algebra/*.pamphlet files into the int/algebra/*.spad files.
 Further details are provided in Makefile for src/algebra.
 
 The doc/spadhelp directory contains flat files of help text
@@ -499,7 +499,7 @@ Eventually we will pick this information up directly
 from the books directory.
 
 \subsection{Volume 10: Axiom Algebra book}
-<<algebradir>>=
+\begin{chunk}{algebradir}
 algebradir: ${SRC}/algebra/Makefile ${SPD}/books/bookvol10.pamphlet \
             ${SPD}/books/bookvol7.1.pamphlet
 	@echo 29 making ${SRC}/algebra
@@ -545,13 +545,13 @@ algebraclean: ${SRC}/algebra/Makefile
 	@rm -f ${SRC}/algebra/Makefile
 	@rm -f ${SRC}/algebra/Makefile.dvi
 
-@
+\end{chunk}
 \subsection{Volume 11: Axiom Browser book}
 These are the pages for the Axiom Firefox browser interface.
 They can be expanded in parallel since they (currently) need no
 post processing. Thus the "-j 10" argument to make. We use 
 ``Makefile11'' so that future parallel builds don't step on each other.
-<<browserdir>>=
+\begin{chunk}{browserdir}
 browserdir: ${SPD}/books/bookvol11.pamphlet
 	@echo 11 making browser from bookvol11
 #	@mkdir -p ${MNT}/${SYS}/doc/hypertex/bitmaps
@@ -560,42 +560,46 @@ browserdir: ${SPD}/books/bookvol11.pamphlet
 #	  ${ENV} ${MAKE} -j 10 -f Makefile11 ; \
 #	  rm -f Makefile11 )
 
-@ \section{The Makefile} This Makefile gets called twice during the
+\end{chunk}
+
+\section{The Makefile}
+
+This Makefile gets called twice during the
 system build. The first call is to the {\bf setup} stanza which will
 execute the {\bf scriptsdir} stanza to copy the system scripts to the
-[[mnt/${SYS}/bin]] directory. And the {\bf libdir} stanza is executed
+\verb|mnt/${SYS}/bin| directory. And the {\bf libdir} stanza is executed
 to build {\bf libspad.a} which contains code needed by the underlying
 lisp.
 
 The second call will execute the {\bf all} stanza. This stanza walks 
 all of the lower level directories.
-<<*>>=
+\begin{chunk}{*}
 
-<<environment>>
+\getchunk{environment}
 
 all: ${DIRS}
 	@echo 49 finished ${SRC}
 
 setup: ${SETUP}
 
-<<scriptsdir>>
-<<clefdir>>
-<<smandir>>
-<<sharedir>>
-<<docdir>>
-<<bookletsdir>>
-<<libdir>>
-<<bootdir>>
-<<interpdir>>
-<<algebradir>>
-<<inputdir>>
-<<etcdir>>
-
-<<hyperdir>>
-<<graphdir>>
-<<browserdir>>
-
-@
+\getchunk{scriptsdir}
+\getchunk{clefdir}
+\getchunk{smandir}
+\getchunk{sharedir}
+\getchunk{docdir}
+\getchunk{bookletsdir}
+\getchunk{libdir}
+\getchunk{bootdir}
+\getchunk{interpdir}
+\getchunk{algebradir}
+\getchunk{inputdir}
+\getchunk{etcdir}
+
+\getchunk{hyperdir}
+\getchunk{graphdir}
+\getchunk{browserdir}
+
+\end{chunk}
 \eject
 \begin{thebibliography}{99}
 \bibitem{1} Watt, Stephen, The Aldor compiler, {\bf www.aldor.org}
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index dedede2..ef90e06 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4496,6 +4496,8 @@ src/scripts/boxhead, boxtail, boxup, showdvi removed
 Makefile, books/tangle.c set up a native tangle function
 <a href="patches/20140624.01.tpd.patch">20140624.01.tpd.patch</a>
 Makefile books/Makefile.pamphlet books/tangle.c books/extract
+<a href="patches/20140624.02.tpd.patch">20140624.02.tpd.patch</a>
+Makefile.pamphlet src/Makefile.pamphlet use chunk syntax
  </body>
 </html>
 
