1#         $NetBSD: list2sh.awk,v 1.1 2009/09/18 09:24:59 abs Exp $
2
3BEGIN {
4          printf("cd ${CURDIR}\n");
5          printf("\n");
6}
7/^$/ || /^#/ {
8          print $0;
9          next;
10}
11$1 == "COPY" {
12          printf("echo '%s'\n", $0);
13          printf("rm -f ${TARGDIR}/%s\n", $3);
14          printf("cp %s ${TARGDIR}/%s\n", $2, $3);
15          next;
16}
17$1 == "LINK" {
18          printf("echo '%s'\n", $0);
19          printf("rm -f ${TARGDIR}/%s\n", $3);
20          printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3);
21          next;
22}
23$1 == "SYMLINK" {
24          printf("echo '%s'\n", $0);
25          printf("rm -f ${TARGDIR}/%s\n", $3);
26          printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3);
27          next;
28}
29$1 == "COPYDIR" {
30          printf("echo '%s'\n", $0);
31          printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n",
32              $3);
33          printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2,
34              $3);
35          next;
36}
37$1 == "SPECIAL" {
38          printf("echo '%s'\n", $0);
39          printf("(cd ${TARGDIR};");
40          for (i = 2; i <= NF; i++)
41                    printf(" %s", $i);
42          printf(")\n");
43          next;
44}
45{
46          printf("echo '%s'\n", $0);
47          printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR);
48          printf("exit 1\n");
49          exit 1;
50}
51END {
52          printf("\n");
53          printf("exit 0\n");
54          exit 0;
55}
56