Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/9/port/mkrootc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#!/bin/rc

rfork e
n=`{echo $#*^'%3' | hoc}
if(! ~ $n 0){
	echo 'usage: mkrootc [name cname file]...' >[1=2]
	exit usage
}

tmp=mkroot.$pid.out
fn sigexit {
	rm -f $tmp
}

allcname=()
allname=()
while(! ~ $#* 0){
	name=$1
	cname=$2
	file=$3
	shift
	shift 
	shift
	allname=($allname $name)
	allcname=($allcname $cname)
}

echo '
#include "u.h"
#include "../port/lib.h"
#include "mem.h"
#include "dat.h"
#include "fns.h"
#include "io.h"
#include "../port/error.h"
'

for(i in $allcname){
	echo 'extern uchar '$i'code[];'
	echo 'extern ulong '$i'len;'
}

echo '
void bootlinks(void){
'
x=($allname)
for(i in $allcname){
	name=$x(1)
	*=($x); shift; x=($*)
	echo '	addbootfile("'$name'", '$i'code, '$i'len);'
}
echo '
}
'

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].