Index: BLFS/blfs-parser.sh
===================================================================
--- BLFS/blfs-parser.sh	(revision 3d888efb9082d6cdaa0a3ac3f1773cf64727a31e)
+++ BLFS/blfs-parser.sh	(revision cace333e8e9c83b6b86f1682028e9b8f174d05f1)
@@ -34,4 +34,9 @@
 source libs/func_parser
 [[ $? > 0 ]] && echo -e "\n\tERROR: func_parser did not load..\n" && exit
+
+#---------------------
+# Makefile module
+source libs/func_makefile
+[[ $? > 0 ]] && echo -e "\n\tERROR: func_makefile did not load..\n" && exit
 
 
@@ -118,2 +123,3 @@
 generate_target_book
 create_build_scripts
+generate_Makefile
Index: BLFS/libs/constants.inc
===================================================================
--- BLFS/libs/constants.inc	(revision 3d888efb9082d6cdaa0a3ac3f1773cf64727a31e)
+++ BLFS/libs/constants.inc	(revision cace333e8e9c83b6b86f1682028e9b8f174d05f1)
@@ -34,2 +34,7 @@
 declare -r R_arrow=$'\e[1;33m>\e[0m'
 declare -r L_arrow=$'\e[1;33m<\e[0m'
+
+HEADER="# This file is automatically generated by jhalfs
+# DO NOT EDIT THIS FILE MANUALLY
+#
+# Generated on `date \"+%F %X %Z\"`"
Index: BLFS/libs/func_makefile
===================================================================
--- BLFS/libs/func_makefile	(revision 3d888efb9082d6cdaa0a3ac3f1773cf64727a31e)
+++ BLFS/libs/func_makefile	(revision cace333e8e9c83b6b86f1682028e9b8f174d05f1)
@@ -5,2 +5,138 @@
 # $Id$
 #####
+
+# TEMPORARY VARIABLES.. development use only
+declare MKFILE=devMakefile
+declare PREV_PACKAGE=""
+SCRIPT_ROOT=jhalfs
+BUILD_SCRIPTS=scripts
+TRACKING_DIR=/var/lib/jhalfs/BLFS
+BUILDDIR=~/TRIAL
+LOGDIR=$BUILDDIR/logs
+
+#----------------------------------#
+__wrt_target() {                   # Create target and initialize log file
+#----------------------------------#
+  local i=$1
+  local PREV=$2
+(
+cat << EOF
+
+$i:  $PREV
+	@\$(call echo_message, Building)
+EOF
+) >> $MKFILE.tmp
+}
+
+
+
+#----------------------------------#
+__write_build_cmd() {              # Some scripts must be run as root..
+#----------------------------------#
+  local this_script=$1
+  local file=$2
+(
+cat << EOF
+	@( time { export LFS=\$(MOUNT_PT) && ${BUILD_SCRIPTS}/$file >>\$(LOGDIR)/$this_script 2>&1 ; } ) 2>>\$(LOGDIR)/$this_script
+EOF
+) >> $MKFILE.tmp
+}
+
+#----------------------------------#
+__wrt_touch() {                    #
+#----------------------------------#
+(
+cat << EOF
+	@touch  \$@ && \\
+	touch /var/lib/jhalfs/BLFS/${1#*-} \\
+	sleep .25 && \\
+	echo -e "\n\n "\$(BOLD)Target \$(BLUE)\$@ \$(BOLD)OK && \\
+	echo --------------------------------------------------------------------------------\$(WHITE)
+EOF
+) >> $MKFILE.tmp
+}
+
+
+#----------------------------#
+__write_entry() {            #
+#----------------------------#
+  local pkg_name=$1
+
+  echo "${tab_}${tab_} entry for <$pkg_name>"
+
+  #--------------------------------------------------------------------#
+  #         >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<<          #
+  #--------------------------------------------------------------------#
+  #
+  # Drop in the name of the target on a new line, and the previous target
+  # as a dependency. Also call the echo_message function.
+  __wrt_target "${pkg_name}" "$PREV_PACKAGE"
+  __write_build_cmd "${pkg_name}" "${pkg_name}"
+
+  # Include a touch of the target name so make can check
+  # if it's already been made.
+  __wrt_touch "${pkg_name}"
+  #
+  #--------------------------------------------------------------------#
+  #              >>>>>>>> END OF Makefile ENTRY <<<<<<<<               #
+  #--------------------------------------------------------------------#
+
+}
+
+#----------------------------#
+generate_Makefile () {       #
+#----------------------------#
+
+
+  echo "${tab_}Creating Makefile... ${BOLD}START${OFF}"
+
+  # Start with a clean files
+  >$MKFILE
+  >$MKFILE.tmp
+
+  
+  for package_script in scripts/* ; do
+    this_script=`basename $package_script`
+    if [ ! -e $TRACKING_DIR/${this_script#*-} ]; then
+      pkg_list="$pkg_list ${this_script}"
+      __write_entry $this_script
+      PREV_PACKAGE=${this_script}
+    fi
+  done
+
+
+  # Add a header, some variables and include the function file
+  # to the top of the real Makefile.
+(
+    cat << EOF
+$HEADER
+
+SRC= /sources
+MOUNT_PT= $BUILDDIR
+LOGDIR= $LOGDIR
+
+BOLD= "[0;1m"
+RED= "[1;31m"
+GREEN= "[0;32m"
+ORANGE= "[0;33m"
+BLUE= "[1;34m"
+WHITE= "[00m"
+
+define echo_message
+  @echo \$(BOLD)
+  @echo --------------------------------------------------------------------------------
+  @echo \$(BOLD)\$(1) target \$(BLUE)\$@\$(BOLD)
+  @echo \$(WHITE)
+endef
+
+all : $pkg_list
+
+EOF
+) > $MKFILE
+
+ 
+  cat $MKFILE.tmp >> $MKFILE
+
+  echo "${tab_}Creating Makefile... ${BOLD}DONE${OFF}"
+
+}
Index: BLFS/libs/func_parser
===================================================================
--- BLFS/libs/func_parser	(revision 3d888efb9082d6cdaa0a3ac3f1773cf64727a31e)
+++ BLFS/libs/func_parser	(revision cace333e8e9c83b6b86f1682028e9b8f174d05f1)
@@ -99,6 +99,5 @@
 
   local filename # output filename
-
-  echo -en  "\tGenerating the HTML book ..."
+  echo -en  "\tGenerating the HTML book for <$TARGET> from the xml files located in <$BLFS_XML>..."
   xsltproc --xinclude --nonet \
            --stringparam mail_server $MAIL_SERVER \
@@ -107,5 +106,4 @@
            ../libs/book.xsl \
            $TARGET-index.xml > xsltproc.log 2>&1
-
   mkdir HTML/{stylesheets,images}
   cp ../$BLFS_XML/stylesheets/*.css HTML/stylesheets
@@ -146,3 +144,6 @@
            $TARGET-index.xml >> xsltproc.log 2>&1
   echo "done"
+    # Make the scripts executable.
+  chmod -R +x scripts
+
 }
