From 83f429c4e64a04faba57ccf5fb1106811cab77b1 Mon Sep 17 00:00:00 2001 From: "Alex Xu (Hello71)" Date: Mon, 16 Nov 2020 12:17:54 -0500 Subject: make: add comments, simplify --- make | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/make b/make index 9d7ae95..09433f7 100755 --- a/make +++ b/make @@ -2,30 +2,36 @@ # generate a cpio entry for a command gen_cmd() { - cmd=$1 - cmdp="$(command -v "$cmd")" || exit 1 - # ignore builtins - [ "$cmd" != "$cmdp" ] || return + cmdp="$(command -v "$1")" || exit 1 printf 'file %s %s 0755 0 0\n' "$cmdp" "$cmdp" + + # ELF interpreter handled in cpio_list.txt ldd "$cmdp" | awk '/=>/ { print "file /lib64/" $1 " " $3 " 0755 0 0" }' } # generate the main file list gen_cpio_list() { + # static entries sed -e '/^#/d' cpio_list.txt + + # modules tr ' ' '\n' < modules.dep | sed -e "s/://;s:.*:file /lib/modules/$KERNVER/& /lib/modules/$KERNVER/& 0644 0 0:" + + # commands gen_cmd e2fsck gen_cmd dropbear gen_cmd cryptsetup + + # cryptsetup needs libgcc_s.so.1 for pthread_cancel ldconfig -p | awk '$1 == "libgcc_s.so.1" && $2 ~ /x86-64/ { print "file /lib64/" $1 " " $4 " 0755 0 0" }' } -# filter the list and insert parent directory entries +# insert parent directory entries gen_dir_ents() { - awk '{print; while (sub("/[^/]*$", "", $2) && $2) print "dir " $2 " 0755 0 0"; }' + awk '{ print; while (sub("/[^/]*$", "", $2) && $2) print "dir " $2 " 0755 0 0" }' } -# filter the list and generate the make dependency file +# generate the make dependency file gen_depfile() { awk -v f=/dev/fd/3 -v deps="cpio_list.txt make" ' { print } @@ -34,8 +40,4 @@ gen_depfile() { ' } -if ! [ -e cpio_list.txt ] || ! [ -e gen_init_cpio ]; then - cd "${0%/*}" -fi - gen_cpio_list | gen_dir_ents | sort -u | gen_depfile 3>initramfs.d | ./gen_init_cpio -t 0 - | $COMPRESSOR > initramfs.img -- cgit v1.2.3-70-g09d2