Changeset cace333e


Ignore:
Timestamp:
06/13/2006 12:56:07 AM (18 years ago)
Author:
George Boudreau <georgeb@…>
Branches:
experimental
Children:
5d93cec
Parents:
3d888ef
Message:

Early work on makefile generation.. DO NOT run the makefile yet

Location:
BLFS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • BLFS/blfs-parser.sh

    r3d888ef rcace333e  
    3434source libs/func_parser
    3535[[ $? > 0 ]] && echo -e "\n\tERROR: func_parser did not load..\n" && exit
     36
     37#---------------------
     38# Makefile module
     39source libs/func_makefile
     40[[ $? > 0 ]] && echo -e "\n\tERROR: func_makefile did not load..\n" && exit
    3641
    3742
     
    118123generate_target_book
    119124create_build_scripts
     125generate_Makefile
  • BLFS/libs/constants.inc

    r3d888ef rcace333e  
    3434declare -r R_arrow=$'\e[1;33m>\e[0m'
    3535declare -r L_arrow=$'\e[1;33m<\e[0m'
     36
     37HEADER="# This file is automatically generated by jhalfs
     38# DO NOT EDIT THIS FILE MANUALLY
     39#
     40# Generated on `date \"+%F %X %Z\"`"
  • BLFS/libs/func_makefile

    r3d888ef rcace333e  
    55# $Id$
    66#####
     7
     8# TEMPORARY VARIABLES.. development use only
     9declare MKFILE=devMakefile
     10declare PREV_PACKAGE=""
     11SCRIPT_ROOT=jhalfs
     12BUILD_SCRIPTS=scripts
     13TRACKING_DIR=/var/lib/jhalfs/BLFS
     14BUILDDIR=~/TRIAL
     15LOGDIR=$BUILDDIR/logs
     16
     17#----------------------------------#
     18__wrt_target() {                   # Create target and initialize log file
     19#----------------------------------#
     20  local i=$1
     21  local PREV=$2
     22(
     23cat << EOF
     24
     25$i:  $PREV
     26        @\$(call echo_message, Building)
     27EOF
     28) >> $MKFILE.tmp
     29}
     30
     31
     32
     33#----------------------------------#
     34__write_build_cmd() {              # Some scripts must be run as root..
     35#----------------------------------#
     36  local this_script=$1
     37  local file=$2
     38(
     39cat << EOF
     40        @( time { export LFS=\$(MOUNT_PT) && ${BUILD_SCRIPTS}/$file >>\$(LOGDIR)/$this_script 2>&1 ; } ) 2>>\$(LOGDIR)/$this_script
     41EOF
     42) >> $MKFILE.tmp
     43}
     44
     45#----------------------------------#
     46__wrt_touch() {                    #
     47#----------------------------------#
     48(
     49cat << EOF
     50        @touch  \$@ && \\
     51        touch /var/lib/jhalfs/BLFS/${1#*-} \\
     52        sleep .25 && \\
     53        echo -e "\n\n "\$(BOLD)Target \$(BLUE)\$@ \$(BOLD)OK && \\
     54        echo --------------------------------------------------------------------------------\$(WHITE)
     55EOF
     56) >> $MKFILE.tmp
     57}
     58
     59
     60#----------------------------#
     61__write_entry() {            #
     62#----------------------------#
     63  local pkg_name=$1
     64
     65  echo "${tab_}${tab_} entry for <$pkg_name>"
     66
     67  #--------------------------------------------------------------------#
     68  #         >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<<          #
     69  #--------------------------------------------------------------------#
     70  #
     71  # Drop in the name of the target on a new line, and the previous target
     72  # as a dependency. Also call the echo_message function.
     73  __wrt_target "${pkg_name}" "$PREV_PACKAGE"
     74  __write_build_cmd "${pkg_name}" "${pkg_name}"
     75
     76  # Include a touch of the target name so make can check
     77  # if it's already been made.
     78  __wrt_touch "${pkg_name}"
     79  #
     80  #--------------------------------------------------------------------#
     81  #              >>>>>>>> END OF Makefile ENTRY <<<<<<<<               #
     82  #--------------------------------------------------------------------#
     83
     84}
     85
     86#----------------------------#
     87generate_Makefile () {       #
     88#----------------------------#
     89
     90
     91  echo "${tab_}Creating Makefile... ${BOLD}START${OFF}"
     92
     93  # Start with a clean files
     94  >$MKFILE
     95  >$MKFILE.tmp
     96
     97 
     98  for package_script in scripts/* ; do
     99    this_script=`basename $package_script`
     100    if [ ! -e $TRACKING_DIR/${this_script#*-} ]; then
     101      pkg_list="$pkg_list ${this_script}"
     102      __write_entry $this_script
     103      PREV_PACKAGE=${this_script}
     104    fi
     105  done
     106
     107
     108  # Add a header, some variables and include the function file
     109  # to the top of the real Makefile.
     110(
     111    cat << EOF
     112$HEADER
     113
     114SRC= /sources
     115MOUNT_PT= $BUILDDIR
     116LOGDIR= $LOGDIR
     117
     118BOLD= "[0;1m"
     119RED= "[1;31m"
     120GREEN= "[0;32m"
     121ORANGE= "[0;33m"
     122BLUE= "[1;34m"
     123WHITE= "[00m"
     124
     125define echo_message
     126  @echo \$(BOLD)
     127  @echo --------------------------------------------------------------------------------
     128  @echo \$(BOLD)\$(1) target \$(BLUE)\$@\$(BOLD)
     129  @echo \$(WHITE)
     130endef
     131
     132all : $pkg_list
     133
     134EOF
     135) > $MKFILE
     136
     137 
     138  cat $MKFILE.tmp >> $MKFILE
     139
     140  echo "${tab_}Creating Makefile... ${BOLD}DONE${OFF}"
     141
     142}
  • BLFS/libs/func_parser

    r3d888ef rcace333e  
    9999
    100100  local filename # output filename
    101 
    102   echo -en  "\tGenerating the HTML book ..."
     101  echo -en  "\tGenerating the HTML book for <$TARGET> from the xml files located in <$BLFS_XML>..."
    103102  xsltproc --xinclude --nonet \
    104103           --stringparam mail_server $MAIL_SERVER \
     
    107106           ../libs/book.xsl \
    108107           $TARGET-index.xml > xsltproc.log 2>&1
    109 
    110108  mkdir HTML/{stylesheets,images}
    111109  cp ../$BLFS_XML/stylesheets/*.css HTML/stylesheets
     
    146144           $TARGET-index.xml >> xsltproc.log 2>&1
    147145  echo "done"
     146    # Make the scripts executable.
     147  chmod -R +x scripts
     148
    148149}
Note: See TracChangeset for help on using the changeset viewer.