view mk/mkinstalldirs.sh @ 8:ec2b657edf13

Add explicit lint-comment-style fallthrough annotations. GCC now assumes that if you don't have these you're making a mistake, which is annoying. XXX: This changeset updates the AG output files only (by hand) and is XXX: abusive - rebuilding them will erase the change. However, I need XXX: to get things to build before I can try to get AG to issue the XXX: annotations itself, so this seems like a reasonable expedient.
author David A. Holland
date Mon, 30 May 2022 23:51:43 -0400
parents 13d2b8934445
children
line wrap: on
line source

#!/bin/sh
# mkinstalldirs - create install directories
# usage: mkinstalldirs dirs

# make this work right even if someone puts spaces in
(
    while [ "x$1" != x ]; do
	echo "$1"
    shift
    done
) | awk '{
    if ($0 ~ "^/") {
	lead = "/";
	sub("^/", "", $0);
    }
    else {
	lead = "";
    }

    n = split($0, a, "/");

    for (i=1;i<=n;i++) {
	printf "%s", lead;
	for (j=1;j<=i;j++) {
	    printf "%s", a[j];
	    if (j<i) printf "/";
	}
	printf "\n";
    }
}' | sort -u | awk '{
    printf "if [ ! -d \"%s\" ]; then\n", $0;
    printf "   echo \"        [MKDIR]   %s\"\n", $0;
    printf "   mkdir \"%s\" || exit 1\n", $0;
    printf "   chmod 755 \"%s\"\n", $0;
    printf "fi\n"
}' | sh