123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- $AWK '
- BEGIN{
- var["init"] = "INIT=";
- var["ip"] = "IP=";
- var["lib"] = "LIBS=";
- var["root"] = "ROOTFILES=";
- infernoroot = ENVIRON["ROOT"];
- }
- /^$/{ next;
- }
- /^#/{ next;
- }
- /^env/{
- inenv = 1;
- next;
- }
- inenv != 0 && /^[ ]/{
- sub("^[ ]*", "", $0)
- printf "%s\n", $0
- next
- }
- /^(code|dev|init|ip|lib|link|mod|misc|port|root)/{
- inenv = 0;
- type = $1;
- next;
- }
- /^[^ ]/ {
- inenv = 0;
- }
- type && /^[ ]/{
- if(type == "code")
- next;
- if(type == "root"){
- if (NF > 1)
- file = $2;
- else if ($1 == "/osinit.dis")
- next; # handled via explicit dependency
- else
- file = $1;
- if(rootfile[file] == 0){
- var[type] = var[type] " " infernoroot file;
- rootfile[file]++;
- }
- next;
- }
- if(type == "init" || type == "lib"){
- var[type] = var[type] " " $1;
- next;
- }
- file = $1 "'.$O'"
- if(type == "port")
- port[file]++;
- else if(type == "dev")
- obj["dev" file]++;
- else if(type != "mod")
- obj[file]++;
- for(i = 2; i <= NF; i++){
- if($i !~ "^[+=-].*")
- obj[$i "'.$O'"]++;
- }
- next;
- }
- END{
- x = ""
- for(i in obj)
- x = x " " i
- printf "DEVS=%s\n", x;
- x = ""
- for(i in port)
- x = x " " i
- printf "PORT=%s\n", x
- for(v in var)
- printf "%s\n", var[v]
- }' $*
|