NetBSD/distrib/miniroot/makeconf.awk
mrg e7e33e2136 miniroot changes:
install.sub:
	- fix interface grovelling, ifmedia support, allow ifmedia and link
	  to have a "none" (-> "") answer (which lets you give nothing when
	  a default answer is given)
	- allow installing more than one set at a time, including "all" as
	  a synonym for all remaining sets
	- mount -o async when extracting sets
    makeconf.awk:
	- put default "libs" section at the end rather than the start, so
	  you can put other "libs" in before this list
	- minor cleanup

    mtree.conf:
	- create /kern

    sparc install.md:
	- MDSETS are now "kern xbase xcomp xcontrib xfont xserver"
	- use /kern & kernfs (replaces dmesg)
	- replace grep & cut pipe lines with sed
	- replace grep hackery with sed hackery
	- grep and cut are no longer required!  yay!
	- deal with no /usr/bin/vi -- call disklabel -i
	- in md_copy_kern() link the netbsd.GENERIC we got from the kern set,
	  rather than the miniroot kernel
    sparc miniroot list:
	- no more dmesg, cut or grep

sparc ramdisk changes:
    Makefile:
	- `ramdiskbin.conf' is now generated by makeconf.awk
	- don't use libhack's opendir, it breaks
    dot.profile:
	- don't assume terminal is `sun'
	- set EDITOR=ed
	-
    list:
	- instbin -> ramdiskbin to make `makeconf.awk' work
	- CRUNCHSPECIAL those special dirs
	- add our LIBS as necessary

libhack changes:
	- if NOLIBHACKOPENDIR is set, don't build opendir.o
1999-06-27 12:55:58 +00:00

70 lines
1.3 KiB
Awk

# $NetBSD: makeconf.awk,v 1.6 1999/06/27 12:55:58 mrg Exp $
#
# generate crunchgen(1) configuration file from `list' spec.
#
BEGIN {
printf("#\n# This file is automatically generated by `makeconf'\n");
printf("#\n\n");
}
$1 == "LIBS" || $1 == "SRCDIRS" {
$1 = tolower($1);
print;
}
($1 == "LINK" || $1 == "SYMLINK") && index($2,CBIN) {
# find basenames for inclusion in crunchgen's `prog' and `ln' directives
n = split($3, x, "/");
p = x[n];
progs[p] = NF - 3;
for (i = 4; i <= NF; i++) {
n = split($i, x, "/");
l = x[n];
links[i - 3, p] = l;
}
}
$1 == "ARGVLINK" {
# add extra `ln' entries (these don't appear in the filesystem)
n = progs[$2];
progs[$2] = ++n;
links[n, $2] = $3;
}
$1 == "CRUNCHSPECIAL" {
# collect crunchgen `special' directives
$1 = "";
specials[$0] = 1;
}
END {
# write crunchgen configuration
# default libs
printf("\nlibs -lrmt -ledit -lutil -lcurses -ltermcap -lcrypt -ll -lm -lkvm\n");
# `prog' directives; print 8 to a line
column = 0;
for (p in progs) {
if ((column++ % 8) == 0)
printf("\nprogs");
printf(" %s", p);
}
printf("\n\n");
# `ln' directives
for (p in progs) {
n = progs[p];
for (i = 1; i <= n; i++)
printf("ln %s %s\n", p, links[i,p]);
}
printf("\n\n");
# `special' directives
for (s in specials) {
printf("special %s\n", s);
}
}