xref: /plan9/sys/src/9/port/mkdevlist (revision 4fafed5d7536a51c1efde8b967cebb8d45be19ba)
13e12c5d1SDavid du Colombier#!/bin/rc
23e12c5d1SDavid du Colombier
3*4fafed5dSDavid du Colombierawk -v 'objtype='$objtype '
4*4fafed5dSDavid du ColombierBEGIN{
5*4fafed5dSDavid du Colombier	if(ARGC < 2)
6*4fafed5dSDavid du Colombier		exit;
7*4fafed5dSDavid du Colombier	collect = isdev = 0;
83e12c5d1SDavid du Colombier}
93e12c5d1SDavid du Colombier
10*4fafed5dSDavid du Colombier/^[ \t]*$/{
11*4fafed5dSDavid du Colombier	next;
127dd7cddfSDavid du Colombier}
13*4fafed5dSDavid du Colombier/^#/{
14*4fafed5dSDavid du Colombier	next;
157dd7cddfSDavid du Colombier}
167dd7cddfSDavid du Colombiercollect && /^[^	\t]/{
17dc5a79c1SDavid du Colombier	collect = isdev = 0;
187dd7cddfSDavid du Colombier}
197dd7cddfSDavid du Colombiercollect && $0 ~ /[^ \t]+/{
207dd7cddfSDavid du Colombier	if(isdev)
217dd7cddfSDavid du Colombier		obj["dev" $1 "'.$O'"]++;
227dd7cddfSDavid du Colombier	else
237dd7cddfSDavid du Colombier		obj[$1 "'.$O'"]++;
247dd7cddfSDavid du Colombier	for(i = 2; i <= NF; i++){
257dd7cddfSDavid du Colombier		if($i !~ "[+=-].*")
267dd7cddfSDavid du Colombier			obj[$i "'.$O'"]++;
277dd7cddfSDavid du Colombier	}
287dd7cddfSDavid du Colombier}
297dd7cddfSDavid du Colombier$0 ~ /^[^ \t]/{
307dd7cddfSDavid du Colombier	if($1 ~ "dev"){
317dd7cddfSDavid du Colombier		isdev = 1;
327dd7cddfSDavid du Colombier		collect = 1;
337dd7cddfSDavid du Colombier	}
347dd7cddfSDavid du Colombier	else if($1 ~ "misc" || $1 ~ "link" || $1 ~ "ip")
357dd7cddfSDavid du Colombier		collect = 1;
36*4fafed5dSDavid du Colombier	next;
373e12c5d1SDavid du Colombier}
383e12c5d1SDavid du Colombier
397dd7cddfSDavid du ColombierEND{
406a9fc400SDavid du Colombier	x = ""
417dd7cddfSDavid du Colombier	for(i in obj)
42*4fafed5dSDavid du Colombier		x = x i "\n";
43*4fafed5dSDavid du Colombier	if(objtype ~ "386" && obj["pci" "'.$O'"])
44*4fafed5dSDavid du Colombier		x = x "bios32'.$O' \n";
45*4fafed5dSDavid du Colombier	printf x;
467dd7cddfSDavid du Colombier}' $*
47