Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/rc

rfork e
if(~ $#CONF 0)
        CONF=$1
awk -v 'objtype='$objtype -v 'CONF='$CONF '
BEGIN { nfs = 0 }
/^$/{
        next;
}
/^#/{
        next;
}
collect && /^[^ \t]/{
        collect = 0;
}
collect && section ~ "bootdir" {
        if(NF >= 2)
                x = $2;
        else{
                x = $1;
                sub(/.*\//, "", x);
        }
        fsname[nfs] = x;
        x = $1;
        gsub(/[^a-zA-Z0-9_]/, "_", x);
        fs[nfs] = x;
        file[nfs] = $1;
        nfs++;
}
$0 ~ /^[^ \t]/{
        if($0 ~ "bootdir"){
                section = $0;
                collect = 1;
        }
        next;
}

END{
        printf "%s.root.s:D:", CONF;
        for(i=0; i<nfs; i++)
                printf " %s", file[i];
        printf "\n";
        printf "\t../port/mkrootall \\\n";
        for(i=0; i<nfs; i++)
                printf "\t\t%s %s %s\\\n", fsname[i], fs[i], file[i];
        printf "\t>$target\n";

        printf "%s.rootc.c:D:", CONF;
        for(i=0; i<nfs; i++)
                printf " %s", file[i];
        printf "\n";
        printf "\t../port/mkrootc \\\n";
        for(i=0; i<nfs; i++)
                printf "\t\t%s %s %s\\\n", fsname[i], fs[i], file[i];
        printf "\t>$target\n";
}

' $*