56 lines
1.1 KiB
Awk
56 lines
1.1 KiB
Awk
|
# $NetBSD: list2sh.awk,v 1.1 2009/09/18 09:24:59 abs Exp $
|
||
|
|
||
|
BEGIN {
|
||
|
printf("cd ${CURDIR}\n");
|
||
|
printf("\n");
|
||
|
}
|
||
|
/^$/ || /^#/ {
|
||
|
print $0;
|
||
|
next;
|
||
|
}
|
||
|
$1 == "COPY" {
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("rm -f ${TARGDIR}/%s\n", $3);
|
||
|
printf("cp %s ${TARGDIR}/%s\n", $2, $3);
|
||
|
next;
|
||
|
}
|
||
|
$1 == "LINK" {
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("rm -f ${TARGDIR}/%s\n", $3);
|
||
|
printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3);
|
||
|
next;
|
||
|
}
|
||
|
$1 == "SYMLINK" {
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("rm -f ${TARGDIR}/%s\n", $3);
|
||
|
printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3);
|
||
|
next;
|
||
|
}
|
||
|
$1 == "COPYDIR" {
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n",
|
||
|
$3);
|
||
|
printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2,
|
||
|
$3);
|
||
|
next;
|
||
|
}
|
||
|
$1 == "SPECIAL" {
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("(cd ${TARGDIR};");
|
||
|
for (i = 2; i <= NF; i++)
|
||
|
printf(" %s", $i);
|
||
|
printf(")\n");
|
||
|
next;
|
||
|
}
|
||
|
{
|
||
|
printf("echo '%s'\n", $0);
|
||
|
printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR);
|
||
|
printf("exit 1\n");
|
||
|
exit 1;
|
||
|
}
|
||
|
END {
|
||
|
printf("\n");
|
||
|
printf("exit 0\n");
|
||
|
exit 0;
|
||
|
}
|