mkbootrules

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· 代码 · 共 60 行

TXT
60
字号
#!/bin/rcrfork eif(~ $#CONF 0)	CONF=$1awk -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";}' $*

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?