#!/bin/bash # $Id$ #=== MAKEFILE HEADER === #----------------------------------# wrt_Makefile_header() { # #----------------------------------# ( cat << EOF # This file is automatically generated by jhalfs # DO NOT EDIT THIS FILE MANUALLY # # Generated on `date "+%F %X %Z"` SHELL = /bin/bash MOUNT_PT = $BUILDDIR SCRIPT_ROOT = $SCRIPT_ROOT CMDSDIR = $PROGNAME-commands SRC = /sources SRCSDIR = \$(MOUNT_PT)\$(SRC) FILELOGDIR = /\$(SCRIPT_ROOT)/$FILELOGDIRBASE LUSER = $LUSER LGROUP = $LGROUP LHOME = $LHOME LUSER_HOME = \$(LHOME)/\$(LUSER) SU_LUSER = su - \$(LUSER) -c ADD_REPORT = $REPORT ADD_CUSTOM_TOOLS = $CUSTOM_TOOLS ADD_BLFS_TOOLS = $BLFS_TOOL export PATH := \${PATH}:/usr/sbin include makefile-functions EOF ) > $MKFILE } #======================= #==== TARGET HEADER ==== #----------------------------------# wrt_target() { # Create target #----------------------------------# local i=$1 local PREV=$2 ( cat << EOF $i: $PREV @\$(call echo_message, Building) @export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID & EOF ) >> $MKFILE.tmp } #======================= #======== RUN THE SCRIPT ======= #----------------------------------# wrt_RunAsRoot() { # Some not-chroot scripts must be run as root.. #----------------------------------# local MOUNT_ENV local file=$1 case ${PROGNAME} in lfs ) MOUNT_ENV="LFS" ;; clfs ) MOUNT_ENV="CLFS" ;; clfs2 ) MOUNT_ENV="CLFS" ;; clfs3 ) MOUNT_ENV="CLFS" ;; hlfs ) MOUNT_ENV="HLFS" ;; *) echo "undefined progname $PROGNAME"; exit 1 ;; esac ( cat << EOF @export ${MOUNT_ENV}=\$(MOUNT_PT) && \$(CMDSDIR)/`dirname $file`/\$@ > $LOGDIRBASE/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #----------------------------------# wrt_RunScript() { # #----------------------------------# local file=$1 ( cat << EOF @\$(CMDSDIR)/`dirname $file`/\$@ > $LOGDIRBASE/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #======================= #====== COPY FSTAB ===== #----------------------------------# LUSER_wrt_CopyFstab() { # Needed for CLFS Sysroot and Embedded #----------------------------------# ( cat << EOF @cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab > $LOGDIRBASE/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #----------------------------------# wrt_CopyFstab() { # #----------------------------------# ( cat << EOF @cp -v /sources/fstab /etc/fstab > $LOGDIRBASE/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #======================= #==== INSTALLED FILES LOGS ==== #----------------------------------# LUSER_wrt_TouchTimestamp() { # Needed for CLFS Sysroot and Embedded #----------------------------------# ( cat << EOF @\$(call touch_timestamp_LUSER) EOF ) >> $MKFILE.tmp } #----------------------------------# wrt_TouchTimestamp() { # #----------------------------------# ( cat << EOF @\$(call touch_timestamp) EOF ) >> $MKFILE.tmp } #----------------------------------# LUSER_wrt_LogNewFiles() { # Needed for CLFS Sysroot and Embedded #----------------------------------# local name=$1 ( cat << EOF @\$(call log_new_files_LUSER,$name) EOF ) >> $MKFILE.tmp } #----------------------------------# wrt_LogNewFiles() { # #----------------------------------# local name=$1 ( cat << EOF @\$(call log_new_files,$name) EOF ) >> $MKFILE.tmp } #======================= #======== TOUCH ======== #----------------------------------# wrt_touch() { # #----------------------------------# ( cat << EOF @\$(call housekeeping) EOF ) >> $MKFILE.tmp } #=======================