16a9fc400SDavid du Colombier#!/bin/rc 26a9fc400SDavid du Colombier 3*dc5a79c1SDavid du Colombierrfork e 4*dc5a79c1SDavid du Colombierif(~ $#CONF 0) 5*dc5a79c1SDavid du Colombier CONF=$1 6*dc5a79c1SDavid du Colombierawk -v 'objtype='$objtype -v 'CONF='$CONF ' 7*dc5a79c1SDavid du ColombierBEGIN { nfs = 0 } 86a9fc400SDavid du Colombier/^$/{ 96a9fc400SDavid du Colombier next; 106a9fc400SDavid du Colombier} 116a9fc400SDavid du Colombier/^#/{ 126a9fc400SDavid du Colombier next; 136a9fc400SDavid du Colombier} 146a9fc400SDavid du Colombiercollect && /^[^ \t]/{ 156a9fc400SDavid du Colombier collect = 0; 166a9fc400SDavid du Colombier} 176a9fc400SDavid du Colombiercollect && section ~ "bootdir" { 18*dc5a79c1SDavid du Colombier if(NF >= 2) 19*dc5a79c1SDavid du Colombier x = $2; 20*dc5a79c1SDavid du Colombier else{ 21*dc5a79c1SDavid du Colombier x = $1; 22*dc5a79c1SDavid du Colombier sub(/.*\//, "", x); 23*dc5a79c1SDavid du Colombier } 24*dc5a79c1SDavid du Colombier fsname[nfs] = x; 256a9fc400SDavid du Colombier x = $1; 266a9fc400SDavid du Colombier gsub(/[^a-zA-Z0-9_]/, "_", x); 27*dc5a79c1SDavid du Colombier fs[nfs] = x; 28*dc5a79c1SDavid du Colombier file[nfs] = $1; 29*dc5a79c1SDavid du Colombier nfs++; 306a9fc400SDavid du Colombier} 316a9fc400SDavid du Colombier$0 ~ /^[^ \t]/{ 326a9fc400SDavid du Colombier if($0 ~ "bootdir"){ 336a9fc400SDavid du Colombier section = $0; 346a9fc400SDavid du Colombier collect = 1; 356a9fc400SDavid du Colombier } 366a9fc400SDavid du Colombier next; 376a9fc400SDavid du Colombier} 386a9fc400SDavid du Colombier 39*dc5a79c1SDavid du ColombierEND{ 40*dc5a79c1SDavid du Colombier printf "%s.root.s:D:", CONF; 41*dc5a79c1SDavid du Colombier for(i=0; i<nfs; i++) 42*dc5a79c1SDavid du Colombier printf " %s", file[i]; 43*dc5a79c1SDavid du Colombier printf "\n"; 44*dc5a79c1SDavid du Colombier printf "\t../port/mkrootall \\\n"; 45*dc5a79c1SDavid du Colombier for(i=0; i<nfs; i++) 46*dc5a79c1SDavid du Colombier printf "\t\t%s %s %s\\\n", fsname[i], fs[i], file[i]; 47*dc5a79c1SDavid du Colombier printf "\t>$target\n"; 48*dc5a79c1SDavid du Colombier 49*dc5a79c1SDavid du Colombier printf "%s.rootc.c:D:", CONF; 50*dc5a79c1SDavid du Colombier for(i=0; i<nfs; i++) 51*dc5a79c1SDavid du Colombier printf " %s", file[i]; 52*dc5a79c1SDavid du Colombier printf "\n"; 53*dc5a79c1SDavid du Colombier printf "\t../port/mkrootc \\\n"; 54*dc5a79c1SDavid du Colombier for(i=0; i<nfs; i++) 55*dc5a79c1SDavid du Colombier printf "\t\t%s %s %s\\\n", fsname[i], fs[i], file[i]; 56*dc5a79c1SDavid du Colombier printf "\t>$target\n"; 57*dc5a79c1SDavid du Colombier} 58*dc5a79c1SDavid du Colombier 596a9fc400SDavid du Colombier' $* 60