#!/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 SRC = /sources MOUNT_PT = $BUILDDIR PKG_LST = $PKG_LST LUSER = $LUSER LGROUP = $LGROUP LHOME = $LHOME SCRIPT_ROOT = $SCRIPT_ROOT BASEDIR = \$(MOUNT_PT) SRCSDIR = \$(BASEDIR)/sources CMDSDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$PROGNAME-commands LOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$LOGDIRBASE TESTLOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$TESTLOGDIRBASE crCMDSDIR = /\$(SCRIPT_ROOT)/$PROGNAME-commands crLOGDIR = /\$(SCRIPT_ROOT)/$LOGDIRBASE crTESTLOGDIR = /\$(SCRIPT_ROOT)/$TESTLOGDIRBASE crFILELOGDIR = /\$(SCRIPT_ROOT)/$FILELOGDIRBASE SU_LUSER = su - \$(LUSER) -c LUSER_HOME = \$(LHOME)/\$(LUSER) 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 ==== #----------------------------------# LUSER_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 } #----------------------------------# CHROOT_wrt_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 AS ======= #----------------------------------# wrt_RunAsRoot() { # Some 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) && ${PROGNAME}-commands/`dirname $file`/\$@ > logs/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #----------------------------------# LUSER_wrt_RunAsUser() { # #----------------------------------# local file=$1 ( cat << EOF @\$(CMDSDIR)/`dirname $file`/\$@ > logs/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #----------------------------------# CHROOT_wrt_RunAsRoot() { # #----------------------------------# local file=$1 ( cat << EOF @\$(crCMDSDIR)/`dirname $file`/\$@ > logs/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #======================= #====== COPY FSTAB ===== #----------------------------------# LUSER_wrt_CopyFstab() { # #----------------------------------# ( cat << EOF @cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab > logs/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #----------------------------------# CHROOT_wrt_CopyFstab() { # #----------------------------------# ( cat << EOF @cp -v /sources/fstab /etc/fstab > logs/\$@ 2>&1 EOF ) >> $MKFILE.tmp } #======================= #==== INSTALLED FILES LOGS ==== #----------------------------------# LUSER_wrt_TouchTimestamp() { # #----------------------------------# ( cat << EOF @\$(call touch_timestamp_LUSER) EOF ) >> $MKFILE.tmp } #----------------------------------# CHROOT_wrt_TouchTimestamp() { # #----------------------------------# ( cat << EOF @\$(call touch_timestamp) EOF ) >> $MKFILE.tmp } #----------------------------------# LUSER_wrt_LogNewFiles() { # #----------------------------------# local name=$1 ( cat << EOF @\$(call log_new_files_LUSER,$name) EOF ) >> $MKFILE.tmp } #----------------------------------# CHROOT_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 } #=======================