head	1.465;
access;
symbols
	netbsd-11-0-RC4:1.455.2.1
	netbsd-11-0-RC3:1.455.2.1
	netbsd-11-0-RC2:1.455.2.1
	netbsd-11-0-RC1:1.455.2.1
	perseant-exfatfs-base-20250801:1.455
	netbsd-11:1.455.0.2
	netbsd-11-base:1.455
	netbsd-10-1-RELEASE:1.442
	perseant-exfatfs-base-20240630:1.449
	perseant-exfatfs:1.447.0.2
	perseant-exfatfs-base:1.447
	netbsd-8-3-RELEASE:1.362
	netbsd-9-4-RELEASE:1.393.2.1
	netbsd-10-0-RELEASE:1.442
	netbsd-10-0-RC6:1.442
	netbsd-10-0-RC5:1.442
	netbsd-10-0-RC4:1.442
	netbsd-10-0-RC3:1.442
	netbsd-10-0-RC2:1.442
	netbsd-10-0-RC1:1.442
	netbsd-10:1.442.0.2
	netbsd-10-base:1.442
	netbsd-9-3-RELEASE:1.393.2.1
	cjep_sun2x-base1:1.416
	cjep_sun2x:1.416.0.4
	cjep_sun2x-base:1.416
	cjep_staticlib_x-base1:1.416
	netbsd-9-2-RELEASE:1.393.2.1
	cjep_staticlib_x:1.416.0.2
	cjep_staticlib_x-base:1.416
	netbsd-9-1-RELEASE:1.393.2.1
	phil-wifi-20200421:1.401
	phil-wifi-20200411:1.401
	is-mlppp:1.397.0.2
	is-mlppp-base:1.397
	phil-wifi-20200406:1.401
	netbsd-8-2-RELEASE:1.362
	netbsd-9-0-RELEASE:1.393.2.1
	netbsd-9-0-RC2:1.393.2.1
	netbsd-9-0-RC1:1.393.2.1
	phil-wifi-20191119:1.396
	netbsd-9:1.393.0.2
	netbsd-9-base:1.393
	phil-wifi-20190609:1.391
	netbsd-8-1-RELEASE:1.362
	netbsd-8-1-RC1:1.362
	pgoyette-compat-merge-20190127:1.367.2.9
	pgoyette-compat-20190127:1.387
	pgoyette-compat-20190118:1.387
	pgoyette-compat-1226:1.386
	pgoyette-compat-1126:1.386
	pgoyette-compat-1020:1.385
	pgoyette-compat-0930:1.385
	pgoyette-compat-0906:1.382
	netbsd-7-2-RELEASE:1.335.2.3
	pgoyette-compat-0728:1.381
	netbsd-8-0-RELEASE:1.362
	phil-wifi:1.377.0.2
	phil-wifi-base:1.377
	pgoyette-compat-0625:1.376
	netbsd-8-0-RC2:1.362
	pgoyette-compat-0521:1.371
	pgoyette-compat-0502:1.370
	pgoyette-compat-0422:1.370
	netbsd-8-0-RC1:1.362
	pgoyette-compat-0415:1.370
	pgoyette-compat-0407:1.370
	pgoyette-compat-0330:1.369
	pgoyette-compat-0322:1.369
	pgoyette-compat-0315:1.369
	netbsd-7-1-2-RELEASE:1.335.2.3
	pgoyette-compat:1.367.0.2
	pgoyette-compat-base:1.367
	netbsd-7-1-1-RELEASE:1.335.2.3
	matt-nb8-mediatek:1.362.0.6
	matt-nb8-mediatek-base:1.362
	perseant-stdc-iso10646:1.362.0.4
	perseant-stdc-iso10646-base:1.362
	netbsd-8:1.362.0.2
	netbsd-8-base:1.362
	prg-localcount2-base3:1.359
	prg-localcount2-base2:1.359
	prg-localcount2-base1:1.359
	prg-localcount2:1.359.0.2
	prg-localcount2-base:1.359
	pgoyette-localcount-20170426:1.359
	bouyer-socketcan-base1:1.359
	pgoyette-localcount-20170320:1.358
	netbsd-7-1:1.335.2.3.0.6
	netbsd-7-1-RELEASE:1.335.2.3
	netbsd-7-1-RC2:1.335.2.3
	netbsd-7-nhusb-base-20170116:1.335.2.3
	bouyer-socketcan:1.357.0.2
	bouyer-socketcan-base:1.357
	pgoyette-localcount-20170107:1.356
	netbsd-7-1-RC1:1.335.2.3
	pgoyette-localcount-20161104:1.356
	netbsd-7-0-2-RELEASE:1.335.2.3
	localcount-20160914:1.356
	netbsd-7-nhusb:1.335.2.3.0.4
	netbsd-7-nhusb-base:1.335.2.3
	pgoyette-localcount-20160806:1.354
	pgoyette-localcount-20160726:1.354
	pgoyette-localcount:1.354.0.2
	pgoyette-localcount-base:1.354
	netbsd-7-0-1-RELEASE:1.335.2.3
	netbsd-7-0:1.335.2.3.0.2
	netbsd-7-0-RELEASE:1.335.2.3
	netbsd-7-0-RC3:1.335.2.3
	netbsd-7-0-RC2:1.335.2.3
	netbsd-7-0-RC1:1.335.2.3
	netbsd-5-2-3-RELEASE:1.236.2.8
	netbsd-5-1-5-RELEASE:1.236.2.8
	netbsd-6-0-6-RELEASE:1.292.2.3
	netbsd-6-1-5-RELEASE:1.292.2.3
	netbsd-7:1.335.0.2
	netbsd-7-base:1.335
	yamt-pagecache-base9:1.332
	yamt-pagecache-tag8:1.289.2.4
	netbsd-6-1-4-RELEASE:1.292.2.3
	netbsd-6-0-5-RELEASE:1.292.2.3
	tls-earlyentropy:1.329.0.2
	tls-earlyentropy-base:1.335
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.329
	riastradh-drm2-base3:1.328
	netbsd-6-1-3-RELEASE:1.292.2.3
	netbsd-6-0-4-RELEASE:1.292.2.3
	netbsd-5-2-2-RELEASE:1.236.2.8
	netbsd-5-1-4-RELEASE:1.236.2.8
	netbsd-6-1-2-RELEASE:1.292.2.3
	netbsd-6-0-3-RELEASE:1.292.2.3
	netbsd-5-2-1-RELEASE:1.236.2.8
	netbsd-5-1-3-RELEASE:1.236.2.8
	netbsd-6-1-1-RELEASE:1.292.2.3
	riastradh-drm2-base2:1.318
	riastradh-drm2-base1:1.318
	riastradh-drm2:1.318.0.2
	riastradh-drm2-base:1.318
	netbsd-6-1:1.292.2.3.0.4
	netbsd-6-0-2-RELEASE:1.292.2.3
	netbsd-6-1-RELEASE:1.292.2.3
	netbsd-6-1-RC4:1.292.2.3
	netbsd-6-1-RC3:1.292.2.3
	agc-symver:1.314.0.2
	agc-symver-base:1.314
	netbsd-6-1-RC2:1.292.2.3
	netbsd-6-1-RC1:1.292.2.3
	yamt-pagecache-base8:1.310
	netbsd-5-2:1.236.2.8.0.6
	netbsd-6-0-1-RELEASE:1.292.2.3
	yamt-pagecache-base7:1.310
	netbsd-5-2-RELEASE:1.236.2.8
	netbsd-5-2-RC1:1.236.2.8
	matt-nb6-plus-nbase:1.292.2.3
	yamt-pagecache-base6:1.304
	netbsd-6-0:1.292.2.3.0.2
	netbsd-6-0-RELEASE:1.292.2.3
	netbsd-6-0-RC2:1.292.2.3
	tls-maxphys:1.300.0.2
	tls-maxphys-base:1.335
	matt-nb6-plus:1.292.2.2.0.2
	matt-nb6-plus-base:1.292.2.3
	netbsd-6-0-RC1:1.292.2.2
	yamt-pagecache-base5:1.294
	yamt-pagecache-base4:1.294
	netbsd-6:1.292.0.2
	netbsd-6-base:1.292
	netbsd-5-1-2-RELEASE:1.236.2.8
	netbsd-5-1-1-RELEASE:1.236.2.8
	yamt-pagecache-base3:1.290
	yamt-pagecache-base2:1.290
	yamt-pagecache:1.289.0.2
	yamt-pagecache-base:1.289
	cherry-xenmp:1.283.0.2
	cherry-xenmp-base:1.283
	bouyer-quota2-nbase:1.279
	bouyer-quota2:1.278.0.2
	bouyer-quota2-base:1.278
	matt-mips64-premerge-20101231:1.277
	matt-nb5-mips64-premerge-20101231:1.236.2.7.2.1.2.1
	matt-nb5-pq3:1.236.2.8.0.4
	matt-nb5-pq3-base:1.236.2.8
	netbsd-5-1:1.236.2.8.0.2
	netbsd-5-1-RELEASE:1.236.2.8
	netbsd-5-1-RC4:1.236.2.8
	matt-nb5-mips64-k15:1.236.2.7.2.1.2.1
	netbsd-5-1-RC3:1.236.2.8
	netbsd-5-1-RC2:1.236.2.8
	netbsd-5-1-RC1:1.236.2.8
	netbsd-5-0-2-RELEASE:1.236.2.7.2.1
	matt-nb5-mips64-premerge-20091211:1.236.2.7.2.1
	matt-premerge-20091211:1.260
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.236.2.7.2.1
	matt-nb4-mips64-k7-u2a-k9b:1.236.2.7.2.1
	matt-nb5-mips64-u1-k1-k5:1.236.2.7.2.1
	matt-nb5-mips64:1.236.2.7.2.1.0.2
	netbsd-5-0-1-RELEASE:1.236.2.7.2.1
	jym-xensuspend-nbase:1.250
	netbsd-5-0:1.236.2.7.0.2
	netbsd-5-0-RELEASE:1.236.2.7
	netbsd-5-0-RC4:1.236.2.7
	netbsd-5-0-RC3:1.236.2.7
	netbsd-5-0-RC2:1.236.2.7
	jym-xensuspend:1.246.0.2
	jym-xensuspend-base:1.250
	netbsd-5-0-RC1:1.236.2.7
	netbsd-5:1.236.0.2
	netbsd-5-base:1.236
	matt-mips64-base2:1.232
	matt-mips64:1.196.0.6
	netbsd-4-0-1-RELEASE:1.189
	wrstuden-revivesa-base-3:1.225
	wrstuden-revivesa-base-2:1.224
	wrstuden-fixsa-newbase:1.189
	wrstuden-revivesa-base-1:1.209
	yamt-pf42-base4:1.209
	yamt-pf42-base3:1.209
	hpcarm-cleanup-nbase:1.207
	yamt-pf42-baseX:1.204
	yamt-pf42-base2:1.207
	wrstuden-revivesa:1.207.0.2
	wrstuden-revivesa-base:1.209
	yamt-pf42:1.204.0.4
	yamt-pf42-base:1.204
	mjf-devfs2:1.204.0.2
	mjf-devfs2-base:1.227
	keiichi-mipv6-nbase:1.202
	keiichi-mipv6:1.200.0.2
	keiichi-mipv6-base:1.202
	pc532-eol-2008:1.198
	matt-armv6-nbase:1.202
	matt-armv6-prevmlocking:1.196.4.1
	wrstuden-fixsa-base-1:1.189
	netbsd-4-0:1.189.0.6
	netbsd-4-0-RELEASE:1.189
	cube-autoconf:1.197.0.2
	cube-autoconf-base:1.197
	netbsd-4-0-RC5:1.189
	netbsd-4-0-RC4:1.189
	netbsd-4-0-RC3:1.189
	netbsd-4-0-RC2:1.189
	netbsd-4-0-RC1:1.189
	matt-armv6:1.196.0.4
	matt-armv6-base:1.198
	matt-mips64-base:1.196
	hpcarm-cleanup:1.196.0.2
	hpcarm-cleanup-base:1.201
	netbsd-3-1-1-RELEASE:1.165.2.3
	netbsd-3-0-3-RELEASE:1.165.2.2
	wrstuden-fixsa:1.189.0.4
	wrstuden-fixsa-base:1.189
	abandoned-netbsd-4-base:1.184
	abandoned-netbsd-4:1.184.0.2
	netbsd-3-1:1.165.2.3.0.2
	netbsd-3-1-RELEASE:1.165.2.3
	netbsd-3-0-2-RELEASE:1.165.2.2
	netbsd-3-1-RC4:1.165.2.3
	netbsd-3-1-RC3:1.165.2.3
	netbsd-3-1-RC2:1.165.2.3
	netbsd-3-1-RC1:1.165.2.3
	netbsd-4:1.189.0.2
	netbsd-4-base:1.189
	netbsd-3-0-1-RELEASE:1.165.2.2
	netbsd-3-0:1.165.2.2.0.2
	netbsd-3-0-RELEASE:1.165.2.2
	netbsd-3-0-RC6:1.165.2.2
	netbsd-3-0-RC5:1.165.2.2
	netbsd-3-0-RC4:1.165.2.2
	netbsd-3-0-RC3:1.165.2.2
	netbsd-3-0-RC2:1.165.2.2
	netbsd-3-0-RC1:1.165.2.2
	netbsd-2-0-3-RELEASE:1.149.2.1
	netbsd-2-1:1.149.2.1.2.1.0.2
	netbsd-2-1-RELEASE:1.149.2.1.2.1
	netbsd-2-1-RC6:1.149.2.1.2.1
	netbsd-2-1-RC5:1.149.2.1.2.1
	netbsd-2-1-RC4:1.149.2.1.2.1
	netbsd-2-1-RC3:1.149.2.1.2.1
	netbsd-2-1-RC2:1.149.2.1.2.1
	netbsd-2-1-RC1:1.149.2.1.2.1
	netbsd-2-0-2-RELEASE:1.149.2.1
	netbsd-3:1.165.0.2
	netbsd-3-base:1.165
	netbsd-2-0-1-RELEASE:1.149.2.1
	netbsd-2:1.149.2.1.0.2
	netbsd-2-base:1.149.2.1
	netbsd-2-0-RELEASE:1.149.2.1
	netbsd-2-0-RC5:1.149.2.1
	netbsd-2-0-RC4:1.149.2.1
	netbsd-2-0-RC3:1.149.2.1
	netbsd-2-0-RC2:1.149.2.1
	netbsd-2-0-RC1:1.149.2.1
	netbsd-2-0:1.149.0.2
	netbsd-2-0-base:1.149
	netbsd-1-6-PATCH002-RELEASE:1.98.2.1
	netbsd-1-6-PATCH002:1.98.2.1
	netbsd-1-6-PATCH002-RC4:1.98.2.1
	netbsd-1-6-PATCH002-RC3:1.98.2.1
	netbsd-1-6-PATCH002-RC2:1.98.2.1
	netbsd-1-6-PATCH002-RC1:1.98.2.1
	netbsd-1-6-PATCH001:1.98.2.1
	netbsd-1-6-PATCH001-RELEASE:1.98.2.1
	netbsd-1-6-PATCH001-RC3:1.98.2.1
	netbsd-1-6-PATCH001-RC2:1.98.2.1
	netbsd-1-6-PATCH001-RC1:1.98.2.1
	fvdl_fs64_base:1.108
	netbsd-1-6-RELEASE:1.98
	netbsd-1-6-RC3:1.98
	netbsd-1-6-RC2:1.98
	netbsd-1-6-RC1:1.98
	netbsd-1-6:1.98.0.2
	netbsd-1-6-base:1.98
	netbsd-1-5-PATCH003:1.63.4.2
	netbsd-1-5-PATCH002:1.63.4.2
	netbsd-1-5-PATCH001:1.63.4.2
	netbsd-1-5-RELEASE:1.63.4.2
	netbsd-1-5-BETA2:1.63.4.2
	netbsd-1-5-BETA:1.63.4.2
	netbsd-1-4-PATCH003:1.48
	netbsd-1-5-ALPHA2:1.63.4.1
	netbsd-1-5:1.63.0.4
	netbsd-1-5-base:1.63
	minoura-xpg4dl:1.63.0.2
	minoura-xpg4dl-base:1.63
	netbsd-1-4-PATCH002:1.48
	wrstuden-devbsize-19991221:1.56
	wrstuden-devbsize:1.52.0.4
	wrstuden-devbsize-base:1.56
	comdex-fall-1999:1.52.0.2
	comdex-fall-1999-base:1.52
	mortalinstall:1.51.0.2
	netbsd-1-4-PATCH001:1.48
	netbsd-1-4-RELEASE:1.48
	netbsd-1-4:1.48.0.2
	netbsd-1-4-base:1.48
	netbsd-1-3-PATCH003:1.31.2.1
	netbsd-1-3-PATCH003-CANDIDATE2:1.31.2.1
	netbsd-1-3-PATCH003-CANDIDATE1:1.31.2.1
	netbsd-1-3-PATCH003-CANDIDATE0:1.31.2.1
	netbsd-1-3-PATCH002:1.31.2.1
	netbsd-1-3-PATCH001:1.31.2.1
	netbsd-1-3-RELEASE:1.31
	netbsd-1-3-BETA:1.31
	netbsd-1-3:1.31.0.2
	netbsd-1-3-base:1.31
	cjs-build-against-obj-dir:1.28.0.2
	lite-2:1.1.1.2
	CSRG:1.1.1
	netbsd-1-2-PATCH001:1.17
	netbsd-1-2-RELEASE:1.17
	netbsd-1-2-BETA:1.17
	netbsd-1-2:1.17.0.4
	netbsd-1-2-base:1.17
	netbsd-1-1-PATCH001:1.12
	netbsd-1-1-RELEASE:1.12
	netbsd-1-1:1.12.0.2
	netbsd-1-1-base:1.12
	netbsd-1-0-PATCH06:1.7
	netbsd-1-0-PATCH05:1.7
	netbsd-1-0-PATCH04:1.7
	netbsd-1-0-PATCH03:1.7
	netbsd-1-0-PATCH02:1.7
	netbsd-1-0-PATCH1:1.7
	netbsd-1-0-PATCH0:1.7
	netbsd-1-0-RELEASE:1.7
	netbsd-1-0:1.7.0.2
	netbsd-1-0-base:1.7
	netbsd-0-9-RELEASE:1.4
	netbsd-0-9-BETA:1.4
	netbsd-0-9-ALPHA2:1.4
	netbsd-0-9-ALPHA:1.4
	netbsd-0-9:1.4.0.2
	netbsd-0-9-base:1.4
	netbsd-0-8:1.2
	netbsd-alpha-1:1.2
	patchkit-0-2-2:1.1.1.1
	WFJ-386bsd-01:1.1.1.1
	WFJ-920714:1.1.1;
locks; strict;
comment	@# @;


1.465
date	2026.04.28.15.06.40;	author martin;	state Exp;
branches;
next	1.464;
commitid	dVX8gsVjqzc1NJDG;

1.464
date	2026.02.13.03.16.15;	author lukem;	state Exp;
branches;
next	1.463;
commitid	QLEEerrlFNcKeauG;

1.463
date	2026.02.11.22.15.40;	author lukem;	state Exp;
branches;
next	1.462;
commitid	Ng4n42ibvpyGA0uG;

1.462
date	2025.12.28.18.43.25;	author thorpej;	state Exp;
branches;
next	1.461;
commitid	7FJCW0jliBMrScoG;

1.461
date	2025.12.28.16.50.22;	author thorpej;	state Exp;
branches;
next	1.460;
commitid	Hw2969ut4evAfcoG;

1.460
date	2025.12.28.15.35.01;	author thorpej;	state Exp;
branches;
next	1.459;
commitid	w1f6DlhJsggWPboG;

1.459
date	2025.12.25.19.25.29;	author thorpej;	state Exp;
branches;
next	1.458;
commitid	4gI9eladXlrWcPnG;

1.458
date	2025.12.25.15.46.25;	author thorpej;	state Exp;
branches;
next	1.457;
commitid	z4kvjR0UQROMZNnG;

1.457
date	2025.12.16.04.21.03;	author riastradh;	state Exp;
branches;
next	1.456;
commitid	IvzWlzDRrt9DuAmG;

1.456
date	2025.09.30.16.13.15;	author gutteridge;	state Exp;
branches;
next	1.455;
commitid	pf6ABCG23aTwTKcG;

1.455
date	2025.06.27.21.36.22;	author andvar;	state Exp;
branches
	1.455.2.1;
next	1.454;
commitid	ZCHtMqoy3PmkJz0G;

1.454
date	2025.01.28.20.34.55;	author christos;	state Exp;
branches;
next	1.453;
commitid	3HNftotyfwqreiHF;

1.453
date	2024.11.02.22.02.39;	author christos;	state Exp;
branches;
next	1.452;
commitid	5LzZxYwm1XzUv7wF;

1.452
date	2024.10.31.23.56.44;	author christos;	state Exp;
branches;
next	1.451;
commitid	x13K6pZwQbE2dSvF;

1.451
date	2024.10.23.00.45.58;	author kalvisd;	state Exp;
branches;
next	1.450;
commitid	NkopZYr89CzsLIuF;

1.450
date	2024.09.24.14.25.43;	author christos;	state Exp;
branches;
next	1.449;
commitid	Aj06j30msiBGe4rF;

1.449
date	2024.06.28.21.58.24;	author riastradh;	state Exp;
branches;
next	1.448;
commitid	8iNn6toqshxzzNfF;

1.448
date	2024.06.28.20.45.26;	author riastradh;	state Exp;
branches;
next	1.447;
commitid	Dc6PqiLJ1ZhxaNfF;

1.447
date	2024.04.05.01.16.00;	author christos;	state Exp;
branches
	1.447.2.1;
next	1.446;
commitid	QNR6AwI9rbvFoT4F;

1.446
date	2024.03.23.21.56.47;	author riastradh;	state Exp;
branches;
next	1.445;
commitid	z57rFUySn1KlGk3F;

1.445
date	2023.07.22.18.50.31;	author lukem;	state Exp;
branches;
next	1.444;
commitid	JIB1M5bAuqoIwPxE;

1.444
date	2023.06.05.22.36.58;	author lukem;	state Exp;
branches;
next	1.443;
commitid	w8gXR8jHdoc4iOrE;

1.443
date	2023.05.24.10.07.16;	author lukem;	state Exp;
branches;
next	1.442;
commitid	QYbVOoaYGzOIvcqE;

1.442
date	2022.10.01.08.55.45;	author rillig;	state Exp;
branches;
next	1.441;
commitid	hSZihXNfxQPfGZVD;

1.441
date	2022.08.21.07.10.03;	author lukem;	state Exp;
branches;
next	1.440;
commitid	0Ie3kKNxYR5noIQD;

1.440
date	2022.07.14.03.48.49;	author mrg;	state Exp;
branches;
next	1.439;
commitid	Ql1dvHm3nLLHwOLD;

1.439
date	2022.06.06.10.56.29;	author nia;	state Exp;
branches;
next	1.438;
commitid	ROwwhwdBzXrG6YGD;

1.438
date	2022.05.29.15.23.20;	author nia;	state Exp;
branches;
next	1.437;
commitid	lxrE0Db1ELWvQXFD;

1.437
date	2022.05.29.08.10.00;	author nia;	state Exp;
branches;
next	1.436;
commitid	0JvWWA0UhKMSrVFD;

1.436
date	2022.05.28.14.31.12;	author nia;	state Exp;
branches;
next	1.435;
commitid	n49xx9MowLgiAPFD;

1.435
date	2022.05.28.11.17.35;	author nia;	state Exp;
branches;
next	1.434;
commitid	CY4aOUqgdUjhwOFD;

1.434
date	2022.05.27.07.28.21;	author nia;	state Exp;
branches;
next	1.433;
commitid	fUbAPEINvJ8shFFD;

1.433
date	2022.05.26.06.23.57;	author nia;	state Exp;
branches;
next	1.432;
commitid	Qq6agg2akWUxXwFD;

1.432
date	2022.05.25.21.25.47;	author nia;	state Exp;
branches;
next	1.431;
commitid	ggt7LwNyohnQYtFD;

1.431
date	2022.05.25.20.44.01;	author nia;	state Exp;
branches;
next	1.430;
commitid	7fWMvQphk7mgKtFD;

1.430
date	2022.05.25.10.18.29;	author nia;	state Exp;
branches;
next	1.429;
commitid	4bzcMhxQ7Q3NhqFD;

1.429
date	2022.05.20.21.31.24;	author andvar;	state Exp;
branches;
next	1.428;
commitid	USnD5OKGmSMwaQED;

1.428
date	2021.12.23.20.08.07;	author christos;	state Exp;
branches;
next	1.427;
commitid	7tfSCaLnegbetOlD;

1.427
date	2021.12.20.20.33.20;	author christos;	state Exp;
branches;
next	1.426;
commitid	FLr3jqfJSh8nGqlD;

1.426
date	2021.12.20.14.41.26;	author christos;	state Exp;
branches;
next	1.425;
commitid	LsSWzwsT8xmcKolD;

1.425
date	2021.12.05.07.53.57;	author msaitoh;	state Exp;
branches;
next	1.424;
commitid	gMOeqm1ZY5IbZqjD;

1.424
date	2021.12.05.04.54.20;	author msaitoh;	state Exp;
branches;
next	1.423;
commitid	obnLNUUn0CuwZpjD;

1.423
date	2021.11.28.15.47.33;	author christos;	state Exp;
branches;
next	1.422;
commitid	Cp65vLNJnC1TOziD;

1.422
date	2021.11.01.10.05.19;	author nia;	state Exp;
branches;
next	1.421;
commitid	hrNab118VQ8kN4fD;

1.421
date	2021.10.27.03.06.59;	author ryo;	state Exp;
branches;
next	1.420;
commitid	uDcddIIHgGswEoeD;

1.420
date	2021.10.25.07.54.44;	author ryo;	state Exp;
branches;
next	1.419;
commitid	XeOvqRYi7f6ejaeD;

1.419
date	2021.10.14.11.45.46;	author nia;	state Exp;
branches;
next	1.418;
commitid	cayRwFinjwxmWLcD;

1.418
date	2021.09.26.15.52.40;	author maya;	state Exp;
branches;
next	1.417;
commitid	74XbefKeHR5PStaD;

1.417
date	2021.09.25.08.54.30;	author maya;	state Exp;
branches;
next	1.416;
commitid	BGRNzDrS01VoBjaD;

1.416
date	2021.03.24.04.36.57;	author simonb;	state Exp;
branches;
next	1.415;
commitid	wenulXrf1ZNF7wMC;

1.415
date	2020.11.10.21.47.49;	author kamil;	state Exp;
branches;
next	1.414;
commitid	cOSRAAXLjROf8ovC;

1.414
date	2020.11.08.15.19.18;	author kamil;	state Exp;
branches;
next	1.413;
commitid	KelJtpE2x2Q736vC;

1.413
date	2020.11.08.14.52.35;	author kamil;	state Exp;
branches;
next	1.412;
commitid	xCWymCS2aKmTP5vC;

1.412
date	2020.10.16.06.55.36;	author nia;	state Exp;
branches;
next	1.411;
commitid	7w9MiCY8g1Z306sC;

1.411
date	2020.07.26.09.22.43;	author rillig;	state Exp;
branches;
next	1.410;
commitid	31sccBL98xA8szhC;

1.410
date	2020.07.13.07.22.51;	author mrg;	state Exp;
branches;
next	1.409;
commitid	hteiYJuXbG1TcTfC;

1.409
date	2020.07.02.10.22.28;	author jmcneill;	state Exp;
branches;
next	1.408;
commitid	vQlyr5BaTlIvyueC;

1.408
date	2020.06.21.13.29.05;	author lukem;	state Exp;
branches;
next	1.407;
commitid	ChDQrPtMbj4jW5dC;

1.407
date	2020.06.15.01.57.31;	author christos;	state Exp;
branches;
next	1.406;
commitid	1zJ7owqywyzYigcC;

1.406
date	2020.06.01.14.39.14;	author christos;	state Exp;
branches;
next	1.405;
commitid	snjXdNEjuS9zXwaC;

1.405
date	2020.05.30.20.47.59;	author christos;	state Exp;
branches;
next	1.404;
commitid	luJYI6d55fYH4jaC;

1.404
date	2020.05.24.19.58.02;	author christos;	state Exp;
branches;
next	1.403;
commitid	pOrOqLse984FZw9C;

1.403
date	2020.05.18.21.19.35;	author jmcneill;	state Exp;
branches;
next	1.402;
commitid	LEg8TRe3NPw0DL8C;

1.402
date	2020.05.02.19.46.58;	author christos;	state Exp;
branches;
next	1.401;
commitid	ZT2TtIq6PGtGDH6C;

1.401
date	2020.04.04.23.54.06;	author christos;	state Exp;
branches;
next	1.400;
commitid	L8zUvv09GolfU73C;

1.400
date	2020.04.04.01.35.22;	author christos;	state Exp;
branches;
next	1.399;
commitid	nxbeeJcp3pr0v03C;

1.399
date	2020.03.24.07.56.26;	author mrg;	state Exp;
branches;
next	1.398;
commitid	hw6doyRL4uwEXC1C;

1.398
date	2020.03.03.02.25.03;	author christos;	state Exp;
branches;
next	1.397;
commitid	F9Q0ovGaQDdPNTYB;

1.397
date	2019.11.22.13.30.19;	author martin;	state Exp;
branches;
next	1.396;
commitid	433baeuzPxm4LQLB;

1.396
date	2019.11.18.16.09.21;	author christos;	state Exp;
branches;
next	1.395;
commitid	0JI9d6CgHsEHLlLB;

1.395
date	2019.10.31.06.43.19;	author martin;	state Exp;
branches;
next	1.394;
commitid	VaJfDlPOVMobdZIB;

1.394
date	2019.08.10.12.46.38;	author christos;	state Exp;
branches;
next	1.393;
commitid	5x9WpOweOIQvRtyB;

1.393
date	2019.07.24.09.28.29;	author roy;	state Exp;
branches
	1.393.2.1;
next	1.392;
commitid	sK95mlqaQycdihwB;

1.392
date	2019.07.20.19.09.23;	author wiz;	state Exp;
branches;
next	1.391;
commitid	M9F4rL3rE1Z5EOvB;

1.391
date	2019.04.19.22.06.03;	author kamil;	state Exp;
branches;
next	1.390;
commitid	wTw9clFIcepIA0kB;

1.390
date	2019.04.07.19.32.24;	author christos;	state Exp;
branches;
next	1.389;
commitid	VhM23BjQTqNT7siB;

1.389
date	2019.04.03.15.26.35;	author joerg;	state Exp;
branches;
next	1.388;
commitid	sRIz4RuG9B2vTUhB;

1.388
date	2019.04.03.15.17.23;	author joerg;	state Exp;
branches;
next	1.387;
commitid	dUQvSjv21DEpQUhB;

1.387
date	2019.01.01.19.06.38;	author christos;	state Exp;
branches;
next	1.386;
commitid	ow9I1KVGNhh9476B;

1.386
date	2018.11.15.09.23.50;	author martin;	state Exp;
branches;
next	1.385;
commitid	bGsj5FZqwul0m10B;

1.385
date	2018.09.29.06.48.22;	author martin;	state Exp;
branches;
next	1.384;
commitid	VGTj9MVV2wxi0YTA;

1.384
date	2018.09.16.13.14.12;	author christos;	state Exp;
branches;
next	1.383;
commitid	cbtlFyM35L3FykSA;

1.383
date	2018.09.16.13.11.48;	author christos;	state Exp;
branches;
next	1.382;
commitid	uTwNFv7nMxnUxkSA;

1.382
date	2018.08.12.11.50.51;	author christos;	state Exp;
branches;
next	1.381;
commitid	ltjD5JjmcGBIdPNA;

1.381
date	2018.07.25.23.30.22;	author kamil;	state Exp;
branches;
next	1.380;
commitid	e5KJVml3DHJgFzLA;

1.380
date	2018.07.25.19.15.19;	author kamil;	state Exp;
branches;
next	1.379;
commitid	c15HRrEPPYe6gyLA;

1.379
date	2018.07.12.21.41.25;	author joerg;	state Exp;
branches;
next	1.378;
commitid	iAsL5kkxF8jeuTJA;

1.378
date	2018.07.12.06.52.49;	author maxv;	state Exp;
branches;
next	1.377;
commitid	2ua8zaJrSaSPyOJA;

1.377
date	2018.06.25.09.38.46;	author kamil;	state Exp;
branches
	1.377.2.1;
next	1.376;
commitid	LJ8r4TYfvHLbZDHA;

1.376
date	2018.06.24.20.40.58;	author kamil;	state Exp;
branches;
next	1.375;
commitid	zGsbwSQM0Fe6IzHA;

1.375
date	2018.06.03.04.41.04;	author wiz;	state Exp;
branches;
next	1.374;
commitid	QDdQeB86AbZW5NEA;

1.374
date	2018.06.03.04.38.12;	author wiz;	state Exp;
branches;
next	1.373;
commitid	l5AHhe0GwPNU4NEA;

1.373
date	2018.06.02.01.41.49;	author christos;	state Exp;
branches;
next	1.372;
commitid	nP5ZdKBgtOFm8EEA;

1.372
date	2018.05.31.05.27.46;	author mrg;	state Exp;
branches;
next	1.371;
commitid	Uk83uo9OA8B4rpEA;

1.371
date	2018.05.09.22.24.01;	author joerg;	state Exp;
branches;
next	1.370;
commitid	BJF7i5ySO4ZmMFBA;

1.370
date	2018.04.01.04.35.02;	author ryo;	state Exp;
branches;
next	1.369;
commitid	Rbo0y8tEIcKr5HwA;

1.369
date	2018.03.11.09.56.44;	author mrg;	state Exp;
branches;
next	1.368;
commitid	HsxkQcwHAldFx1uA;

1.368
date	2018.03.11.07.18.49;	author mrg;	state Exp;
branches;
next	1.367;
commitid	9qTtXZ1P9QDdF0uA;

1.367
date	2018.03.01.06.34.23;	author snj;	state Exp;
branches
	1.367.2.1;
next	1.366;
commitid	ZIVok7Ri7mi9KIsA;

1.366
date	2018.01.07.20.59.25;	author jmcneill;	state Exp;
branches;
next	1.365;
commitid	etRTPvgHueUVdZlA;

1.365
date	2017.11.25.23.22.41;	author jmcneill;	state Exp;
branches;
next	1.364;
commitid	6xDkSFGZYi0qptgA;

1.364
date	2017.11.01.15.24.42;	author khorben;	state Exp;
branches;
next	1.363;
commitid	g49TQ3k4zxbexldA;

1.363
date	2017.10.08.15.03.50;	author christos;	state Exp;
branches;
next	1.362;
commitid	yFevUpCMvMsUbgaA;

1.362
date	2017.05.21.15.28.42;	author riastradh;	state Exp;
branches;
next	1.361;
commitid	qFvwLLy2KgFGNgSz;

1.361
date	2017.05.21.14.24.05;	author riastradh;	state Exp;
branches;
next	1.360;
commitid	xzuIvLLPt6zftgSz;

1.360
date	2017.05.21.14.20.45;	author riastradh;	state Exp;
branches;
next	1.359;
commitid	0IWZaOcZduV7pgSz;

1.359
date	2017.04.20.09.29.10;	author ozaki-r;	state Exp;
branches;
next	1.358;
commitid	I4z1bW76wU8VPfOz;

1.358
date	2017.02.08.03.44.41;	author kamil;	state Exp;
branches;
next	1.357;
commitid	uFtv2cXdJlIL96Fz;

1.357
date	2017.01.07.22.27.36;	author christos;	state Exp;
branches
	1.357.2.1;
next	1.356;
commitid	6rV6MkF1agDds5Bz;

1.356
date	2016.08.20.16.11.07;	author christos;	state Exp;
branches;
next	1.355;
commitid	98BZ4v6im4V0S3jz;

1.355
date	2016.08.20.11.23.33;	author christos;	state Exp;
branches;
next	1.354;
commitid	m1D8lZtZhODoh2jz;

1.354
date	2016.06.14.13.26.45;	author christos;	state Exp;
branches
	1.354.2.1;
next	1.353;
commitid	UsmPAycxY2d57raz;

1.353
date	2016.03.13.17.56.56;	author christos;	state Exp;
branches;
next	1.352;
commitid	LN3DDHA5VdhdBvYy;

1.352
date	2016.02.21.03.34.27;	author christos;	state Exp;
branches;
next	1.351;
commitid	uPGLUaHXgFncvJVy;

1.351
date	2016.02.20.15.18.46;	author christos;	state Exp;
branches;
next	1.350;
commitid	ziSVRr6Dz5UIqFVy;

1.350
date	2016.02.07.14.31.21;	author christos;	state Exp;
branches;
next	1.349;
commitid	BkvifcES5OYsAZTy;

1.349
date	2016.02.01.15.00.43;	author christos;	state Exp;
branches;
next	1.348;
commitid	w9GYkz3LnJztWdTy;

1.348
date	2015.11.22.04.59.15;	author kamil;	state Exp;
branches;
next	1.347;
commitid	g4iH6ieILe4FT2Ky;

1.347
date	2015.11.07.23.53.28;	author christos;	state Exp;
branches;
next	1.346;
commitid	zFKLa1audj5DEdIy;

1.346
date	2015.07.23.08.03.26;	author mrg;	state Exp;
branches;
next	1.345;
commitid	nfGa2DVpEPUUPnuy;

1.345
date	2015.06.27.16.21.07;	author matt;	state Exp;
branches;
next	1.344;
commitid	cOr7vQoBy7zfq5ry;

1.344
date	2015.06.19.18.13.52;	author matt;	state Exp;
branches;
next	1.343;
commitid	7Kpe1D457lPXi4qy;

1.343
date	2015.06.18.22.29.12;	author pooka;	state Exp;
branches;
next	1.342;
commitid	BHbOrQyOsmv3KXpy;

1.342
date	2015.05.28.14.36.45;	author rjs;	state Exp;
branches;
next	1.341;
commitid	AfLWdk5IZEmeOdny;

1.341
date	2015.04.26.21.37.22;	author mrg;	state Exp;
branches;
next	1.340;
commitid	1dvF3VxWqNwG99jy;

1.340
date	2015.04.22.19.43.45;	author pooka;	state Exp;
branches;
next	1.339;
commitid	0KYvrIfLtmZQCCiy;

1.339
date	2015.03.17.01.58.29;	author mrg;	state Exp;
branches;
next	1.338;
commitid	xLb74ssT7lNKVTdy;

1.338
date	2015.03.01.07.46.04;	author mrg;	state Exp;
branches;
next	1.337;
commitid	AhqQ4PNrDFjvmSby;

1.337
date	2014.11.30.15.53.29;	author uebayasi;	state Exp;
branches;
next	1.336;
commitid	bXy2o4AuUrNyZd0y;

1.336
date	2014.09.06.12.12.32;	author christos;	state Exp;
branches;
next	1.335;
commitid	nBOOnu5KrTu7vhPx;

1.335
date	2014.08.05.15.25.20;	author apb;	state Exp;
branches
	1.335.2.1;
next	1.334;
commitid	OsWxVcHHZ4nxAbLx;

1.334
date	2014.07.06.18.22.03;	author dholland;	state Exp;
branches;
next	1.333;
commitid	v2xQvCtb0ozywlHx;

1.333
date	2014.07.05.19.23.38;	author dholland;	state Exp;
branches;
next	1.332;
commitid	fWBR1A0ozvVBUdHx;

1.332
date	2014.05.08.13.58.34;	author phx;	state Exp;
branches;
next	1.331;
commitid	C0b30yiJ9a9WXJzx;

1.331
date	2014.05.05.19.06.29;	author martin;	state Exp;
branches;
next	1.330;
commitid	pENoSdKKC0LNLnzx;

1.330
date	2014.04.18.00.37.46;	author christos;	state Exp;
branches;
next	1.329;
commitid	hHFBFaGAXOfKb6xx;

1.329
date	2014.03.25.09.52.55;	author ozaki-r;	state Exp;
branches
	1.329.2.1;
next	1.328;
commitid	BC7cPubsAsmw04ux;

1.328
date	2014.02.24.07.23.41;	author skrll;	state Exp;
branches;
next	1.327;
commitid	HknWmBfzukaU7kqx;

1.327
date	2014.01.27.07.57.28;	author apb;	state Exp;
branches;
next	1.326;
commitid	b3RT9XFJALXQdJmx;

1.326
date	2014.01.16.01.19.46;	author christos;	state Exp;
branches;
next	1.325;
commitid	5TvB52n3vAUcmhlx;

1.325
date	2014.01.14.18.51.45;	author christos;	state Exp;
branches;
next	1.324;
commitid	cesHMrJEPSLpg7lx;

1.324
date	2014.01.14.11.32.35;	author apb;	state Exp;
branches;
next	1.323;
commitid	SpTM6PHjYlczP4lx;

1.323
date	2013.12.06.23.14.15;	author matt;	state Exp;
branches;
next	1.322;
commitid	YLvejWr9A5KrX7gx;

1.322
date	2013.11.11.10.24.53;	author joerg;	state Exp;
branches;
next	1.321;
commitid	abPs8hWARJD4wQcx;

1.321
date	2013.10.28.01.47.13;	author mrg;	state Exp;
branches;
next	1.320;
commitid	gHl4WvaHEj7K50bx;

1.320
date	2013.09.29.14.36.25;	author christos;	state Exp;
branches;
next	1.319;
commitid	eqB7dR6Pyew3il7x;

1.319
date	2013.08.03.19.31.26;	author adam;	state Exp;
branches;
next	1.318;
commitid	zQnrdq6ddu3UK20x;

1.318
date	2013.06.02.11.02.40;	author mbalmer;	state Exp;
branches;
next	1.317;
commitid	N7r2HhPJBkbnV1Sw;

1.317
date	2013.05.31.06.48.43;	author mrg;	state Exp;
branches;
next	1.316;
commitid	T1CSvGaqBLPBAKRw;

1.316
date	2013.04.28.04.44.21;	author joerg;	state Exp;
branches;
next	1.315;

1.315
date	2013.04.11.01.27.46;	author christos;	state Exp;
branches;
next	1.314;

1.314
date	2013.03.05.02.02.07;	author christos;	state Exp;
branches;
next	1.313;

1.313
date	2013.02.16.21.40.45;	author jmmv;	state Exp;
branches;
next	1.312;

1.312
date	2013.02.15.19.49.48;	author jmmv;	state Exp;
branches;
next	1.311;

1.311
date	2013.02.10.22.05.51;	author jmcneill;	state Exp;
branches;
next	1.310;

1.310
date	2012.12.02.20.19.46;	author apb;	state Exp;
branches;
next	1.309;

1.309
date	2012.11.24.14.01.28;	author alnsn;	state Exp;
branches;
next	1.308;

1.308
date	2012.11.19.16.04.54;	author apb;	state Exp;
branches;
next	1.307;

1.307
date	2012.11.13.22.30.38;	author pooka;	state Exp;
branches;
next	1.306;

1.306
date	2012.11.04.16.27.28;	author christos;	state Exp;
branches;
next	1.305;

1.305
date	2012.11.04.10.59.13;	author apb;	state Exp;
branches;
next	1.304;

1.304
date	2012.10.02.04.53.11;	author jkoshy;	state Exp;
branches;
next	1.303;

1.303
date	2012.09.30.03.07.25;	author jkoshy;	state Exp;
branches;
next	1.302;

1.302
date	2012.09.29.12.03.41;	author jkoshy;	state Exp;
branches;
next	1.301;

1.301
date	2012.09.20.15.48.54;	author abs;	state Exp;
branches;
next	1.300;

1.300
date	2012.08.23.21.21.16;	author joerg;	state Exp;
branches
	1.300.2.1;
next	1.299;

1.299
date	2012.08.23.15.45.03;	author joerg;	state Exp;
branches;
next	1.298;

1.298
date	2012.08.08.13.56.13;	author christos;	state Exp;
branches;
next	1.297;

1.297
date	2012.07.14.16.04.06;	author spz;	state Exp;
branches;
next	1.296;

1.296
date	2012.06.19.06.20.13;	author plunky;	state Exp;
branches;
next	1.295;

1.295
date	2012.05.25.10.48.48;	author wiz;	state Exp;
branches;
next	1.294;

1.294
date	2012.02.29.20.07.57;	author tron;	state Exp;
branches;
next	1.293;

1.293
date	2012.02.17.00.00.02;	author joerg;	state Exp;
branches;
next	1.292;

1.292
date	2012.02.07.22.58.49;	author joerg;	state Exp;
branches
	1.292.2.1;
next	1.291;

1.291
date	2012.01.28.21.32.13;	author christos;	state Exp;
branches;
next	1.290;

1.290
date	2011.11.05.22.56.30;	author christos;	state Exp;
branches;
next	1.289;

1.289
date	2011.10.16.01.28.35;	author christos;	state Exp;
branches
	1.289.2.1;
next	1.288;

1.288
date	2011.10.16.01.14.33;	author christos;	state Exp;
branches;
next	1.287;

1.287
date	2011.10.05.12.34.04;	author apb;	state Exp;
branches;
next	1.286;

1.286
date	2011.09.10.16.57.35;	author apb;	state Exp;
branches;
next	1.285;

1.285
date	2011.09.09.10.08.14;	author apb;	state Exp;
branches;
next	1.284;

1.284
date	2011.06.30.18.13.51;	author matt;	state Exp;
branches;
next	1.283;

1.283
date	2011.05.30.13.47.01;	author joerg;	state Exp;
branches;
next	1.282;

1.282
date	2011.05.20.16.02.23;	author plunky;	state Exp;
branches;
next	1.281;

1.281
date	2011.05.19.14.29.27;	author joerg;	state Exp;
branches;
next	1.280;

1.280
date	2011.03.24.17.05.44;	author bouyer;	state Exp;
branches;
next	1.279;

1.279
date	2011.02.20.20.16.01;	author jmmv;	state Exp;
branches;
next	1.278;

1.278
date	2011.01.12.23.05.31;	author joerg;	state Exp;
branches
	1.278.2.1;
next	1.277;

1.277
date	2010.10.31.11.52.53;	author mbalmer;	state Exp;
branches;
next	1.276;

1.276
date	2010.08.25.15.24.29;	author reed;	state Exp;
branches;
next	1.275;

1.275
date	2010.08.22.18.56.20;	author rmind;	state Exp;
branches;
next	1.274;

1.274
date	2010.08.15.07.27.33;	author mrg;	state Exp;
branches;
next	1.273;

1.273
date	2010.06.20.06.54.24;	author mrg;	state Exp;
branches;
next	1.272;

1.272
date	2010.06.19.03.50.30;	author mrg;	state Exp;
branches;
next	1.271;

1.271
date	2010.06.17.06.17.02;	author mrg;	state Exp;
branches;
next	1.270;

1.270
date	2010.06.08.22.22.25;	author riz;	state Exp;
branches;
next	1.269;

1.269
date	2010.06.04.08.35.09;	author jmmv;	state Exp;
branches;
next	1.268;

1.268
date	2010.05.26.14.52.10;	author njoly;	state Exp;
branches;
next	1.267;

1.267
date	2010.05.26.01.10.10;	author uwe;	state Exp;
branches;
next	1.266;

1.266
date	2010.04.23.19.41.03;	author joerg;	state Exp;
branches;
next	1.265;

1.265
date	2010.02.22.12.33.22;	author njoly;	state Exp;
branches;
next	1.264;

1.264
date	2010.02.03.15.34.44;	author roy;	state Exp;
branches;
next	1.263;

1.263
date	2009.12.30.20.45.46;	author abs;	state Exp;
branches;
next	1.262;

1.262
date	2009.12.23.18.02.25;	author tron;	state Exp;
branches;
next	1.261;

1.261
date	2009.12.23.18.00.38;	author tron;	state Exp;
branches;
next	1.260;

1.260
date	2009.11.30.16.13.23;	author uebayasi;	state Exp;
branches;
next	1.259;

1.259
date	2009.11.15.14.59.47;	author pgoyette;	state Exp;
branches;
next	1.258;

1.258
date	2009.11.12.14.46.37;	author tron;	state Exp;
branches;
next	1.257;

1.257
date	2009.11.12.13.22.34;	author tron;	state Exp;
branches;
next	1.256;

1.256
date	2009.10.23.22.14.37;	author joerg;	state Exp;
branches;
next	1.255;

1.255
date	2009.10.10.19.05.29;	author apb;	state Exp;
branches;
next	1.254;

1.254
date	2009.10.05.22.32.58;	author haad;	state Exp;
branches;
next	1.253;

1.253
date	2009.09.29.23.56.34;	author tsarna;	state Exp;
branches;
next	1.252;

1.252
date	2009.09.08.07.08.03;	author skrll;	state Exp;
branches;
next	1.251;

1.251
date	2009.06.18.06.36.59;	author mrg;	state Exp;
branches;
next	1.250;

1.250
date	2009.05.12.18.07.54;	author plunky;	state Exp;
branches;
next	1.249;

1.249
date	2009.04.10.16.16.12;	author apb;	state Exp;
branches;
next	1.248;

1.248
date	2009.03.13.16.23.31;	author perry;	state Exp;
branches;
next	1.247;

1.247
date	2009.02.25.20.36.45;	author sketch;	state Exp;
branches;
next	1.246;

1.246
date	2009.01.22.14.04.15;	author christos;	state Exp;
branches
	1.246.2.1;
next	1.245;

1.245
date	2008.12.23.02.55.23;	author agc;	state Exp;
branches;
next	1.244;

1.244
date	2008.12.06.19.32.05;	author mrg;	state Exp;
branches;
next	1.243;

1.243
date	2008.12.05.18.51.16;	author cube;	state Exp;
branches;
next	1.242;

1.242
date	2008.11.15.11.27.49;	author mrg;	state Exp;
branches;
next	1.241;

1.241
date	2008.11.13.20.40.11;	author apb;	state Exp;
branches;
next	1.240;

1.240
date	2008.11.12.13.17.27;	author pooka;	state Exp;
branches;
next	1.239;

1.239
date	2008.11.12.12.35.54;	author ad;	state Exp;
branches;
next	1.238;

1.238
date	2008.11.09.23.07.22;	author mrg;	state Exp;
branches;
next	1.237;

1.237
date	2008.11.09.23.02.29;	author mrg;	state Exp;
branches;
next	1.236;

1.236
date	2008.10.26.23.13.24;	author apb;	state Exp;
branches
	1.236.2.1;
next	1.235;

1.235
date	2008.10.26.15.51.20;	author apb;	state Exp;
branches;
next	1.234;

1.234
date	2008.10.26.07.09.11;	author mrg;	state Exp;
branches;
next	1.233;

1.233
date	2008.10.25.14.58.00;	author apb;	state Exp;
branches;
next	1.232;

1.232
date	2008.10.19.19.44.47;	author apb;	state Exp;
branches;
next	1.231;

1.231
date	2008.10.17.15.04.18;	author apb;	state Exp;
branches;
next	1.230;

1.230
date	2008.10.13.18.24.21;	author apb;	state Exp;
branches;
next	1.229;

1.229
date	2008.10.13.15.29.22;	author apb;	state Exp;
branches;
next	1.228;

1.228
date	2008.10.05.20.17.16;	author apb;	state Exp;
branches;
next	1.227;

1.227
date	2008.10.02.17.54.53;	author joerg;	state Exp;
branches;
next	1.226;

1.226
date	2008.09.26.18.23.09;	author apb;	state Exp;
branches;
next	1.225;

1.225
date	2008.09.09.11.54.19;	author joerg;	state Exp;
branches;
next	1.224;

1.224
date	2008.09.05.22.26.28;	author lukem;	state Exp;
branches;
next	1.223;

1.223
date	2008.08.31.05.40.15;	author christos;	state Exp;
branches;
next	1.222;

1.222
date	2008.08.31.01.21.41;	author lukem;	state Exp;
branches;
next	1.221;

1.221
date	2008.08.28.07.53.53;	author mrg;	state Exp;
branches;
next	1.220;

1.220
date	2008.08.28.07.21.49;	author lukem;	state Exp;
branches;
next	1.219;

1.219
date	2008.08.27.00.16.09;	author lukem;	state Exp;
branches;
next	1.218;

1.218
date	2008.08.10.09.25.04;	author lukem;	state Exp;
branches;
next	1.217;

1.217
date	2008.08.04.16.02.25;	author joerg;	state Exp;
branches;
next	1.216;

1.216
date	2008.07.29.04.40.14;	author mrg;	state Exp;
branches;
next	1.215;

1.215
date	2008.07.22.21.09.52;	author dyoung;	state Exp;
branches;
next	1.214;

1.214
date	2008.07.22.08.01.54;	author wiz;	state Exp;
branches;
next	1.213;

1.213
date	2008.07.21.23.39.55;	author lukem;	state Exp;
branches;
next	1.212;

1.212
date	2008.07.21.23.23.42;	author lukem;	state Exp;
branches;
next	1.211;

1.211
date	2008.07.21.12.12.57;	author lukem;	state Exp;
branches;
next	1.210;

1.210
date	2008.07.12.12.15.43;	author gmcgarry;	state Exp;
branches;
next	1.209;

1.209
date	2008.05.28.11.23.26;	author lukem;	state Exp;
branches;
next	1.208;

1.208
date	2008.05.22.13.40.30;	author lukem;	state Exp;
branches;
next	1.207;

1.207
date	2008.05.03.14.48.31;	author lukem;	state Exp;
branches
	1.207.2.1;
next	1.206;

1.206
date	2008.05.02.11.45.19;	author lukem;	state Exp;
branches;
next	1.205;

1.205
date	2008.04.30.21.15.33;	author garbled;	state Exp;
branches;
next	1.204;

1.204
date	2008.03.31.02.42.27;	author lukem;	state Exp;
branches
	1.204.2.1
	1.204.4.1;
next	1.203;

1.203
date	2008.03.28.06.04.40;	author dholland;	state Exp;
branches;
next	1.202;

1.202
date	2008.03.11.13.33.16;	author uwe;	state Exp;
branches;
next	1.201;

1.201
date	2008.02.27.00.36.00;	author lukem;	state Exp;
branches;
next	1.200;

1.200
date	2008.02.09.19.31.36;	author jmmv;	state Exp;
branches
	1.200.2.1;
next	1.199;

1.199
date	2008.01.09.11.26.14;	author simonb;	state Exp;
branches;
next	1.198;

1.198
date	2007.12.28.21.35.45;	author christos;	state Exp;
branches;
next	1.197;

1.197
date	2007.10.06.00.21.44;	author ad;	state Exp;
branches;
next	1.196;

1.196
date	2007.07.29.17.06.01;	author joerg;	state Exp;
branches
	1.196.4.1
	1.196.6.1;
next	1.195;

1.195
date	2007.06.06.06.18.39;	author rillig;	state Exp;
branches;
next	1.194;

1.194
date	2007.02.24.18.53.34;	author pooka;	state Exp;
branches;
next	1.193;

1.193
date	2007.01.25.23.04.28;	author perry;	state Exp;
branches;
next	1.192;

1.192
date	2007.01.14.16.19.55;	author apb;	state Exp;
branches;
next	1.191;

1.191
date	2006.12.30.04.45.13;	author rumble;	state Exp;
branches;
next	1.190;

1.190
date	2006.12.29.15.52.20;	author pooka;	state Exp;
branches;
next	1.189;

1.189
date	2006.11.12.02.44.51;	author christos;	state Exp;
branches;
next	1.188;

1.188
date	2006.11.10.17.13.15;	author christos;	state Exp;
branches;
next	1.187;

1.187
date	2006.11.09.17.06.54;	author christos;	state Exp;
branches;
next	1.186;

1.186
date	2006.10.09.08.32.11;	author mrg;	state Exp;
branches;
next	1.185;

1.185
date	2006.10.08.17.16.51;	author elad;	state Exp;
branches;
next	1.184;

1.184
date	2006.07.23.11.41.27;	author lukem;	state Exp;
branches;
next	1.183;

1.183
date	2006.07.22.05.29.03;	author lukem;	state Exp;
branches;
next	1.182;

1.182
date	2006.07.14.21.37.10;	author peter;	state Exp;
branches;
next	1.181;

1.181
date	2006.06.24.05.14.01;	author mrg;	state Exp;
branches;
next	1.180;

1.180
date	2006.06.19.15.44.44;	author gdamore;	state Exp;
branches;
next	1.179;

1.179
date	2006.05.30.00.52.11;	author christos;	state Exp;
branches;
next	1.178;

1.178
date	2006.05.12.04.29.08;	author lukem;	state Exp;
branches;
next	1.177;

1.177
date	2006.05.11.23.47.34;	author mrg;	state Exp;
branches;
next	1.176;

1.176
date	2006.04.09.01.52.06;	author christos;	state Exp;
branches;
next	1.175;

1.175
date	2006.03.20.21.25.31;	author christos;	state Exp;
branches;
next	1.174;

1.174
date	2006.03.20.04.03.23;	author christos;	state Exp;
branches;
next	1.173;

1.173
date	2005.12.25.18.34.23;	author perry;	state Exp;
branches;
next	1.172;

1.172
date	2005.12.22.02.54.01;	author hubertf;	state Exp;
branches;
next	1.171;

1.171
date	2005.12.21.04.25.54;	author hubertf;	state Exp;
branches;
next	1.170;

1.170
date	2005.06.27.20.32.40;	author peter;	state Exp;
branches;
next	1.169;

1.169
date	2005.05.31.02.25.36;	author thorpej;	state Exp;
branches;
next	1.168;

1.168
date	2005.05.23.21.58.21;	author riz;	state Exp;
branches;
next	1.167;

1.167
date	2005.04.15.03.04.53;	author lukem;	state Exp;
branches;
next	1.166;

1.166
date	2005.03.22.21.12.32;	author rtr;	state Exp;
branches;
next	1.165;

1.165
date	2005.02.22.14.40.01;	author peter;	state Exp;
branches
	1.165.2.1;
next	1.164;

1.164
date	2005.02.20.01.31.44;	author matt;	state Exp;
branches;
next	1.163;

1.163
date	2005.02.20.00.35.02;	author christos;	state Exp;
branches;
next	1.162;

1.162
date	2005.02.07.01.38.44;	author wiz;	state Exp;
branches;
next	1.161;

1.161
date	2005.01.10.21.06.39;	author manu;	state Exp;
branches;
next	1.160;

1.160
date	2005.01.10.00.20.21;	author he;	state Exp;
branches;
next	1.159;

1.159
date	2005.01.08.09.53.38;	author lukem;	state Exp;
branches;
next	1.158;

1.158
date	2005.01.06.00.42.58;	author lukem;	state Exp;
branches;
next	1.157;

1.157
date	2004.12.29.14.46.24;	author lukem;	state Exp;
branches;
next	1.156;

1.156
date	2004.09.19.08.56.22;	author tron;	state Exp;
branches;
next	1.155;

1.155
date	2004.06.13.08.17.22;	author jmc;	state Exp;
branches;
next	1.154;

1.154
date	2004.05.23.01.45.21;	author lukem;	state Exp;
branches;
next	1.153;

1.153
date	2004.05.22.16.04.58;	author lukem;	state Exp;
branches;
next	1.152;

1.152
date	2004.05.12.16.56.43;	author cl;	state Exp;
branches;
next	1.151;

1.151
date	2004.04.18.13.07.00;	author lukem;	state Exp;
branches;
next	1.150;

1.150
date	2004.04.13.12.25.03;	author lukem;	state Exp;
branches;
next	1.149;

1.149
date	2004.03.18.03.26.55;	author jmc;	state Exp;
branches
	1.149.2.1;
next	1.148;

1.148
date	2004.03.18.02.00.00;	author jmc;	state Exp;
branches;
next	1.147;

1.147
date	2004.03.09.19.08.17;	author skrll;	state Exp;
branches;
next	1.146;

1.146
date	2004.02.13.05.13.37;	author lukem;	state Exp;
branches;
next	1.145;

1.145
date	2004.02.06.22.13.58;	author jwise;	state Exp;
branches;
next	1.144;

1.144
date	2004.01.07.12.06.34;	author lukem;	state Exp;
branches;
next	1.143;

1.143
date	2004.01.03.01.06.55;	author lukem;	state Exp;
branches;
next	1.142;

1.142
date	2004.01.02.16.12.36;	author lukem;	state Exp;
branches;
next	1.141;

1.141
date	2003.10.18.15.33.59;	author lukem;	state Exp;
branches;
next	1.140;

1.140
date	2003.09.29.01.06.37;	author lukem;	state Exp;
branches;
next	1.139;

1.139
date	2003.09.20.06.20.41;	author lukem;	state Exp;
branches;
next	1.138;

1.138
date	2003.09.13.19.08.26;	author lukem;	state Exp;
branches;
next	1.137;

1.137
date	2003.09.13.11.16.28;	author simonb;	state Exp;
branches;
next	1.136;

1.136
date	2003.09.13.02.52.05;	author erh;	state Exp;
branches;
next	1.135;

1.135
date	2003.09.03.05.38.09;	author lukem;	state Exp;
branches;
next	1.134;

1.134
date	2003.08.03.09.23.15;	author lukem;	state Exp;
branches;
next	1.133;

1.133
date	2003.08.02.00.34.25;	author lukem;	state Exp;
branches;
next	1.132;

1.132
date	2003.07.31.13.47.32;	author lukem;	state Exp;
branches;
next	1.131;

1.131
date	2003.07.29.01.26.15;	author lukem;	state Exp;
branches;
next	1.130;

1.130
date	2003.07.28.08.53.53;	author lukem;	state Exp;
branches;
next	1.129;

1.129
date	2003.07.28.07.03.43;	author lukem;	state Exp;
branches;
next	1.128;

1.128
date	2003.07.26.14.58.10;	author mrg;	state Exp;
branches;
next	1.127;

1.127
date	2003.07.23.14.53.57;	author lukem;	state Exp;
branches;
next	1.126;

1.126
date	2003.07.23.08.01.44;	author itojun;	state Exp;
branches;
next	1.125;

1.125
date	2003.07.22.06.53.21;	author lukem;	state Exp;
branches;
next	1.124;

1.124
date	2003.07.22.04.23.28;	author lukem;	state Exp;
branches;
next	1.123;

1.123
date	2003.07.20.14.36.12;	author lukem;	state Exp;
branches;
next	1.122;

1.122
date	2003.07.20.14.27.57;	author lukem;	state Exp;
branches;
next	1.121;

1.121
date	2003.07.18.15.44.07;	author lukem;	state Exp;
branches;
next	1.120;

1.120
date	2003.07.18.08.26.05;	author lukem;	state Exp;
branches;
next	1.119;

1.119
date	2003.07.18.02.52.51;	author lukem;	state Exp;
branches;
next	1.118;

1.118
date	2003.07.18.00.33.18;	author lukem;	state Exp;
branches;
next	1.117;

1.117
date	2003.07.16.05.42.01;	author itojun;	state Exp;
branches;
next	1.116;

1.116
date	2003.07.10.10.34.35;	author lukem;	state Exp;
branches;
next	1.115;

1.115
date	2003.06.26.06.30.07;	author tshiozak;	state Exp;
branches;
next	1.114;

1.114
date	2003.06.12.23.26.19;	author provos;	state Exp;
branches;
next	1.113;

1.113
date	2003.05.31.20.33.16;	author thorpej;	state Exp;
branches;
next	1.112;

1.112
date	2003.05.30.18.43.24;	author thorpej;	state Exp;
branches;
next	1.111;

1.111
date	2003.04.11.22.40.31;	author thorpej;	state Exp;
branches;
next	1.110;

1.110
date	2003.01.24.02.06.37;	author thorpej;	state Exp;
branches;
next	1.109;

1.109
date	2003.01.05.19.18.52;	author sommerfeld;	state Exp;
branches;
next	1.108;

1.108
date	2002.12.20.16.05.16;	author jwise;	state Exp;
branches;
next	1.107;

1.107
date	2002.11.26.23.15.53;	author lukem;	state Exp;
branches;
next	1.106;

1.106
date	2002.09.27.21.37.55;	author thorpej;	state Exp;
branches;
next	1.105;

1.105
date	2002.09.26.13.05.55;	author itojun;	state Exp;
branches;
next	1.104;

1.104
date	2002.09.22.15.08.19;	author lukem;	state Exp;
branches;
next	1.103;

1.103
date	2002.09.17.23.18.29;	author thorpej;	state Exp;
branches;
next	1.102;

1.102
date	2002.09.08.03.59.02;	author thorpej;	state Exp;
branches;
next	1.101;

1.101
date	2002.08.19.14.51.58;	author lukem;	state Exp;
branches;
next	1.100;

1.100
date	2002.08.09.00.21.22;	author thorpej;	state Exp;
branches;
next	1.99;

1.99
date	2002.06.09.04.04.32;	author itojun;	state Exp;
branches;
next	1.98;

1.98
date	2002.04.26.15.02.02;	author lukem;	state Exp;
branches
	1.98.2.1;
next	1.97;

1.97
date	2002.04.19.03.08.05;	author itojun;	state Exp;
branches;
next	1.96;

1.96
date	2002.04.16.03.47.32;	author itojun;	state Exp;
branches;
next	1.95;

1.95
date	2002.04.10.15.05.45;	author lukem;	state Exp;
branches;
next	1.94;

1.94
date	2002.03.22.18.12.08;	author thorpej;	state Exp;
branches;
next	1.93;

1.93
date	2002.03.14.18.26.32;	author thorpej;	state Exp;
branches;
next	1.92;

1.92
date	2002.01.27.23.33.51;	author ross;	state Exp;
branches;
next	1.91;

1.91
date	2002.01.04.19.07.18;	author thorpej;	state Exp;
branches;
next	1.90;

1.90
date	2002.01.02.23.48.19;	author thorpej;	state Exp;
branches;
next	1.89;

1.89
date	2002.01.01.01.44.29;	author thorpej;	state Exp;
branches;
next	1.88;

1.88
date	2002.01.01.01.38.25;	author thorpej;	state Exp;
branches;
next	1.87;

1.87
date	2002.01.01.00.34.26;	author thorpej;	state Exp;
branches;
next	1.86;

1.86
date	2001.12.31.23.11.05;	author thorpej;	state Exp;
branches;
next	1.85;

1.85
date	2001.12.28.01.32.40;	author lukem;	state Exp;
branches;
next	1.84;

1.84
date	2001.11.19.16.20.26;	author kleink;	state Exp;
branches;
next	1.83;

1.83
date	2001.11.19.04.45.06;	author perry;	state Exp;
branches;
next	1.82;

1.82
date	2001.11.01.07.17.17;	author lukem;	state Exp;
branches;
next	1.81;

1.81
date	2001.10.30.15.17.16;	author wiz;	state Exp;
branches;
next	1.80;

1.80
date	2001.10.13.06.06.55;	author jmc;	state Exp;
branches;
next	1.79;

1.79
date	2001.06.19.13.42.11;	author wiz;	state Exp;
branches;
next	1.78;

1.78
date	2001.06.18.17.04.44;	author simonb;	state Exp;
branches;
next	1.77;

1.77
date	2001.05.31.05.04.41;	author simonb;	state Exp;
branches;
next	1.76;

1.76
date	2001.03.10.11.00.37;	author fair;	state Exp;
branches;
next	1.75;

1.75
date	2001.02.01.20.27.06;	author agc;	state Exp;
branches;
next	1.74;

1.74
date	2001.01.24.07.57.07;	author itojun;	state Exp;
branches;
next	1.73;

1.73
date	2001.01.05.12.59.25;	author blymn;	state Exp;
branches;
next	1.72;

1.72
date	2000.12.30.14.34.51;	author sommerfeld;	state Exp;
branches;
next	1.71;

1.71
date	2000.12.30.04.11.34;	author itojun;	state Exp;
branches;
next	1.70;

1.70
date	2000.10.31.10.49.01;	author itojun;	state Exp;
branches;
next	1.69;

1.69
date	2000.10.04.19.27.45;	author sommerfeld;	state Exp;
branches;
next	1.68;

1.68
date	2000.09.30.12.27.35;	author itojun;	state Exp;
branches;
next	1.67;

1.67
date	2000.09.30.12.21.52;	author itojun;	state Exp;
branches;
next	1.66;

1.66
date	2000.09.30.00.23.37;	author itojun;	state Exp;
branches;
next	1.65;

1.65
date	2000.09.10.19.10.50;	author jlam;	state Exp;
branches;
next	1.64;

1.64
date	2000.06.23.06.11.05;	author thorpej;	state Exp;
branches;
next	1.63;

1.63
date	2000.05.07.01.19.58;	author sjg;	state Exp;
branches
	1.63.4.1;
next	1.62;

1.62
date	2000.05.02.11.44.20;	author simonb;	state Exp;
branches;
next	1.61;

1.61
date	2000.03.07.20.55.05;	author veego;	state Exp;
branches;
next	1.60;

1.60
date	2000.02.05.20.54.12;	author jdc;	state Exp;
branches;
next	1.59;

1.59
date	2000.01.17.21.21.55;	author jlam;	state Exp;
branches;
next	1.58;

1.58
date	2000.01.08.01.41.13;	author sommerfeld;	state Exp;
branches;
next	1.57;

1.57
date	2000.01.06.19.09.35;	author drochner;	state Exp;
branches;
next	1.56;

1.56
date	99.12.01.03.33.52;	author sommerfeld;	state Exp;
branches;
next	1.55;

1.55
date	99.11.30.16.16.43;	author sommerfeld;	state Exp;
branches;
next	1.54;

1.54
date	99.11.28.04.50.41;	author simonb;	state Exp;
branches;
next	1.53;

1.53
date	99.11.23.13.22.37;	author blymn;	state Exp;
branches;
next	1.52;

1.52
date	99.08.21.06.19.33;	author simonb;	state Exp;
branches
	1.52.4.1;
next	1.51;

1.51
date	99.07.26.02.01.47;	author mrg;	state Exp;
branches
	1.51.2.1;
next	1.50;

1.50
date	99.07.13.17.58.42;	author thorpej;	state Exp;
branches;
next	1.49;

1.49
date	99.07.01.20.19.18;	author itojun;	state Exp;
branches;
next	1.48;

1.48
date	99.02.13.03.04.09;	author lukem;	state Exp;
branches;
next	1.47;

1.47
date	99.02.12.15.10.22;	author tv;	state Exp;
branches;
next	1.46;

1.46
date	99.02.12.12.38.44;	author lukem;	state Exp;
branches;
next	1.45;

1.45
date	99.02.12.01.10.06;	author lukem;	state Exp;
branches;
next	1.44;

1.44
date	98.11.07.09.40.35;	author erh;	state Exp;
branches;
next	1.43;

1.43
date	98.09.15.14.56.37;	author agc;	state Exp;
branches;
next	1.42;

1.42
date	98.08.09.14.46.19;	author lukem;	state Exp;
branches;
next	1.41;

1.41
date	98.07.27.00.58.05;	author tv;	state Exp;
branches;
next	1.40;

1.40
date	98.07.22.18.22.35;	author perry;	state Exp;
branches;
next	1.39;

1.39
date	98.06.12.23.28.53;	author cgd;	state Exp;
branches;
next	1.38;

1.38
date	98.05.13.13.58.00;	author simonb;	state Exp;
branches;
next	1.37;

1.37
date	98.05.05.17.15.05;	author tv;	state Exp;
branches;
next	1.36;

1.36
date	98.05.03.16.39.45;	author ross;	state Exp;
branches;
next	1.35;

1.35
date	98.04.13.12.03.07;	author lukem;	state Exp;
branches;
next	1.34;

1.34
date	98.02.26.08.46.09;	author lukem;	state Exp;
branches;
next	1.33;

1.33
date	98.02.23.10.09.31;	author jonathan;	state Exp;
branches;
next	1.32;

1.32
date	98.02.04.07.08.56;	author mikel;	state Exp;
branches;
next	1.31;

1.31
date	97.09.30.23.16.03;	author hubertf;	state Exp;
branches
	1.31.2.1;
next	1.30;

1.30
date	97.08.20.10.53.04;	author agc;	state Exp;
branches;
next	1.29;

1.29
date	97.05.31.21.21.55;	author cjs;	state Exp;
branches;
next	1.28;

1.28
date	97.05.29.06.26.35;	author mikel;	state Exp;
branches
	1.28.2.1;
next	1.27;

1.27
date	97.05.26.03.57.52;	author cjs;	state Exp;
branches;
next	1.26;

1.26
date	97.05.18.20.21.53;	author kleink;	state Exp;
branches;
next	1.25;

1.25
date	97.04.18.14.30.24;	author christos;	state Exp;
branches;
next	1.24;

1.24
date	97.03.29.08.02.47;	author mikel;	state Exp;
branches;
next	1.23;

1.23
date	97.03.27.17.33.35;	author christos;	state Exp;
branches;
next	1.22;

1.22
date	97.03.27.09.10.09;	author mycroft;	state Exp;
branches;
next	1.21;

1.21
date	97.03.24.21.54.13;	author christos;	state Exp;
branches;
next	1.20;

1.20
date	97.03.22.22.33.53;	author perry;	state Exp;
branches;
next	1.19;

1.19
date	97.03.13.02.45.58;	author perry;	state Exp;
branches;
next	1.18;

1.18
date	97.01.13.00.54.23;	author mark;	state Exp;
branches;
next	1.17;

1.17
date	96.04.13.02.08.08;	author thorpej;	state Exp;
branches;
next	1.16;

1.16
date	96.04.04.02.05.03;	author jtc;	state Exp;
branches;
next	1.15;

1.15
date	96.01.22.22.46.06;	author cgd;	state Exp;
branches;
next	1.14;

1.14
date	95.12.13.01.25.05;	author cgd;	state Exp;
branches;
next	1.13;

1.13
date	95.10.22.00.45.54;	author christos;	state Exp;
branches;
next	1.12;

1.12
date	95.09.24.23.49.06;	author christos;	state Exp;
branches;
next	1.11;

1.11
date	95.01.13.00.27.49;	author jtc;	state Exp;
branches;
next	1.10;

1.10
date	95.01.02.23.59.01;	author cgd;	state Exp;
branches;
next	1.9;

1.9
date	94.12.22.12.22.59;	author cgd;	state Exp;
branches;
next	1.8;

1.8
date	94.12.22.09.20.40;	author cgd;	state Exp;
branches;
next	1.7;

1.7
date	94.06.30.05.31.09;	author cgd;	state Exp;
branches;
next	1.6;

1.6
date	94.01.28.00.16.29;	author cgd;	state Exp;
branches;
next	1.5;

1.5
date	93.12.29.19.30.15;	author jtc;	state Exp;
branches;
next	1.4;

1.4
date	93.05.26.11.51.49;	author cgd;	state Exp;
branches;
next	1.3;

1.3
date	93.04.26.13.07.57;	author cgd;	state Exp;
branches;
next	1.2;

1.2
date	93.04.09.20.05.57;	author cgd;	state Exp;
branches;
next	1.1;

1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches
	1.1.1.1;
next	;

1.455.2.1
date	2026.01.22.19.51.53;	author martin;	state Exp;
branches;
next	;
commitid	LckBANOV0xlfsqrG;

1.447.2.1
date	2024.07.01.01.01.12;	author perseant;	state Exp;
branches;
next	1.447.2.2;
commitid	NkoYLLCQWWw9v4gF;

1.447.2.2
date	2025.08.02.05.55.18;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;

1.393.2.1
date	2019.11.22.15.26.28;	author bouyer;	state Exp;
branches;
next	;
commitid	FdDJi6CPxSbdpRLB;

1.377.2.1
date	2019.06.10.22.05.42;	author christos;	state Exp;
branches;
next	1.377.2.2;
commitid	jtc8rnCzWiEEHGqB;

1.377.2.2
date	2020.04.13.08.03.26;	author martin;	state Exp;
branches;
next	;
commitid	X01YhRUPVUDaec4C;

1.367.2.1
date	2018.03.15.09.12.01;	author pgoyette;	state Exp;
branches;
next	1.367.2.2;
commitid	lb7w3QtkrVH4axuA;

1.367.2.2
date	2018.04.07.04.12.10;	author pgoyette;	state Exp;
branches;
next	1.367.2.3;
commitid	ZMkKSYuBapz7LsxA;

1.367.2.3
date	2018.05.21.04.35.57;	author pgoyette;	state Exp;
branches;
next	1.367.2.4;
commitid	X5L8kSrBWQcDt7DA;

1.367.2.4
date	2018.06.25.07.25.37;	author pgoyette;	state Exp;
branches;
next	1.367.2.5;
commitid	8PtAu9af7VvhiDHA;

1.367.2.5
date	2018.07.28.04.37.25;	author pgoyette;	state Exp;
branches;
next	1.367.2.6;
commitid	1UP1xAIUxv1ZgRLA;

1.367.2.6
date	2018.09.06.06.55.22;	author pgoyette;	state Exp;
branches;
next	1.367.2.7;
commitid	HCi1bXD317XIK0RA;

1.367.2.7
date	2018.09.30.01.45.35;	author pgoyette;	state Exp;
branches;
next	1.367.2.8;
commitid	SQ44grEPCeKPh4UA;

1.367.2.8
date	2018.11.26.01.52.15;	author pgoyette;	state Exp;
branches;
next	1.367.2.9;
commitid	Zj4q5SspGdKXto1B;

1.367.2.9
date	2019.01.18.08.50.12;	author pgoyette;	state Exp;
branches;
next	;
commitid	Lmlzg3OVT2cd6f8B;

1.357.2.1
date	2017.04.21.16.53.20;	author bouyer;	state Exp;
branches;
next	;
commitid	dUG7nkTKALCadqOz;

1.354.2.1
date	2017.03.20.06.57.08;	author pgoyette;	state Exp;
branches;
next	1.354.2.2;
commitid	jjw7cAwgyKq7RfKz;

1.354.2.2
date	2017.04.26.02.52.59;	author pgoyette;	state Exp;
branches;
next	;
commitid	ojV02aOSdzvBqZOz;

1.335.2.1
date	2015.03.09.08.45.26;	author snj;	state Exp;
branches;
next	1.335.2.2;
commitid	doNCG3A8wme8rUcy;

1.335.2.2
date	2015.03.18.08.12.16;	author snj;	state Exp;
branches;
next	1.335.2.3;
commitid	tcsgeTHaUKC3Y3ey;

1.335.2.3
date	2015.05.07.03.48.27;	author snj;	state Exp;
branches;
next	;
commitid	udZ2fKhlOmYJTsky;

1.329.2.1
date	2014.08.10.06.53.30;	author tls;	state Exp;
branches;
next	;
commitid	IzdG4SR3LY1xBMLx;

1.300.2.1
date	2012.11.20.03.00.52;	author tls;	state Exp;
branches;
next	1.300.2.2;

1.300.2.2
date	2013.02.25.00.28.16;	author tls;	state Exp;
branches;
next	1.300.2.3;

1.300.2.3
date	2013.06.23.06.28.54;	author tls;	state Exp;
branches;
next	1.300.2.4;
commitid	OnlO1cBgtQRcIHUw;

1.300.2.4
date	2014.08.20.00.02.38;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.292.2.1
date	2012.02.18.18.05.06;	author riz;	state Exp;
branches;
next	1.292.2.2;

1.292.2.2
date	2012.03.02.18.27.55;	author riz;	state Exp;
branches
	1.292.2.2.2.1;
next	1.292.2.3;

1.292.2.3
date	2012.09.17.19.00.33;	author riz;	state Exp;
branches;
next	;

1.292.2.2.2.1
date	2012.11.01.16.44.58;	author matt;	state Exp;
branches;
next	;

1.289.2.1
date	2011.11.10.14.31.38;	author yamt;	state Exp;
branches;
next	1.289.2.2;

1.289.2.2
date	2012.04.17.00.05.50;	author yamt;	state Exp;
branches;
next	1.289.2.3;

1.289.2.3
date	2012.10.30.18.59.46;	author yamt;	state Exp;
branches;
next	1.289.2.4;

1.289.2.4
date	2013.01.16.05.32.37;	author yamt;	state Exp;
branches;
next	1.289.2.5;

1.289.2.5
date	2014.05.22.11.37.53;	author yamt;	state Exp;
branches;
next	;
commitid	P3Rlj4go6xHqKwBx;

1.278.2.1
date	2011.03.05.15.09.27;	author bouyer;	state Exp;
branches;
next	;

1.246.2.1
date	2009.05.13.19.19.16;	author jym;	state Exp;
branches;
next	;

1.236.2.1
date	2008.11.15.22.05.12;	author snj;	state Exp;
branches;
next	1.236.2.2;

1.236.2.2
date	2008.11.15.22.07.03;	author snj;	state Exp;
branches;
next	1.236.2.3;

1.236.2.3
date	2008.11.15.22.10.33;	author snj;	state Exp;
branches;
next	1.236.2.4;

1.236.2.4
date	2008.12.06.21.58.43;	author snj;	state Exp;
branches;
next	1.236.2.5;

1.236.2.5
date	2009.01.09.03.35.50;	author snj;	state Exp;
branches;
next	1.236.2.6;

1.236.2.6
date	2009.01.16.21.41.10;	author bouyer;	state Exp;
branches;
next	1.236.2.7;

1.236.2.7
date	2009.01.26.00.30.32;	author snj;	state Exp;
branches
	1.236.2.7.2.1;
next	1.236.2.8;

1.236.2.8
date	2009.06.06.22.10.12;	author bouyer;	state Exp;
branches;
next	1.236.2.9;

1.236.2.9
date	2014.09.03.02.09.24;	author msaitoh;	state Exp;
branches;
next	;
commitid	oN7dX71XXbEegQOx;

1.236.2.7.2.1
date	2009.06.06.22.10.49;	author bouyer;	state Exp;
branches
	1.236.2.7.2.1.2.1;
next	;

1.236.2.7.2.1.2.1
date	2010.04.21.05.26.47;	author matt;	state Exp;
branches;
next	;

1.207.2.1
date	2008.06.23.04.30.03;	author wrstuden;	state Exp;
branches;
next	1.207.2.2;

1.207.2.2
date	2008.09.18.04.38.09;	author wrstuden;	state Exp;
branches;
next	1.207.2.3;

1.207.2.3
date	2008.09.24.16.41.22;	author wrstuden;	state Exp;
branches;
next	;

1.204.2.1
date	2008.03.31.02.42.27;	author mjf;	state dead;
branches;
next	1.204.2.2;

1.204.2.2
date	2008.06.02.13.21.42;	author mjf;	state Exp;
branches;
next	1.204.2.3;

1.204.2.3
date	2008.10.05.20.11.24;	author mjf;	state Exp;
branches;
next	;

1.204.4.1
date	2008.05.18.12.31.18;	author yamt;	state Exp;
branches;
next	1.204.4.2;

1.204.4.2
date	2008.06.04.02.04.39;	author yamt;	state Exp;
branches;
next	;

1.200.2.1
date	2008.03.24.07.14.50;	author keiichi;	state Exp;
branches;
next	;

1.196.4.1
date	2007.11.06.23.13.20;	author matt;	state Exp;
branches;
next	1.196.4.2;

1.196.4.2
date	2008.01.09.01.39.25;	author matt;	state Exp;
branches;
next	1.196.4.3;

1.196.4.3
date	2008.03.23.00.45.37;	author matt;	state Exp;
branches;
next	;

1.196.6.1
date	2007.07.29.17.06.01;	author joerg;	state dead;
branches;
next	1.196.6.2;

1.196.6.2
date	2007.07.29.17.06.02;	author joerg;	state Exp;
branches;
next	;

1.165.2.1
date	2005.05.28.05.38.39;	author snj;	state Exp;
branches;
next	1.165.2.2;

1.165.2.2
date	2005.07.02.23.38.05;	author tron;	state Exp;
branches;
next	1.165.2.3;

1.165.2.3
date	2005.12.29.16.21.02;	author riz;	state Exp;
branches;
next	;

1.149.2.1
date	2004.09.19.15.40.32;	author he;	state Exp;
branches
	1.149.2.1.2.1;
next	;

1.149.2.1.2.1
date	2005.05.31.21.41.10;	author tron;	state Exp;
branches;
next	;

1.98.2.1
date	2002.12.01.21.40.09;	author he;	state Exp;
branches;
next	;

1.63.4.1
date	2000.06.24.06.59.38;	author thorpej;	state Exp;
branches;
next	1.63.4.2;

1.63.4.2
date	2000.10.07.01.14.23;	author itojun;	state Exp;
branches;
next	1.63.4.3;

1.63.4.3
date	2002.09.27.07.24.42;	author itojun;	state Exp;
branches;
next	;

1.52.4.1
date	99.12.27.18.31.11;	author wrstuden;	state Exp;
branches;
next	;

1.51.2.1
date	99.08.10.00.43.35;	author mcr;	state Exp;
branches;
next	;

1.31.2.1
date	98.02.24.05.34.00;	author mellon;	state Exp;
branches;
next	;

1.28.2.1
date	97.10.12.22.14.16;	author cjs;	state Exp;
branches;
next	;

1.1.1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	97.03.29.06.27.36;	author mikel;	state Exp;
branches;
next	;


desc
@@


1.465
log
@Remove confusing / (copy&pasto?)
@
text
@#	$NetBSD: bsd.README,v 1.464 2026/02/13 03:16:15 lukem Exp $
#	@@(#)bsd.README	8.2 (Berkeley) 4/2/94

This is the README file for the make "include" files for the NetBSD
source tree.  The files are installed in /usr/share/mk, and are,
by convention, named with the suffix ".mk".

Other sources of relevant documentation are BUILDING in the top
level of the NetBSD source tree, and the mk.conf(5) man page.

Note: this README file is not intended to replace reading through the .mk
files for anything tricky.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

RANDOM THINGS WORTH KNOWING:

The files are simply C-style #include files, and pretty much behave like
you would expect.  The syntax is slightly different in that a single '.'
is used instead of the hash mark, i.e. ".include <bsd.prog.mk>".

One difference that will save you lots of debugging time is that inclusion
of the file is normally done at the *end* of the Makefile.  The reason for
this is because .mk files often modify variables and behavior based on the
values of variables set in the Makefile.  To make this work, remember that
the FIRST target found is the target that is used, i.e. if the Makefile has:

	a:
		echo a
	a:
		echo a number two

the command "make a" will echo "a".  To make things confusing, the SECOND
variable assignment is the overriding one, i.e. if the Makefile has:

	a=	foo
	a=	bar

	b:
		echo ${a}

the command "make b" will echo "bar".  This is for compatibility with the
way the V7 make behaved.

It is fairly difficult to make the BSD .mk files work when you're building
multiple programs in a single directory.  It is a lot easier to split up the
programs than to deal with the problem.  Most of the agony comes from making
the "obj" directory stuff work right, not because we switched to a new version
of make.  So, don't get mad at us, figure out a better way to handle multiple
architectures so we can quit using the symbolic link stuff.  (Imake doesn't
count.)

The file .depend in the source directory is expected to contain dependencies
for the source files.  The .depend file is read automatically by make after
reading the Makefile.

The variable DESTDIR works as before.  It is not set anywhere but will change
the tree where the file gets installed.

The profiled libraries are no longer built in a different directory than
the regular libraries.  A new suffix, ".po", is used to denote a profiled
object, and ".pico" denotes a shared (position-independent) object.

There are various make variables used during the build.

Many variables support a (case sensitive) value of "no" or "yes",
and are tested with  ${VAR} == "no"  and  ${VAR} != "no" .


The basic rule for the variable naming scheme is as follows:

HOST_<cmd>	A command that runs on the host machine regardless of
		whether or not the system is being cross compiled, or
		options for such a command.

MK<feature>	Can be set to "no" to disable feature <feature>,
		or "yes" to enable feature <feature>.
		Usually defaults to "yes", although some variables
		default to "no".
		Due to make(1) implementation issues, if a temporary
		command-line override of a mk.conf(5) or <bsd.own.mk>
		setting is required whilst still honoring a particular
		Makefile's setting of MK<feature>, use
			env MK<feature>=value make
		instead of
			make MK<feature>=value

NO<feature>	If defined, disables feature <feature>, overriding
		a user's MK<feature>=yes configuration.
		Not intended for users.
		This is to allow Makefiles to disable functionality
		that they don't support (such as missing man pages).
		NO<feature> variables must be defined before <bsd.own.mk>
		is included, which generally means define before
		any <*.mk> is included.
		See "Variables for a Makefile".

TOOL_<tool>	A tool that is provided as part of the USETOOLS
		framework.  When not using the USETOOLS framework,
		TOOL_<tool> variables should refer to tools that are
		already installed on the host system.

Various mk.conf(5) variables control the NetBSD system build.
These should not be set by Makefiles; they're for the user to define
in MAKECONF (see mk.conf(5) or <bsd.own.mk> documented below) or on
the make(1) command line.

The supported mk.conf(5) make variables are:

	BSDOBJDIR, BSDSRCDIR, BUILD, BUILDID, BUILDINFO, BUILDSEED,
	CDEXTRA, CONFIGOPTS, COPTS, CPUFLAGS, DESTDIR, EXTERNAL_TOOLCHAIN,
	INSTALLBOOT_BOARDS, INSTALLWORLDDIR, KERNARCHDIR, KERNCONFDIR,
	KERNEL_DIR, KERNOBJDIR, KERNSRCDIR, LOCALTIME, MAKEVERBOSE,
	MKADOSFS, MKAUTOFS, MKAMDGPUFIRMWARE, MKARGON2, MKARZERO, MKATF,
	MKAUDIO, MKBIND, MKBINUTILS, MKBLUETOOTH, MKBSDGREP, MKBSDTAR,
	MKCATPAGES, MKCD9660FS, MKCHFS, MKCLEANSRC, MKCLEANVERIFY, MKCOMPAT,
	MKCOMPATMODULES, MKCOMPATTESTS, MKCOMPATX11, MKCOMPLEX, MKCROSSGDB,
	MKCTF, MKCVS, MKCXX, MKDEBUG, MKDEBUGKERNEL, MKDEBUGLIB, MKDEBUGTOOLS,
	MKDEPINCLUDES, MKDOC, MKDTB, MKDTC, MKDTRACE, MKDYNAMICROOT, MKEFS,
	MKEXT2FS, MKFDESCFS, MKFIDO2, MKFILECOREFS, MKFIRMWARE, MKGCC,
	MKGCCCMDS, MKGDB, MKGROFF, MKGROFFHTMLDOC, MKHESIOD, MKHFS, MKKERNFS,
	MKHOSTOBJ, MKHTML, MKIEEEFP, MKINET6, MKINFO, MKIPFILTER, MKIPSEC,
	MKISCSI, MKKERBEROS, MKKMOD, MKKYUA, MKLDAP, MKLFS, MKLIBCSANITIZER,
	MKLIBCXX, MKLIBSTDCXX, MKLINKLIB, MKLINT, MKLLVM, MKLLVMRT, MKLVM,
	MKMAKEMANDB, MKMAN, MKMANDOC, MKMANZ, MKMDNS, MKMSDOSFS, MKNFS, MKNLS,
	MKNILFS, MKNOUVEAUFIRMWARE, MKNPF, MKNSD, MKNTFS, MKNULLFS, MKOBJ,
	MKOBJDIRS, MKOVERLAYFS, MKPAM, MKPCC, MKPF, MKPIC, MKPICINSTALL,
	MKPICLIB, MKPIE, MKPIGZGZIP, MKPOSTFIX, MKPROCFS, MKPROFILE, MKPTYFS,
	MKQEMUFWCFG, MKRADEONFIRMWARE, MKRELRO, MKREPRO, MKREPRO_TIMESTAMP,
	MKRUMP, MKSANITIZER, MKSHARE, MKSKEY, MKSLJIT, MKSOFTFLOAT, MKSSH,
	MKSTATICLIB, MKSTATICPIE, MKSTRIPIDENT, MKSTRIPSYM, MKSYSVBFS,
	MKTEGRAFIRMWARE, MKTMPFS, MKTPM, MKUDF, MKUMAPFS, MKUNBOUND, MKUNIONFS,
	MKUNPRIVED, MKUPDATE, MKUSB, MKV7FS, MKWLAN, MKX11, MKX11FONTS,
	MKX11MOTIF, MKXORG_SERVER, MKYP, MKZFS, NETBSDSRCDIR,
	NETBSD_OFFICIAL_RELEASE, NOCLEANDIR, NODISTRIBDIRS, NOINCLUDES,
	OBJMACHINE, RELEASEDIR, RUMPUSER_THREADS, RUMP_CURLWP, RUMP_DEBUG,
	RUMP_DIAGNOSTIC, RUMP_KTRACE, RUMP_LOCKDEBUG, RUMP_LOCKS_UP,
	RUMP_NBCOMPAT, RUMP_VIRTIF, RUMP_VNODE_LOCKDEBUG, TOOLCHAIN_MISSING,
	TOOLDIR, USETOOLS, USE_FORT, USE_HESIOD, USE_INET6, USE_JEMALLOC,
	USE_KERBEROS, USE_LDAP, USE_LIBCSANITIZER, USE_PAM, USE_PIGZGZIP,
	USE_SANITIZER, USE_SKEY, USE_SSP, USE_XZ_SETS, USE_YP, X11MOTIFPATH,
	X11SRCDIR.

The obsolete mk.conf(5) make variables are:

	EXTSRCSRCDIR, MKBFD, MKCRYPTO, MKEXTSRC, MKKDEBUG, MKKERBEROS4,
	MKLLD, MKLLDB, MKMCLINKER, MKPERFUSE, MKTOOLSDEBUG, NBUILDJOBS,
	SHAREDSTRINGS, USE_COMBINE, USE_NEW_TOOLCHAIN.

Notable variables documented in mk.conf(5) and duplicated here:

DESTDIR		Directory to contain the built NetBSD system.  If set,
		special options are passed to the compilation tools to
		prevent their default use of the host system's
		/usr/include, /usr/lib, and so forth.  This pathname must
		be an absolute path, and should not end with a slash (/)
		character.  (For installation into the system's root
		directory, set DESTDIR to an empty string, not to "/").
		The directory must reside on a file system which supports
		long file names and hard links.

		Note: build.sh will provide a default of
		"destdir.MACHINE" (in the top-level .OBJDIR) unless run
		in 'expert' mode with the -E option.

		Default: Empty string if USETOOLS=yes; otherwise unset.

RELEASEDIR	If set, specifies the directory to which a release(7)
		layout will be written at the end of a "make release".
		If specified, must be an absolute path.

		Note: build.sh will provide a default of "releasedir" (in
		the top-level .OBJDIR) unless run in 'expert' mode with
		the -E option.

		Default: Unset.

COPTS.lib<lib>
OBJCOPTS.lib<lib>
LDADD.lib<lib>
CPPFLAGS.lib<lib>
CXXFLAGS.lib<lib>
COPTS.<prog>
OBJCOPTS.<prog>
LDADD.<prog>
CPPFLAGS.<prog>
CXXFLAGS.<prog> These provide a way to specify additions to the associated
		variables in a way that applies only to a particular library
		or program.  <lib> corresponds to the LIB variable set in
		the library's makefile.  <prog> corresponds to either PROG
		or PROG_CXX (if set).  For example, if COPTS.libcrypto is
		set to "-g", "-g" will be added to COPTS only when compiling
		the crypto library.
		See bsd.prog.mk below for more details about these variables.

The active compiler is selected using the following variables:
AVAILABLE_COMPILER
		List of available compiler suites.  Processed in order
		for selecting the active compiler for each frontend.
HAVE_PCC	If defined, PCC is present and enabled.
HAVE_LLVM	If defined, LLVM/Clang is present and enabled.
UNSUPPORTED_COMPILER.<comp>
		If defined, the support for compiler <comp> is disabled.

For the frontends (CC, CPP, CXX, FC and OBJC) the following variables exist:
ACTIVE_CC	Active compile suite for the CC frontend.
SUPPORTED_CC	Compile suite with support for the CC frontend.
TOOL_CC.<comp>	Path to the CC frontend for compiler <comp>.


=-=-=-=-=   Variables for a Makefile   =-=-=-=-=

If the following varialbes are defined in the Makefile before
any make(1) .include directives, they force the specific behavior.

NOCOMPAT	Force MKCOMPAT=no.
NOCTF		Force MKCTF=no.
NODEBUG		Force MKDEBUG=no.
NODEBUGLIB	Force MKDEBUGLIB=no.
NODOC		Force MKDOC=no.
NOFORT		Force USE_FORT=no.
NOHTML		Force MKHTML=no.
NOINFO		Force MKINFO=no.
NOLIBCSANITIZER Force MKLIBCSANITIZER=no (and USE_LIBCSANITIZER=no)
NOLINKLIB	Force MKLINKLIB=no.
NOLINT		Force MKLINT=no.
NOMAN		Force MKMAN=no.
NOMANDOC	Force MKMANDOC=no.
NONLS		Force MKNLS=no.
NOOBJ		Force MKOBJ=no.
NOPIC		Force MKPIC=no.
NOPICINSTALL	Force MKPICINSTALL=no.
NOPIE		Force MKPIE=no.
NOPROFILE	Force MKPROFILE=no.
NORELRO		Force MKREPRO=no.
NOSANITIZER	Force MKSANITIZER=no (and USE_SANITIZER=no)
NOSHARE		Force MKSHARE=no.
NOSSP		Force USE_SSP=no.
NOSTATICLIB	Force MKSTATICLIB=no.

Special variations:

NOFULLRELRO!=no Force MKRELRO=no if MKRELRO=full

TODO: NOFULLRELRO should just be a defined test for consistency.


=-=-=-=-=   sys.mk   =-=-=-=-=

The include file <sys.mk> has the default rules for all makes, in the BSD
environment or otherwise.  You probably don't want to touch <sys.mk>.

=-=-=-=-=   bsd.own.mk   =-=-=-=-=

The include file <bsd.own.mk> contains source tree configuration parameters,
such as the owners, groups, etc. for both manual pages and binaries, and
a few global "feature configuration" parameters.

<bsd.own.mk> has no targets.

To get system-specific configuration parameters, <bsd.own.mk> will try to
include the mk.conf(5) file specified by the MAKECONF variable, which may
be either set in the environment or provided on the make(1) command line.
MAKECONF defaults to /etc/mk.conf.  mk.conf(5) may define any of the
variables described below.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

NETBSDSRCDIR	The path to the top level of the NetBSD sources.
		If _SRC_TOP_ != "", that will be used as the default,
		otherwise BSDSRCDIR will be used as the default.
		Various makefiles within the NetBSD source tree will
		use this to reference the top level of the source tree.
		Default: Top level of the NetBSD source tree (as
		determined by the presence of build.sh and tools/) if
		make(1) is run from within that tree; otherwise BSDSRCDIR
		will be used.

_SRC_TOP_	Top of the system source tree, as determined by <bsd.own.mk>
		based on the presence of tools/ and build.sh.  This variable
		is "internal" to <bsd.own.mk>, although its value is only
		determined once and then propagated to all sub-makes.

_NETBSD_VERSION_DEPENDS
		A list of files which contain information about
		the version of the NetBSD being built.  This is
		defined only if the current directory appears
		to be inside a NetBSD source tree.  The list of
		files includes ${NETBSDSRCDIR}/sys/sys/param.h
		(which contains the kernel version number),
		${NETBSDSRCDIR}/sys/conf/newvers.sh and
		${NETBSDSRCDIR}/sys/conf/osrelease.sh (which
		interpret the information in sys/sys/param.h), and
		${_SRC_TOP_OBJ_}/params (which is an optional file,
		created by "make build" in ${_SRC_TOP_}/Makefile,
		containing all the variables that may influence the
		build).

		Targets that depend on the NetBSD version, or on
		variables defined at build time, can declare a
		dependency on ${_NETBSD_VERSION_DEPENDS}, like this:

			version.c: ${_NETBSD_VERSION_DEPENDS}
				commands to create version.c

BSDSRCDIR	The real path to the NetBSD source tree, if NETBSDSRCDIR
		isn't defined.
		Default: "/usr/src".

BSDOBJDIR	The real path to the object directory tree for the NetBSD
		source tree.
		Default: "/usr/obj".

BINGRP		Binary group.  [wheel]

BINOWN		Binary owner.  [root]

BINMODE		Binary mode.  [555]

NONBINMODE	Mode for non-executable files.  [444]

MANDIR		Base path for manual installation.  [/usr/share/man/cat]

MANGRP		Manual group.  [wheel]

MANOWN		Manual owner.  [root]

MANMODE		Manual mode.  [${NONBINMODE}]

MANINSTALL	Manual installation type.  Space separated list:
			catinstall, htmlinstall, maninstall
		Default value derived from MKCATPAGES and MKHTML.

MAKELINKLIB	Defaults to ${MKLINKLIB} but can be overridden by Makefiles

MAKESTATICLIB	Defaults to ${MKSTATICLIB} but can be overridden by Makefiles

LDSTATIC	Control program linking; if set blank, link everything
		dynamically.  If set to "-static", link everything statically.
		If not set, programs link according to their makefile.

LIBDIR		Base path for library installation.  [/usr/lib]

LINTLIBDIR	Base path for lint(1) library installation.  [/usr/libdata/lint]

LIBGRP		Library group.  [${BINGRP}]

LIBOWN		Library owner.  [${BINOWN}]

LIBMODE		Library mode.  [${NONBINMODE}]

LINKINSTALL	Install libraries used by users to link against (.a/.so)
		defaults to ${MAKELINKLIB}

DOCDIR		Base path for system documentation (e.g. PSD, USD, etc.)
		installation.  [/usr/share/doc]

DOCGRP		Documentation group.  [wheel]

DOCOWN		Documentation owner.  [root]

DOCMODE		Documentation mode.  [${NONBINMODE}]

GZIP_N_FLAG	Options to pass to TOOL_GZIP to prevent it from inserting
		file names or timestamps in the compressed output.
		[-n, or -nT when TOOL_GZIP is really TOOL_PIGZ]

NLSDIR		Base path for Native Language Support files installation.
		[/usr/share/nls]

NLSGRP		Native Language Support files group.  [wheel]

NLSOWN		Native Language Support files owner.  [root]

NLSMODE		Native Language Support files mode.  [${NONBINMODE}]

X11SRCDIR	Directory containing the modular Xorg source.  If
		specified, must be an absolute path.  The main modular
		Xorg source is found in ${X11SRCDIR}/external/mit.

		Default: ${NETBSDSRCDIR}/../xsrc, if that exists; otherwise
		"/usr/xsrc".

X11SRCDIR.local The path to the local X11 src tree.  [${X11SRCDIR}/local]

X11SRCDIR.lib<package>
X11SRCDIR.<package>
		The path to the xorg src tree for the specified package>.
		[${X11SRCDIR}/external/mit/xorg/<package>/dist]

X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R7]

X11BINDIR	X11 bin directory.  [${X11ROOTDIR}/bin]

X11FONTDIR	X11 font directory.  [${X11ROOTDIR}/lib/X11/fonts]

X11INCDIR	X11 include directory.  [${X11ROOTDIR}/include]

X11LIBDIR	X11 lib/x11 (config) directory.  [${X11ROOTDIR}/lib/X11]

X11MANDIR	X11 manual directory.  [${X11ROOTDIR}/man]

X11USRLIBDIR	X11 library directory.  [${X11ROOTDIR}/lib]

STRIPFLAG	The option passed to the install program to cause the binary
		to be stripped.  This is to be used when building your
		own install script so that the entire system can be made
		stripped/not-stripped using a single knob.  []

COPY		The option passed to the install program to cause the binary
		to be copied rather than moved.  This is to be used when
		building our own install script so that the entire system
		can either be installed with copies, or with moves using
		a single knob.  [-c]

MAKEDIRTARGETENV
		Environment variables passed to the child make process
		invoked by MAKEDIRTARGET.

MAKEDIRTARGET dir target [params]
		Runs "cd $${dir} && ${MAKE} [params] $${target}",
		displaying a "pretty" message whilst doing so.

RELEASEMACHINEDIR
		Subdirectory used below RELEASEDIR when building
		a release.  [${MACHINE},
		or ${MACHINE}-${MACHINE_ARCH} for evb{arm,mips,sh3}*]

RELEASEMACHINE	Subdirectory or path component used for the following
		paths:
			distrib/${RELEASEMACHINE}
			distrib/notes/${RELEASEMACHINE}
			etc/etc.${RELEASEMACHINE}
		Used when building a release.  [${MACHINE}]

Additionally, the following variables may be set by <bsd.own.mk> or in a
make configuration file to modify the behavior of the system build
process (default values are in brackets along with comments, if set by
<bsd.own.mk>):

USETOOLS	Can be set to "yes" or "no".  Indicates whether the tools
		specified by ${TOOLDIR} should be used as part of a build in
		progress. Must be set to "yes" if cross-compiling.
		Supported values:

		yes	Use the tools from TOOLDIR.

		no	Do not use the tools from TOOLDIR, but refuse to
			build native compilation tool components that are
			version-specific for that tool.

		never	Do not use the tools from TOOLDIR, even when
			building native tool components.  This is similar to
			the traditional NetBSD build method, but does not
			verify that the compilation tools in use are
			up-to-date enough in order to build the tree
			successfully.  This may cause build or runtime
			problems when building the whole NetBSD source tree.

		Default: "no" when using <bsd.*.mk> outside the NetBSD
		source tree (detected automatically) or if
		TOOLCHAIN_MISSING=yes; otherwise "yes".

OBJECT_FMT	Object file format.  [set to "ELF" on architectures that
		use ELF -- currently all architectures].

TOOLCHAIN_MISSING
		Can be set to "yes" or "no".  If not "no", this
		indicates that the platform "MACHINE_ARCH" being built
		does not have a working in-tree toolchain.
		If the ${MACHINE_ARCH} in question falls into this category,
		TOOLCHAIN_MISSING is conditionally assigned the value "yes".
		Otherwise, the variable is unconditionally assigned the
		value "no".

		If not "no", acts as MKBINUTILS=no MKGCC=no MKGDB=no.

		Default: "no".

EXTERNAL_TOOLCHAIN
		This variable is not directly set by <bsd.own.mk>, but
		including <bsd.own.mk> is the canonical way to gain
		access to this variable.  The variable should be defined
		either in the user's environment or in the user's mk.conf(5)
		file.

		If defined, this variable indicates the root directory of
		an external toolchain which will be used to build the
		tree.  For example, if a platform is a ${TOOLCHAIN_MISSING}
		platform, EXTERNAL_TOOLCHAIN can be used to re-enable the
		cross-compile framework.

		If EXTERNAL_TOOLCHAIN is defined, act as MKGCC=no, since
		the external version of the compiler may not be able to build
		the library components of the in-tree compiler.

		This variable should be used in conjunction with an
		appropriate HAVE_GCC or HAVE_LLVM setting to control the
		compiler options.

		Note: This variable is not yet used in as many places as
		it should be.  Expect the exact semantics of this variable
		to change in the short term as parts of the cross-compile
		framework continue to be cleaned up.

The following variables are defined to commands to perform the
appropriate operation, with the default in [brackets].  Note that
the defaults change if USETOOLS == "yes":

TOOL_AMIGAAOUT2BB	aout to Amiga bootblock converter.  [amiga-aout2bb]

TOOL_AMIGAELF2BB	ELF to Amiga bootblock converter.  [amiga-elf2bb]

TOOL_AMIGATXLT		Amiga assembly language format translator.  [amiga-txlt]

TOOL_ARMELF2AOUT	ELF to a.out executable converter [arm-elf2aout}

TOOL_ASN1_COMPILE	ASN1 compiler.  [asn1_compile]

TOOL_AWK		Pattern-directed scanning/processing language.  [awk]

TOOL_CAP_MKDB		Create capability database.  [cap_mkdb]

TOOL_CAT		Concatenate and print files.  [cat]

TOOL_CKSUM		Display file checksums.  [cksum]

TOOL_COMPILE_ET		Error table compiler.  [compile_et]

TOOL_CONFIG		Build kernel compilation directories.  [config]

TOOL_CRUNCHGEN		Generate crunched binary build environment.  [crunchgen]

TOOL_CTAGS		Create a tags file.  [ctags]

TOOL_DB			Manipulate db(3) databases.  [db]

TOOL_DISKLABEL		Read and write disk pack label.  [disklabel]

TOOL_EQN		Format equations for groff.  [eqn]

TOOL_FDISK		MS-DOS partition maintenance program.  [fdisk]

TOOL_FGEN		IEEE 1275 Open Firmware FCode Tokenizer.  [fgen]

TOOL_GENASSYM		Generate constants for assembly files.  [genassym]

TOOL_GENCAT		Generate NLS message catalogs.  [gencat]

TOOL_GMAKE		GNU make utility.  [gmake]

TOOL_GREP		Print lines matching a pattern.  [grep]

TOOL_GROFF		Front end for groff document formatting system.  [groff]

TOOL_GZIP		Compression/decompression tool.  [gzip]

TOOL_GZIP_N		Same as TOOL_GZIP, plus a command line option to
			prevent it from inserting file names or timestamps
			into the compressed output.
			[${TOOL_GZIP} ${GZIP_N_FLAG}]

TOOL_HEXDUMP		Ascii, decimal, hexadecimal, octal dump.  [hexdump]

TOOL_HP300MKBOOT	Make bootable image for hp300.  [hp300-mkboot]

TOOL_HPPAMKBOOT		Make bootable image for hppa.  [hppa-mkboot]

TOOL_INDXBIB		Make bibliographic database's inverted index.  [indxbib]

TOOL_INSTALLBOOT	Install disk bootstrap software.  [installboot]

TOOL_INSTALL_INFO	Update info/dir entries.  [install-info]

TOOL_JOIN		Relational database operator.  [join]

TOOL_M4			M4 macro language processor.  [m4]

TOOL_M68KELF2AOUT	ELF to a.out executable converter [m68k-elf2aout}

TOOL_MACPPCFIXCOFF	Fix up xcoff headers for macppc.  [macppc-fixcoff]

TOOL_MAKEFS		Create file system image from directory tree.  [makefs]

TOOL_MAKEINFO		Translate Texinfo documents.  [makeinfo]

TOOL_MAKEWHATIS		Create a whatis.db database.  [makewhatis]

TOOL_MDSETIMAGE		Set kernel RAM disk image.  [mdsetimage]

TOOL_MENUC		Menu compiler.  [menuc]

TOOL_MIPSELF2ECOFF	Convert ELF-format executable to ECOFF for mips.
			[mips-elf2ecoff]

TOOL_MKCSMAPPER		Make charset mapping table.  [mkcsmapper]

TOOL_MKESDB		Make encoding scheme database.  [mkesdb]

TOOL_MKLOCALE		Make LC_CTYPE locale files.  [mklocale]

TOOL_MKMAGIC		Create database for file(1).  [file]

TOOL_MKNOD		Make device special file.  [mknod]

TOOL_MKTEMP		Make (unique) temporary file name.  [mktemp]

TOOL_MSGC		Simple message list compiler.  [msgc]

TOOL_MTREE		Map a directory hierarchy.  [mtree]

TOOL_NCDCS		Turn ELF kernel into a NCD firmware image. [ncdcs]

TOOL_PAX		Manipulate file archives and copy directories.  [pax]

TOOL_PIC		Compile pictures for groff.  [pic]

TOOL_PIGZ		Parallel compressor.  [pigz]

TOOL_POWERPCMKBOOTIMAGE Make bootable image for powerpc.  [powerpc-mkbootimage]

TOOL_PWD_MKDB		Generate the password databases.  [pwd_mkdb]

TOOL_REFER		Preprocess bibliographic references for groff.  [refer]

TOOL_ROFF_ASCII		Generate ASCII groff output.  [nroff]

TOOL_ROFF_DVI		Generate DVI groff output.  [${TOOL_GROFF} -Tdvi]

TOOL_ROFF_HTML		Generate HTML groff output.
			[${TOOL_GROFF} -Tlatin1 -mdoc2html]

TOOL_ROFF_PS		Generate PS groff output.  [${TOOL_GROFF} -Tps]

TOOL_ROFF_RAW		Generate "raw" groff output.  [${TOOL_GROFF} -Z]

TOOL_RPCGEN		Remote Procedure Call (RPC) protocol compiler.  [rpcgen]

TOOL_SED		Stream editor.  [sed]

TOOL_SOELIM		Eliminate .so's from groff input.  [soelim]

TOOL_SPARKCRC		Generate a crc suitable for use in a sparkive file.
			[sparkcrc]

TOOL_STAT		Display file status.  [stat]

TOOL_STRFILE		Create a random access file for storing strings.
			[strfile]

TOOL_SUNLABEL		Read or modify a SunOS disk label.  [sunlabel]

TOOL_TBL		Format tables for groff.  [tbl]

TOOL_UUDECODE		Uudecode a binary file.  [uudecode]

TOOL_VAXMOPCOPY		Creates a MOP image from another executable format.
			[vax-mopcopy]

TOOL_VGRIND		Grind nice listings of programs.  [vgrind -f]

TOOL_ZIC		Time zone compiler.  [zic]

For each possible value of MACHINE_CPU, MACHINES.${MACHINE_CPU} contain a
list of what ports can be built for it.  This keeps those definitions in
centralized place.

<bsd.own.mk> is generally useful when building your own Makefiles so that
they use the same default owners etc. as the rest of the tree.


=-=-=-=-=   bsd.buildinstall.mk  =-=-=-=-=

The include file <bsd.buildinstall.mk> defines the 'build_install' target
to compute the list of subdirectories delimited by .WAIT barriers, and
create an appropriate ordered list of commands in the 'build_install' target.

<bsd.buildinstall.mk> uses the following variables:

SUBDIR		A list of subdirectories that should be built as well.
		Each of the targets will execute the same target in the
		subdirectories.
		See the description of SUBDIR in <bsd.subdir.mk> for
		an explanation of the .WAIT token.


=-=-=-=-=   bsd.clang-analyze.mk   =-=-=-=-=

The include file <bsd.clang-analyze.mk> defines the 'analyze' target
to run clang's static analyzer "clang-analyzer".

<bsd.clang-analyze.mk> uses the following variables:

CLANG_ANALYZE_CFLAGS
		CFLAGS for clang-analyzer.
		Defaults to CFLAGS with -Wa,--fata-warnings removed.

CLANG_ANALYZE_CHECKERS
		clang-analyzer checks to run.
		Default: core, decode, security, unix.

CLANG_ANALYZE_CXXFLAGS
		CXXFLAGS for clang-analyzer.
		Defaults to CXXFLAGS with -Wa,--fata-warnings removed.

CLANG_ANALYZE_FLAGS
		Flags for clang-analyzer, includes --analyze and
		analyzers listed in CLANG_ANALYZE_CHECKERS.

<bsd.clang-analyzers.mk> defines the following variables:

CLANG_ANALYZE_OUTPUT
		List of filenames to create with ".clang-analyzer" suffix,
		derived from CLANG_ANALYZE_SRCS.

CLANG_ANALYZE_SRCS
		List of source files to analyser, derived from entries in
		SRCS and DPSRCS that have a suffix of ".c", ".C", ".cc",
		".cpp", or ".cxx".


=-=-=-=-=   bsd.clean.mk   =-=-=-=-=

The include file <bsd.clean.mk> defines the 'clean' and 'cleandir' targets.

<bsd.clean.mk> uses the following variables:

CLEANFILES	Files to remove for both the 'clean' and 'cleandir' targets.

CLEANDIRFILES	Files to remove for the 'cleandir' target, but not for
		the 'clean' target.

MKCLEANSRC	Controls whether or not the 'clean' and 'cleandir' targets
		will delete files from both the object directory,
		${.OBJDIR}, and the source directory, ${.CURDIR}.

		If MKCLEANSRC is set to "no", then the file names in
		CLEANFILES or CLEANDIRFILES are interpreted relative
		to the object directory, ${.OBJDIR}.  This is the
		traditional behaviour.

		If MKCLEANSRC is set to "yes", then the file deletion
		is performed relative to both the object directory,
		${.OBJDIR}, and the source directory, ${.CURDIR}.  (This
		has no effect if ${.OBJDIR} is the same as ${.CURDIR}.)
		Deleting files from ${.CURDIR} is intended to remove
		stray output files that had been left in the source
		directory by an earlier build that did not use object
		directories.

		The default is MKCLEANSRC=yes.  If you always build with
		separate object directories, and you are sure that there
		are no stray files in the source directories, then you
		may set MKCLEANSRC=no to save some time.

MKCLEANVERIFY	Controls whether or not the 'clean' and 'cleandir' targets
		will verify that files have been deleted.

		If MKCLEANVERIFY is set to "no", then the files will
		be deleted using a "rm -f" command, and its success or
		failure will be ignored.

		If MKCLEANVERIFY is set to "yes", then the success of
		the "rm -f" command will be verified using an "ls"
		command.

		The default is MKCLEANVERIFY=yes.  If you are sure that
		there will be no problems caused by file permissions,
		read-only file systems, or the like, then you may set
		MKCLEANVERIFY=no to save some time.

To use the 'clean' and 'cleandir' targets defined in <bsd.clean.mk>, other
Makefiles or <bsd.*.mk> files should append file names to the CLEANFILES
or CLEANDIRFILES variables.  For example:

	    CLEANFILES+= a.out
	    CLEANDIRFILES+= .depend

	    .include <bsd.clean.mk>

The files listed in CLEANFILES and CLEANDIRFILES must not be
directories, because the potential risk from running "rm -rf" commands
in <bsd.clean.mk> is considered too great.  If you want to recursively
delete a directory as part of "make clean" or "make cleandir" then you
need to provide your own target.


=-=-=-=-=   bsd.dep.mk   =-=-=-=-=

The include file <bsd.dep.mk> contains the default targets for building
.depend files.  <bsd.dep.mk> creates .d files from entries in SRCS and DPSRCS
that are C, C++, or Objective C source files, and builds .depend from the
.d files.  All other files in SRCS and all of DPSRCS will be used as
dependencies for the .d files.  In order for this to function correctly,
it should be .included after all other .mk files and directives that may
modify SRCS or DPSRCS.

<bsd.dep.mk> uses the following variables:

SRCS		List of source files to build the program.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.

NODPSRCS	List of source files to not add to .depend.


=-=-=-=-=   bsd.doc.mk  =-=-=-=-=

The include file <bsd.doc.mk> contains the targets for building
roff documentation.

TODO: variables


=-=-=-=-=   bsd.dtb.mk  =-=-=-=-=

The include file <bsd.dtb.mk> contains the targets for building
device tree blobs.

TODO: variables


=-=-=-=-=   bsd.endian.mk  =-=-=-=-=

The include file <bsd.endian.mk> determines the target endian and
defines the variable TARGET_ENDIANNESS.


=-=-=-=-=   bsd.files.mk   =-=-=-=-=

The include file <bsd.files.mk> handles the FILES variables and is included
from <bsd.lib.mk> and <bsd.prog.mk>, and uses the following variables:

FILES		The list of files to install.

CONFIGFILES	Similar semantics to FILES, except that the files
		are installed by the 'configinstall' target,
		not the 'install' target.
		The FILES* variables documented below also apply.

FILESOWN	File owner.  [${BINOWN}]

FILESGRP	File group.  [${BINGRP}]

FILESMODE	File mode.  [${NONBINMODE}]

FILESDIR	The location to install the files.

FILESNAME	Optional name to install each file as.

FILESOWN_<fn>	File owner of the specific file <fn>.

FILESGRP_<fn>	File group of the specific file <fn>.

FILESMODE_<fn>	File mode of the specific file <fn>.

FILESDIR_<fn>	The location to install the specific file <fn>.

FILESNAME_<fn>	Optional name to install file <fn> as.

FILESBUILD	If this variable is defined, then its value will be
		used as the default for all FILESBUILD_<fn> variables.
		Otherwise, the default will be "no".

FILESBUILD_<fn> A value different from "no" will add the file <fn> to the list
		of targets to be built by 'realall'.  Users of that variable
		should provide a target to build the file.


BUILDSYMLINKS	List of two word items:
			lnsrc lntgt
		For each lnsrc item, create a symlink named lntgt.
		The lntgt symlinks are removed by the 'cleandir' target.

UUDECODE_FILES	List of files which are stored as <file>.uue in the source
		tree. Each one will be decoded with ${TOOL_UUDECODE}.
		The source files have a ".uue" suffix, the generated files do
		not.

UUDECODE_FILES_RENAME_<fn>
		Rename the output from the decode to the provided name <fn>.

		Note: These files are simply decoded, with no install or other
		rule applying implicitly except being added to the 'clean'
		target.


=-=-=-=-=   bsd.gcc.mk   =-=-=-=-=

The include file <bsd.gcc.mk> computes various parameters related to GCC
support libraries.  <bsd.gcc.mk> defines no targets. <bsd.own.mk> MUST be
included before <bsd.gcc.mk>.

The primary users of <bsd.gcc.mk> are <bsd.prog.mk> and <bsd.lib.mk>, each
of which need to know where to find certain GCC support libraries.

The behavior of <bsd.gcc.mk> is influenced by the EXTERNAL_TOOLCHAIN variable,
which is generally set by the user.  If EXTERNAL_TOOLCHAIN it set, then
the compiler is asked where to find the support libraries, otherwise the
support libraries are found in ${DESTDIR}/usr/lib.

<bsd.gcc.mk> sets the following variables:

_GCC_CRTBEGIN	The full path name to crtbegin.o.

_GCC_CRTBEGINS	The full path name to crtbeginS.o.

_GCC_CRTEND	The full path name to crtend.o.

_GCC_CRTENDS	The full path name to crtendS.o.

_GCC_LIBGCCDIR	The directory where libgcc.a is located.


=-=-=-=-=   bsd.hostinit.mk  =-=-=-=-=

The include file <bsd.hostinit.mk> is included for host program builds
that don't need MKREPRO, lint, manual pages, info files, etc.


=-=-=-=-=   bsd.hostlib.mk   =-=-=-=-=

The include file <bsd.hostlib.mk> is included for host library builds.

TODO: variables


=-=-=-=-=   bsd.hostprog.mk  =-=-=-=-=

The include file <bsd.hostprog.mk> is included for host program builds.

TODO: variables


=-=-=-=-=   bsd.inc.mk   =-=-=-=-=

The include file <bsd.inc.mk> defines the 'includes' target and uses the
variables:

INCS		The list of include files.

INCSDIR		The location to install the include files.

INCSNAME	Target name of the include file, if only one; same as
		FILESNAME, but for include files.

INCSYMLINKS	Similar to SYMLINKS in <bsd.links.mk>, except that these
		are installed in the 'includes' target and not the
		(much later) 'install' target.

INCSNAME_<file> The name file <file> should be installed as, if not <file>,
		same as FILESNAME_<file>, but for include files.


=-=-=-=-=   bsd.info.mk   =-=-=-=-=

The include file <bsd.info.mk> is used to generate and install GNU Info
documentation from respective Texinfo source files.

<bsd.info.mk> defines three implicit targets ('.txi.info', '.texi.info',
and '.texinfo.info'), and uses the following variables:

TEXINFO		List of Texinfo source files.  Info documentation will
		consist of single files with the extension replaced by
		.info.

INFOFLAGS	Options to pass to makeinfo.  []


=-=-=-=-=   bsd.init.mk   =-=-=-=-=

The include file <bsd.init.mk> is included by most other <bsd.*.mk> files,
and includes the file named "../Makefile.inc" if it exists,
as well as the include file <bsd.own.mk>.


=-=-=-=-=   bsd.kernobj.mk   =-=-=-=-=

The include file <bsd.kernobj.mk> defines variables related to the
location of kernel sources and object directories.

KERNSRCDIR	Directory at the top of the kernel source..
		[${NETBSDSRCDIR}/sys]

KERNARCHDIR	Directory under KERNSRCDIR containing the machine
		dependent kernel sources.
		[arch/${MACHINE}]

KERNCONFDIR	Directory containing the kernel configuration files.
		[${KERNSRCDIR}/${KERNARCHDIR}/conf]

KERNOBJDIR	Directory for kernel builds.  For example, the kernel
		GENERIC will be compiled in KERNOBJDIR/GENERIC.
		Default:
		${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile
		if it exists or the make(1) target 'obj' is being made;
		otherwise ${KERNSRCDIR}/${KERNARCHDIR}/compile.

It is important that Makefiles (such as those under src/distrib) that
wish to find compiled kernels use <bsd.kernobj.mk> and ${KERNOBJDIR}
rather than make assumptions about the location of the compiled kernel.


=-=-=-=-=   bsd.kinc.mk   =-=-=-=-=

The include file <bsd.kinc.mk> defines the many targets ('includes',
'subdirectories', etc.), and is used by kernel makefiles to handle
include file installation.  <bsd.kinc.mk> is intended to be included alone,
by kernel Makefiles, and uses similar variables to <bsd.inc.mk>.
Please see <bsd.kinc.mk> for more details, and keep the documentation
in that file up to date.


=-=-=-=-=   bsd.klinks.mk   =-=-=-=-=

The include file <bsd.klinks.mk> is included to create kernel include
directories.

TODO: variables


=-=-=-=-=   bsd.kmodule.mk   =-=-=-=-=

The include file <bsd.kmodule.mk> is included to create kernel modules.

TODO: variables


=-=-=-=-=   bsd.lib.mk   =-=-=-=-=

The include file <bsd.lib.mk> has support for building libraries.
<bsd.lib.mk> has the same targets as <bsd.prog.mk>: 'all', 'clean',
'cleandir', 'depend', 'distclean', 'includes', 'install', 'lint', and 'tags'.
Additionally, <bsd.lib.mk> has a 'checkver' target which checks for installed
shared object libraries whose version is greater that the version of the source.

<bsd.lib.mk> has a limited number of suffixes, consistent with the current
needs of the BSD tree.  <bsd.lib.mk> includes <bsd.shlib.mk> to get shared
library parameters.

<bsd.lib.mk> sets/uses the following variables:

LIB		The name of the library to build.

LIBDIR		Target directory for libraries.

SHLIBINSTALLDIR Target directory for shared libraries if ${USE_SHLIBDIR}
		is not "no".

LIBSUBDIR	If nonempty, subdirectory of LIBDIR where this library
		is installed.
		Default: Empty.

SHLIB_MAJOR
SHLIB_MINOR
SHLIB_TEENY	Major, minor, and teeny version numbers of shared library

USE_SHLIBDIR	If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
		as the path to install shared libraries to.
		USE_SHLIBDIR must be defined before <bsd.own.mk> is included.
		Default: no

LIBISMODULE	If not "no", install as ${LIB}.so (without the "lib" prefix),
		and act as "MKDEBUGLIB=no MKPICINSTALL=no MKPROFILE=no
		MKSTATICLIB=no". Also do not install the lint library.
		Default: no

LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKPIC=no MKPROFILE=no",
		and don't install the (.a) library or the lint library.
		This is useful for "build only" helper libraries.
		If set to "pic", then a _pic.a library is also produced,
		so that it can be incorporated into other shared objects.
		Default: no

LIBISCXX	If not "no", Use ${CXX} instead of ${CC} to link
		shared libraries.
		This is useful for C++ libraries.
		Default: no

LINTLIBDIR	Target directory for lint libraries.

LIBGRP		Library group.

LIBOWN		Library owner.

LIBMODE		Library mode.

LDADD		Additional loader objects.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

NOCHECKVER_<library>
NOCHECKVER	If set, disables checking for installed shared object
		libraries with versions greater than the source.  A
		particular library name, without the "lib" prefix, may
		be appended to the variable name to disable the check for
		only that library.

SRCS		List of source files to build the library.  Suffix types
		.s, .c, and .f are supported.  Note, .s files are preferred
		to .c files of the same name.  (This is not the default for
		versions of make.)

LIBDPLIBS/
PROGDPLIBS	A list of the tuples:
			libname	 path-to-srcdir-of-libname

		Instead of depending on installed versions of the libraries,
		one can depend on their built version in the source directory.
		This is useful for finding private libraries (LIBISPRIVATE).

		For each tuple;
		     *	LIBDO.libname contains the .OBJDIR of the library
			'libname', and if it is not set it is determined
			from the srcdir and added to MAKEOVERRIDES (the
			latter is to allow for build time optimization).
		     *	LDADD gets  -L${LIBDO.libname} -llibname    added.
		     *	DPADD gets  ${LIBDO.libname}/liblibname.so  or
				    ${LIBDO.libname}/liblibname.a   added.

		The special value "_external" for LIBDO.lib makes the
		build system to assume the library comes from outside
		of the NetBSD source tree and only causes -llibname
		to be added to LDADD.

		This variable may be used for individual libraries/programs,
		as well as in parent directories to cache common libraries
		as a build-time optimization.

LIBDPSUBDIRS/
PROGDPSUBDIRS	A list of subdirectory paths _subdir_ for which the
		ldflags

			-L${SHLIBDIR}/${_subdir_}
			-Wl,-rpath,${SHLIBDIR}/${_subdir_}

		should be added, for libraries or programs that depend
		on libraries which are installed in nonstandard
		locations like /usr/lib/private.
		Default: Empty.

LIB_EXPSYM	File listing all symbols expected to be defined by the
		library.  Each line has a single symbol.  If the symbol
		is versioned, it is followed by '@@@@', if it is the
		default version, or '@@', if not, and the symbol
		version.  The lines must be sorted in LANG=C.

		bsd.lib.mk checks to make sure exactly the set of
		symbols in the file named in LIB_EXPSYM is defined when the
		library is built; if not, the build will fail and print a
		diff from the expected symbols to the actual symbols.
		During development, you can update the expected symbols
		from the actual ones with 'make update-symbols'.

VERSION_MAP	Path to an ld version script to use when linking the
		library.  Resolved from .PATH like a target
		prerequisite.


The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

<bsd.lib.mk> has rules for building profiled objects; profiled libraries are
built by default.

Libraries are ranlib'd when made.


=-=-=-=-=   bsd.links.mk   =-=-=-=-=

The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
and is included from <bsd.lib.mk> and <bsd.prog.mk>.

LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
is used. The defaults may be modified by other <bsd.*.mk> files which
include <bsd.links.mk>.  In the future, these variables may be replaced
by a method for explicitly recording hard links in a metadata log.

LINKS		The list of hard links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is prepended to both paths before linking.
		For example, to link /bin/test and /bin/[, use:
			LINKS=/bin/test /bin/[

CONFIGLINKS	Similar semantics to LINKS, except that the links
		are installed by the 'configinstall' target,
		not the 'install' target.

SYMLINKS	The list of symbolic links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is only prepended to target-file before linking.
		For example, to symlink /usr/bin/tar to /bin/tar resulting
		in ${DESTDIR}/usr/bin/tar -> /bin/tar:
			SYMLINKS=/bin/tar /usr/bin/tar

CONFIGSYMLINKS	Similar semantics to SYMLINKS, except that the symbolic links
		are installed by the 'configinstall' target,
		not the 'install' target.

LINKSOWN	Link owner.  [${BINOWN}]

LINKSGRP	Link group.  [${BINGRP}]

LINKSMODE	Link mode.  [${NONBINMODE}]

LINKSOWN_<fn>	Link owner of the specific file <fn>.

LINKSGRP_<fn>	Link group of the specific file <fn>.

LINKSMODE_<fn>	Link mode of the specific file <fn>.


=-=-=-=-=   bsd.lua.mk   =-=-=-=-=

The include file <bsd.lua.mk> is included to create Lua modules.

TODO: variables


=-=-=-=-=   bsd.man.mk   =-=-=-=-=

The include file <bsd.man.mk> handles installing manual pages and their
links.

<bsd.man.mk> has a three targets:

	catinstall:
		Install the preformatted manual pages and their links.
	htmlinstall:
		Install the HTML manual pages and their links.
	maninstall:
		Install the manual page sources and their links.

<bsd.man.mk> sets/uses the following variables:

MANDIR		Base path for manual installation.

MANGRP		Manual group.

MANOWN		Manual owner.

MANMODE		Manual mode.

MANSUBDIR	Subdirectory under the manual page section, i.e. "/vax"
		or "/tahoe" for machine specific manual pages.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

MLINKS		List of manual page links (using a .1 - .9 suffix).  The
		linked-to file must come first, the linked file second,
		and there may be multiple pairs.

The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
it exists.


=-=-=-=-=   bsd.nls.mk   =-=-=-=-=

The include file <bsd.nls.mk> is included to create NLS message catalogs.

TODO: variables


=-=-=-=-=   bsd.obj.mk   =-=-=-=-=

The include file <bsd.obj.mk> defines targets related to the creation
and use of separated object and source directories.

If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses
${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if
it exists.  Otherwise make(1) looks for the existence of a
subdirectory (or a symlink to a directory) of the source directory
into which built targets should be placed.  If an environment variable
named MAKEOBJDIR is set, make(1) uses its value as the name of the
object directory; failing that, make first looks for a subdirectory
named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj".

Object directories are not created automatically by make(1) if they
don't exist; you need to run a separate "make obj".  (This will happen
during a top-level build if "MKOBJDIRS" is set to a value other than
"no").  When the source directory is a subdirectory of ${BSDSRCDIR} --
and this is determined by a simple string prefix comparison -- object
directories are created in a separate object directory tree, and a
symlink to the object directory in that tree is created in the source
directory; otherwise, "make obj" assumes that you're not in the main
source tree and that it is not safe to use a separate object tree.

Several variables used by <bsd.obj.mk> control exactly what
directories and links get created during a "make obj":

MAKEOBJDIR	If set, this is the component name of the object
		directory.

OBJMACHINE	If this is set but MAKEOBJDIR is not set, creates
		object directories or links named "obj.${MACHINE}";
		otherwise, just creates ones named "obj".

OBJMACHINE_ARCH If set with OBJMACHINE, creates object directories or
		links named "obj.${MACHINE}-${MACHINE_ARCH}".

USR_OBJMACHINE	If set, and the current directory is a subdirectory of
		${BSDSRCDIR}, create object directory in the
		corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
		otherwise, create it in the corresponding subdirectory
		of ${BSDOBJDIR}

BUILDID		Identifier for the build.  If set, this should be a short
		string that is suitable for use as part of a file or
		directory name.  The identifier will be appended to
		object directory names; if OBJMACHINE is also set, then
		.BUILDID is appended after .MACHINE.  The identifier will
		also be used as part of the kernel version string, which
		can be shown by “uname -v”.

		Default: Unset.


=-=-=-=-=   bsd.prog.mk   =-=-=-=-=

The include file <bsd.prog.mk> handles building programs from one or
more source files, along with their manual pages.  <bsd.prog.mk> has a limited
number of suffixes, consistent with the current needs of the BSD tree.
<bsd.prog.mk> includes <bsd.shlib.mk> to get shared library parameters.

<bsd.prog.mk> provides the targets:

	all:
		build the program and its manual page.  This also
		creates a GDB initialization file (.gdbinit) in
		the objdir.  The .gdbinit file sets the shared library
		prefix to ${DESTDIR} to facilitate cross-debugging.
	clean:
		remove the program, any object files and the files a.out,
		Errs, errs, mklog, and ${PROG}.core.
	cleandir:
		remove all of the files removed by the target 'clean', as
		well as .depend, tags, and any manual pages.
	depend:
		make the dependencies for the source files, and store
		them in the file .depend.
	distclean:
		synonym for 'cleandir'.
	includes:
		install any header files.
	install:
		install the program and its manual pages; if the Makefile
		does not itself define the target 'install', the targets
		'beforeinstall' and 'afterinstall' may also be used to cause
		actions immediately before and after the 'install' target
		is executed.
	lint:
		run lint on the source files
	tags:
		create a tags file for the source files.

<bsd.prog.mk> sets/uses the following variables:

BINGRP		Binary group.

BINOWN		Binary owner.

BINMODE		Binary mode.

CLEANDIRFILES	Additional files to remove for the 'cleandir' target.

CLEANFILES	Additional files to remove for the 'clean' and 'cleandir'
		targets.

CONFIGOPTS	Additional options to config(1) when building kernels.

		Default: Unset.

COPTS		Extra options for the C compiler.  Should be appended to
		(e.g., COPTS+=-g), rather than explicitly set.

		Note: CPUFLAGS, not COPTS, should be used for compiler
		options that select CPU-related options.

COPTS.<fn>	Extra options for the C compiler when creating the
		C objects for file <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPUFLAGS	Additional options passed to the compiler/assembler to
		select CPU instruction set options, CPU tuning options,
		etc.

		Note: Such options should not be specified in COPTS,
		because some parts of the build process need to override
		CPU-related compiler options.

		Default: Unset.

CPUFLAGS.<fn>	Additional options to the compiler/assembler for file <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPPFLAGS	Additional options to the C pre-processor.

CPPFLAGS.<fn>	Additional options to the C pre-processor for file <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

GDBINIT		List of GDB initialization files to add to "source"
		directives in the .gdbinit file that is created in the
		objdir.

LDADD		Additional loader objects.  Usually used for libraries.
		For example, to load with the compatibility and utility
		libraries, use:

			LDADD+=-lutil -lcompat

LDFLAGS		Additional linker options (passed to ${CC} during link).

LINKS		See <bsd.links.mk>

OBJCOPTS	Additional options to the compiler when creating ObjC objects.

OBJCOPTS.<fn>	Additional options to the compiler when creating the
		ObjC objects for file <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

SYMLINKS	See <bsd.links.mk>

MAN		Manual pages (should end in .1 - .9).  If no MAN variable is
		defined, "MAN=${PROG}.1" is assumed.

PAXCTL_FLAGS	If defined, run paxctl(1) on the program binary after link
		time, with the value of this variable as options to paxctl(1).

PAXCTL_FLAGS.${PROG} Custom override for PAXCTL_FLAGS.

PROG		The name of the program to build.  If not supplied, nothing
		is built.

PROG_CXX	If defined, the name of the program to build.  Also
		causes <bsd.prog.mk> to link the program with the C++
		compiler rather than the C compiler.  PROG_CXX overrides
		the value of PROG if PROG is also set.

PROGNAME	The name that the above program will be installed as, if
		different from ${PROG}.

PROGS		Multiple programs to build from a single directory.
		Defaults to PROG. For each program ${_P} in ${PROGS},
		uses SRCS.${_P}, defaulting to ${_P}.c.

PROGS_CXX	Multiple C++ programs to build from a single directory.
		Defaults to PROG_CXX. For each program ${_P} in ${PROGS_CXX},
		uses SRCS.${_P}, defaulting to ${_P}.cc.

SRCS		List of source files to build the program.  If SRCS is not
		defined, it is assumed to be ${PROG}.c or ${PROG_CXX}.cc.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.

DPADD		Additional dependencies for the program.  Usually used for
		libraries.  For example, to depend on the compatibility and
		utility libraries use:

			DPADD+=${LIBCOMPAT} ${LIBUTIL}

		The following system libraries are predefined for DPADD:

		LIBARCHIVE?=		${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=		${DESTDIR}/usr/lib/libasn1.a
		LIBATF_C?=		${DESTDIR}/usr/lib/libatf-c.a
		LIBATF_CXX?=		${DESTDIR}/usr/lib/libatf-c++.a
		LIBBLOCKLIST?=		${DESTDIR}/usr/lib/libblocklist.a
		LIBBLUETOOTH?=		${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=		${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=		${DESTDIR}/usr/lib/libbz2.a
		LIBC?=			${DESTDIR}/usr/lib/libc.a
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBCBOR?=		${DESTDIR}/usr/lib/libcbor.a
		LIBCOMPAT?=		${DESTDIR}/usr/lib/libcompat.a
		LIBCOM_ERR?=		${DESTDIR}/usr/lib/libcom_err.a
		LIBCRYPT?=		${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=		${DESTDIR}/usr/lib/libcrypto.a
		LIBCURSES?=		${DESTDIR}/usr/lib/libcurses.a
		LIBCXX?=		${DESTDIR}/usr/lib/libc++.a
		LIBDES?=		${DESTDIR}/usr/lib/libdes.a
		LIBDNS?=		${DESTDIR}/usr/lib/libdns.a
		LIBEDIT?=		${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=		${DESTDIR}/usr/lib/libevent.a
		LIBEVENT_OPENSSL?=	${DESTDIR}/usr/lib/libevent_openssl.a
		LIBEVENT_PTHREADS?=	${DESTDIR}/usr/lib/libevent_pthreads.a
		LIBEXECINFO?=		${DESTDIR}/usr/lib/libexecinfo.a
		LIBEXPAT?=		${DESTDIR}/usr/lib/libexpat.a
		LIBFETCH?=		${DESTDIR}/usr/lib/libfetch.a
		LIBFIDO2?=		${DESTDIR}/usr/lib/libfido2.a
		LIBFL?=			${DESTDIR}/usr/lib/libfl.a
		LIBFORM?=		${DESTDIR}/usr/lib/libform.a
		LIBGCC?=		${DESTDIR}/usr/lib/libgcc.a
		LIBGNUCTF?=		${DESTDIR}/usr/lib/libgnuctf.a
		LIBGNUMALLOC?=		${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=		${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=		${DESTDIR}/usr/lib/libhdb.a
		LIBHEIMBASE?=		${DESTDIR}/usr/lib/libheimbase.a
		LIBHEIMNTLM?=		${DESTDIR}/usr/lib/libheimntlm.a
		LIBHX500?=		${DESTDIR}/usr/lib/libhx500.a
		LIBINTL?=		${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=		${DESTDIR}/usr/lib/libipsec.a
		LIBISC?=		${DESTDIR}/usr/lib/libisc.a
		LIBISCCC?=		${DESTDIR}/usr/lib/libisccc.a
		LIBISCFG?=		${DESTDIR}/usr/lib/libiscfg.a
		LIBKADM5CLNT?=		${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=		${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=		${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=		${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=		${DESTDIR}/usr/lib/libkvm.a
		LIBL?=			${DESTDIR}/usr/lib/libl.a
		LIBLBER?=		${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=		${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=		${DESTDIR}/usr/lib/libldap_r.a
		LIBLUA?=		${DESTDIR}/usr/lib/liblua.a
		LIBM?=			${DESTDIR}/usr/lib/libm.a
		LIBMAGIC?=		${DESTDIR}/usr/lib/libmagic.a
		LIBMENU?=		${DESTDIR}/usr/lib/libmenu.a
		LIBNETPGPVERIFY?=	${DESTDIR}/usr/lib/libnetpgpverify.a
		LIBNS?=			${DESTDIR}/usr/lib/libns.a
		LIBOBJC?=		${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=		${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=		${DESTDIR}/usr/lib/libpam.a
		LIBPANEL?=		${DESTDIR}/usr/lib/libpanel.a
		LIBPCAP?=		${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=		${DESTDIR}/usr/lib/libpci.a
		LIBPOSIX?=		${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=		${DESTDIR}/usr/lib/libpthread.a
		LIBPUFFS?=		${DESTDIR}/usr/lib/libpuffs.a
		LIBQUOTA?=		${DESTDIR}/usr/lib/libquota.a
		LIBRADIUS?=		${DESTDIR}/usr/lib/libradius.a
		LIBREFUSE?=		${DESTDIR}/usr/lib/librefuse.a
		LIBRESOLV?=		${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=		${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=		${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=		${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=			${DESTDIR}/usr/lib/librt.a
		LIBRUMP?=		${DESTDIR}/usr/lib/librump.a
		LIBRUMPFS_CD9660?=	${DESTDIR}/usr/lib/librumpfs_cd9660.a
		LIBRUMPFS_EFS?=		${DESTDIR}/usr/lib/librumpfs_efs.a
		LIBRUMPFS_EXT2FS?=	${DESTDIR}/usr/lib/librumpfs_ext2fs.a
		LIBRUMPFS_FFS?=		${DESTDIR}/usr/lib/librumpfs_ffs.a
		LIBRUMPFS_HFS?=		${DESTDIR}/usr/lib/librumpfs_hfs.a
		LIBRUMPFS_LFS?=		${DESTDIR}/usr/lib/librumpfs_lfs.a
		LIBRUMPFS_MSDOS?=	${DESTDIR}/usr/lib/librumpfs_msdos.a
		LIBRUMPFS_NFS?=		${DESTDIR}/usr/lib/librumpfs_nfs.a
		LIBRUMPFS_NTFS?=	${DESTDIR}/usr/lib/librumpfs_ntfs.a
		LIBRUMPFS_SYSPUFFS?=	${DESTDIR}/usr/lib/librumpfs_syspuffs.a
		LIBRUMPFS_TMPFS?=	${DESTDIR}/usr/lib/librumpfs_tmpfs.a
		LIBRUMPFS_UDF?=		${DESTDIR}/usr/lib/librumpfs_udf.a
		LIBRUMPUSER?=		${DESTDIR}/usr/lib/librumpuser.a
		LIBSASLC?=		${DESTDIR}/usr/lib/libsaslc.a
		LIBSKEY?=		${DESTDIR}/usr/lib/libskey.a
		LIBSL?=			${DESTDIR}/usr/lib/libsl.a
		LIBSQLITE3?=		${DESTDIR}/usr/lib/libsqlite3.a
		LIBSSH?=		${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=		${DESTDIR}/usr/lib/libssl.a
		LIBSTDCXX?=		${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=		${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMINFO?=		${DESTDIR}/usr/lib/libterminfo.a
		LIBTRE?=		${DESTDIR}/usr/lib/libtre.a
		LIBUNBOUND?=		${DESTDIR}/usr/lib/libunbound.a
		LIBUSBHID?=		${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=		${DESTDIR}/usr/lib/libutil.a
		LIBWIND?=		${DESTDIR}/usr/lib/libwind.a
		LIBWRAP?=		${DESTDIR}/usr/lib/libwrap.a
		LIBY?=			${DESTDIR}/usr/lib/liby.a
		LIBZ?=			${DESTDIR}/usr/lib/libz.a

		The following c startup files.

		LIBCRT0?=		${DESTDIR}/usr/lib/crt0.o
		LIBCRTI?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTBEGIN?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTEND?=		${DESTDIR}/usr/lib/crtn.o

		The following X-Windows libraries are predefined for DPADD:

		LIBDPS?=		${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBEGL?=		${DESTDIR}/usr/X11R7/lib/libEGL.a
		LIBFNTSTUBS?=		${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCACHE?=		${DESTDIR}/usr/X11R7/lib/libfontcache.a
		LIBFONTCONFIG?=		${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=		${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=		${DESTDIR}/usr/X11R7/lib/libfreetype.a
		LIBFS?=			${DESTDIR}/usr/X11R7/lib/libFS.a
		LIBGL?=			${DESTDIR}/usr/X11R7/lib/libGL.a
		LIBGLU?=		${DESTDIR}/usr/X11R7/lib/libGLU.a
		LIBGLW?=		${DESTDIR}/usr/X11R7/lib/libGLw.a
		LIBI810XVMC		4{DESTDIR}/usr/X11R7/lib/libI810XvMC.a
		LIBICE?=		${DESTDIR}/usr/X11R7/lib/libICE.a
		LIBINTELXVMC		${DESTDIR}/usr/X11R7/lib/libIntelXvMC.a
		LIBLBXUTIL?=		${DESTDIR}/usr/X11R7/lib/liblbxutil.a
		LIBSM?=			${DESTDIR}/usr/X11R7/lib/libSM.a
		LIBX11_XCB?=		${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
		LIBX11?=		${DESTDIR}/usr/X11R7/lib/libX11.a
		LIBXRES?=		${DESTDIR}/usr/X11R7/lib/libXres.a
		LIBXAU?=		${DESTDIR}/usr/X11R7/lib/libXau.a
		LIBXAU7?=		${DESTDIR}/usr/X11R7/lib/libXau7.a
		LIBXAW?=		${DESTDIR}/usr/X11R7/lib/libXaw.a
		LIBXCB?=		${DESTDIR}/usr/X11R7/lib/libxcb.a
		LIBXCOMPOSITE?=		${DESTDIR}/usr/X11R7/lib/libXcomposite.a
		LIBXCURSOR?=		${DESTDIR}/usr/X11R7/lib/libXcursor.a
		LIBXCVT?=		${DESTDIR}/usr/X11R7/lib/libxcvt.a
		LIBXDAMAGE?=		${DESTDIR}/usr/X11R7/lib/libXdamage.a
		LIBXDMCP?=		${DESTDIR}/usr/X11R7/lib/libXdmcp.a
		LIBXEXT?=		${DESTDIR}/usr/X11R7/lib/libXext.a
		LIBXFIXES?=		${DESTDIR}/usr/X11R7/lib/libXfixes.a
		LIBXFONT2?=		${DESTDIR}/usr/X11R7/lib/libXfont2.a
		LIBXFONT?=		${DESTDIR}/usr/X11R7/lib/libXfont.a
		LIBXFT?=		${DESTDIR}/usr/X11R7/lib/libXft.a
		LIBXI?=			${DESTDIR}/usr/X11R7/lib/libXi.a
		LIBXINERAMA?=		${DESTDIR}/usr/X11R7/lib/libXinerama.a
		LIBXKBFILE?=		${DESTDIR}/usr/X11R7/lib/libxkbfile.a
		LIBXMU?=		${DESTDIR}/usr/X11R7/lib/libXmu.a
		LIBXMUU?=		${DESTDIR}/usr/X11R7/lib/libXmuu.a
		LIBXPM?=		${DESTDIR}/usr/X11R7/lib/libXpm.a
		LIBXRANDR?=		${DESTDIR}/usr/X11R7/lib/libXrandr.a
		LIBXRENDER?=		${DESTDIR}/usr/X11R7/lib/libXrender.a
		LIBXSS?=		${DESTDIR}/usr/X11R7/lib/libXss.a
		LIBXT?=			${DESTDIR}/usr/X11R7/lib/libXt.a
		LIBXTRAP?=		${DESTDIR}/usr/X11R7/lib/libXTrap.a
		LIBXTST?=		${DESTDIR}/usr/X11R7/lib/libXtst.a
		LIBXV?=			${DESTDIR}/usr/X11R7/lib/libXv.a
		LIBXXF86DGA?=		${DESTDIR}/usr/X11R7/lib/libXxf86dga.a
		LIBXXF86MISC?=		${DESTDIR}/usr/X11R7/lib/libXxf86misc.a
		LIBXXF86VM?=		${DESTDIR}/usr/X11R7/lib/libXxf86vm.a

STRIPFLAG	The option passed to the install program to cause the binary
		to be stripped.

SUBDIR		A list of subdirectories that should be built as well.
		Each of the targets will execute the same target in the
		subdirectories.
		See the description of SUBDIR in <bsd.subdir.mk> for
		an explanation of the .WAIT token.

SCRIPTS		A list of interpreter scripts [file.{sh,csh,pl,awk,...}].
		These are installed exactly like programs.

SCRIPTSDIR	The location to install the scripts.  Each script can be
		installed to a separate path by setting SCRIPTSDIR_<script>.

SCRIPTSNAME	The name that the above program will be installed as, if
		different from ${SCRIPTS}. These can be further specialized
		by setting SCRIPTSNAME_<script>.

FILES		See description of <bsd.files.mk>.

SHLINKDIR	Target directory for shared linker.  See description of
		<bsd.own.mk> for additional information about this variable.

The include file <bsd.prog.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

Some simple examples:

To build foo from foo.c with a manual page foo.1, use:

	PROG=	foo

	.include <bsd.prog.mk>

To build foo from foo.c with a manual page foo.2, add the line:

	MAN=	foo.2

If foo does not have a manual page at all, add the line
before any make(1) .include directives:

	NOMAN=

If foo has multiple source files, add the line:

	SRCS=	a.c b.c c.c d.c


=-=-=-=-=   bsd.rpc.mk   =-=-=-=-=

The include file <bsd.rpc.mk> contains a makefile fragment used to
construct source files built by rpcgen.

The following macros may be defined in makefiles which include
<bsd.rpc.mk> in order to control which files get built and how they
are to be built:

RPC_INCS	construct .h file from .x file
RPC_XDRFILES	construct _xdr.c from .x file
		(for marshalling/unmarshalling data types)
RPC_SVCFILES	construct _svc.c from .x file
		(server-side stubs)
RPC_SVCFLAGS	Additional options passed to builds of RPC_SVCFILES.

RPC_XDIR	Directory containing .x/.h files


=-=-=-=-=   bsd.sanitizer.mk   =-=-=-=-=

The include file <bsd.sanitizer.mk> is included to run sanitizers.

TODO: currently unused in tree?
TODO: variables.


=-=-=-=-=   bsd.shlib.mk   =-=-=-=-=

The include file <bsd.shlib.mk> computes parameters for shared library
installation and use.  <bsd.shlib.mk> defines no targets.
<bsd.own.mk> MUST be included before <bsd.shlib.mk>.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

SHLIBINSTALLDIR If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
		instead of ${LIBDIR} as the base path for shared library
		installation.  [/lib]

SHLIBDIR	The path to USE_SHLIBDIR shared libraries to use when building
		a program.  [/lib for programs in /bin and /sbin, /usr/lib
		for all others.]

_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
		otherwise set to ${LIBDIR}

SHLINKINSTALLDIR Base path for shared linker.  [/libexec]

SHLINKDIR	Path to use for shared linker when building a program.
		[/libexec for programs in /bin and /sbin, /usr/libexec for
		all others.]


=-=-=-=-=   bsd.subdir.mk   =-=-=-=-=

The include file <bsd.subdir.mk> contains the default targets for building
subdirectories.  <bsd.subdir.mk> has the same targets as <bsd.prog.mk>:
'all', 'clean', 'cleandir', 'depend', 'distclean', 'includes', 'install',
'lint', and 'tags'.

<bsd.subdir.mk> uses the following variables:

NOSUBDIR	If this variable is defined, then the SUBDIR variable
		will be ignored and subdirectories will not be processed.

SUBDIR		For all of the directories listed in ${SUBDIR}, the
		specified directory will be visited and the target made.

		As a special case, the use of a token .WAIT as an
		entry in SUBDIR acts as a synchronization barrier
		when multiple make jobs are run; subdirs before the
		.WAIT must complete before any subdirs after .WAIT are
		started.  See make(1) for some caveats on use of .WAIT
		and other special sources.


=-=-=-=-=   bsd.syscall.mk =-=-=-=-=

The include file <bsd.syscall.mk> contains the logic to create syscall
files for various emulations. <bsd.syscall.mk> includes <bsd.kinc.mk>
to handle the rest of the targets.


=-=-=-=-=   bsd.test.mk   =-=-=-=-=

The include file <bsd.test.mk> is included to create test programs.

TODO: variables


=-=-=-=-=   bsd.x11.mk   =-=-=-=-=

The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11 from ${X11SRCDIR.<package>}.  <bsd.x11.mk> should be
included after the general Makefile contents but before the include files
such as <bsd.prog.mk> and <bsd.lib.mk>.

<bsd.x11.mk> provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7 .man.8:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11's manual page source
		into an mdoc.old source file.

<bsd.x11.mk> sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>

LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>

MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>

CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}

LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}

X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.

X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.

X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.

X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.

X11FLAGS.SERVER		Equivalent to X11's ServerDefines.

X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.

X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.

X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.

X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.

X11TOOL_UNXCOMM		Command line to convert 'XCOMM' comments to '#'

<bsd.x11.mk> uses the following variables:

APPDEFS			List of app-default files to install.

CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a '.cpp' suffix, the generated files do not.

CPPSCRIPTFLAGS		Additional options to cpp(1) when building CPPSCRIPTS.

CPPSCRIPTFLAGS_<fn>	Additional options to cpp(1) when building CPPSCRIPT
			file <fn>.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The following files are described here for completion, but they are not
supposed to be included directly from other Makefiles; they are used
internally by other system files.

=-=-=-=-=   bsd.sys.mk   =-=-=-=-=

The include file <bsd.sys.mk> is used by other system mk files and
it is not intended to be included standalone. <bsd.sys.mk> contains rules
and system build variables. <bsd.sys.mk> requires <bsd.own.mk> to be included
first.  <bsd.sys.mk> contains overrides that are used when building the NetBSD
source tree.

The following variables control how various files are compiled/built.
(Note that these may be overridden in <bsd.own.mk> if USETOOLS == "yes"):

AR		Create, modify, and extract from archives.  [ar]

ARFLAGS		Options to ${AR}.  [rl]

ARM_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

AS		Assembler.  [as]

AFLAGS		Options to ${CC} when compiling or linking .s or .S
		assembly source files.  []

BUILDSEED	g++(1) uses random numbers when compiling C++ code.  This
		variable seeds the g++(1) random number generator using
		-frandom-seed with this value.  By default, this variable is
		set to "NetBSD-(majorversion)".  Using a fixed value causes
		C++ binaries to be the same when built from the same sources,
		resulting in identical (reproducible) builds.  Additional
		information is available in the g++(1) documentation of
		-frandom-seed.

		Default: Unset.

CC		C compiler.  [cc]

CFLAGS		Options to ${CC}.  [Usually -O or -O2]
		Note: CFLAGS should never be set in mk.conf(5).

CPP		C Pre-Processor.  [cpp]

CPPFLAGS	Options to ${CPP}.  []

CPUFLAGS	Optimization options for ${CC}.  []

CWARNFLAGS	Warnings to enable or disable in CFLAGS. []

CWARNFLAGS.<comp>
		Warnings to enable or disable in CFLAGS for compiler <comp>. []

CXX		C++ compiler.  [c++]

CXXFLAGS	Options to ${CXX}.  [${CFLAGS}]

M68K_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

MIPS_ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]

FC		Fortran compiler.  [f77]

FFLAGS		Options to {$FC}.  [-O]

HOST_SH		Shell.  This must be an absolute path, because it may be
		substituted into "#!" lines in scripts.  [/bin/sh]

INSTALL		install(1) command.  [install]

LEX		Lexical analyzer.  [lex]

LFLAGS		Options to ${LEX}.  []

LPREFIX		Symbol prefix for ${LEX} (see -P option in lex(1)) [yy]

LD		Linker.  [ld]

LDFLAGS		Options to ${CC} during the link process.  []

LINT		C program verifier.  [lint]

LINTFLAGS	Options to ${LINT}.  [-chapbrxzgFS]

LORDER		List dependencies for object files.  [lorder]

MAKE		make(1).  [make]

MKDEP		Construct Makefile dependency list.  [mkdep]

MKDEPCXX	Construct Makefile dependency list for C++ files.  [mkdep]

NM		List symbols from object files.  [nm]

PC		Pascal compiler.  [pc]	(Not present)

PFLAGS		Options to ${PC}.  []

OBJC		Objective C compiler.  [${CC}]

OBJCFLAGS	Options to ${OBJC}.  [${CFLAGS}]

OBJCOPY		Copy and translate object files.  [objcopy]

OBJCOPYLIBFLAGS Options to pass to objcopy when library objects are
		being built. [${.TARGET} =~ "*.po" ? -X : -x]

OBJDUMP		Display information from object files.  [objdump]

RANLIB		Generate index to archive.  [ranlib]

READELF		Display information from ELF object files.  [readelf]

SIZE		List section sizes and total size.  [size]

STRINGS		Display printable character sequences in files.  [strings]

STRIP		Discard symbols from object files.  [strip]

TSORT		Topological sort of a directed graph.  [tsort -q]

YACC		LALR(1) parser generator.  [yacc]

YFLAGS		Options to ${YACC}.  []

YHEADER		If defined, add "-d" to YFLAGS, and add dependencies
		from <file>.y to <file>.h and <file>.c, and add
		<foo>.h to CLEANFILES.

YPREFIX		If defined, add "-p ${YPREFIX}" to YFLAGS.


Other variables of note (incomplete list):

NOCLANGERROR	If defined and clang is used as C compiler, -Werror is not
		passed to clang.

NOGCCERROR	If defined, prevents passing certain ${CFLAGS} to GCC
		that cause warnings to be fatal, such as:
			-Werror -Wa,--fatal-warnings
		(The latter being for as(1).)

WARNS		Crank up compiler warning options; the distinct levels are:
			WARNS=1
			WARNS=2
			WARNS=3
			WARNS=4
			WARNS=5
			WARNS=6


=-=-=-=-=   bsd.host.mk   =-=-=-=-=

The include file <bsd.host.mk> is automatically included from <bsd.own.mk>.
<bsd.host.mk> contains settings for all the HOST_* variables that are used in
host programs and libraries.

HOST_AR			The host archive processing command

HOST_CC			The host c compiler

HOST_CFLAGS		The host c compiler options

HOST_COMPILE.c		The host c compiler line with options

HOST_COMPILE.cc		The host c++ compiler line with options

HOST_CPP		The host c pre-processor

HOST_CPPFLAGS		The host c pre-processor options

HOST_CXX		The host c++ compiler

HOST_CXXFLAGS		The host c++ compiler options

HOST_INSTALL_DIR	The host command to install a directory

HOST_INSTALL_FILE	The host command to install a file

HOST_INSTALL_SYMLINK	The host command to install a symlink

HOST_LD			The host linker command

HOST_LDFLAGS		The host linker options

HOST_LINK.c		The host c linker line with options

HOST_LINK.cc		The host c++ linker line with options

HOST_LN			The host command to link two files

HOST_MKDEP		The host command to create dependencies for c programs

HOST_MKDEPCXX		The host command to create dependencies for c++ programs

HOST_OSTYPE		The host OSNAME-RELEASE-ARCH tupple

HOST_RANLIB		The host command to create random access archives

HOST_SH			The host Bourne shell interpreter name (absolute path)


=-=-=-=-=   bsd.ioconf.mk   =-=-=-=-=

The include file <bsd.ioconf.mk> is used to build helper files for the
kernel, including "ioconf.c", "ioconf.h", and "locators.h".

<bsd.ioconf.mk> is not intended to be included by user Makefiles.

TODO: variables


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@


1.464
log
@Document CWARNFLAGS and CWARNFLAGS.<comp>
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.463 2026/02/11 22:15:40 lukem Exp $
d1133 1
a1133 1
PROGDPSUBDIRS/	A list of subdirectory paths _subdir_ for which the
@


1.463
log
@bsd.README: document missing files, cleanup text

Add entries for all bsd.*.mk files, grouped and lexicographically
ordered appropriately; with the "not to be included by user" in
the section at the end.

Some new entries still have TODO for documenting the supported variables.

Quote target names to make it more obvious.

Consistently use '...' quotes instead of `...' in places; the latter
confuses syntax highlighting and searching.

Clean up wording, expanding "this" or "it" to be more specific
(AKA "What is the it?" or "What is this?"). Expand "it's" to "it is".
Other minor tweaks.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.462 2025/12/28 18:43:25 thorpej Exp $
d861 1
a861 1
FILESNAME_<fn>	Optional name to install <fn> as.
d867 2
a868 2
FILESBUILD_<fn> A value different from "no" will add the file to the list of
		targets to be built by 'realall'.  Users of that variable
d883 1
a883 1
		Rename the output from the decode to the provided name.
d1382 1
a1382 1
		C objects for <fn>.
d1395 1
a1395 1
CPUFLAGS.<fn>	Additional options to the compiler/assembler for <fn>.
d1400 1
a1400 1
CPPFLAGS.<fn>	Additional options to the C pre-processor for <fn>.
d1420 1
a1420 1
		ObjC objects for <fn>.
d1831 2
a1832 1
CPPSCRIPTFLAGS_<fn>	Additional options to cpp(1) when building CPPSCRIPT <fn>.
d1885 5
@


1.462
log
@Conditionalize support for SSH client and server on MKSSH.  Enabled by
default except on m68000.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.461 2025/12/28 16:50:22 thorpej Exp $
d11 1
a11 1
Note: this file is not intended to replace reading through the .mk
d19 2
a20 2
you'd expect.  The syntax is slightly different in that a single '.' is
used instead of the hash mark, i.e. ".include <bsd.prog.mk>".
d45 2
a46 2
It's fairly difficult to make the BSD .mk files work when you're building
multiple programs in a single directory.  It's a lot easier to split up the
d54 2
a55 2
for the source files.  This file is read automatically by make after reading
the Makefile.
d57 1
a57 1
The variable DESTDIR works as before.  It's not set anywhere but will change
d164 1
a164 1
		in `expert' mode with the -E option.
d173 1
a173 1
		the top-level .OBJDIR) unless run in `expert' mode with
d251 1
a251 1
environment or otherwise.  You probably don't want to touch this file.
d259 1
a259 1
It has no targets.
d673 50
d725 3
a727 2
The include file <bsd.clean.mk> defines the clean and cleandir
targets.  It uses the following variables:
d729 1
a729 1
CLEANFILES	Files to remove for both the clean and cleandir targets.
d731 2
a732 2
CLEANDIRFILES	Files to remove for the cleandir target, but not for
		the clean target.
d734 1
a734 1
MKCLEANSRC	Controls whether or not the clean and cleandir targets
d757 1
a757 1
MKCLEANVERIFY	Controls whether or not the clean and cleandir targets
d773 2
a774 2
To use the clean and cleandir targets defined in <bsd.clean.mk>, other
Makefiles or bsd.*.mk files should append file names to the CLEANFILES
d784 1
a784 1
in bsd.clean.mk is considered too great.  If you want to recursively
d788 1
d792 1
a792 1
.depend files.  It creates .d files from entries in SRCS and DPSRCS
d797 3
a799 1
modify SRCS or DPSRCS.  It uses the following variables:
d806 24
a829 1
NODPSRCS	TODO
d839 2
a840 2
		are installed by the `configinstall' target,
		not the `install' target.
d868 1
a868 1
		targets to be built by `realall'.  Users of that variable
d875 1
a875 1
		The lntgt symlinks are removed by the cleandir target.
d879 1
a879 1
		The source files have a `.uue' suffix, the generated files do
d886 1
a886 1
		rule applying implicitly except being added to the clean
d889 1
d893 2
a894 2
support libraries.  It defines no targets.  <bsd.own.mk> MUST be included
before <bsd.gcc.mk>.
d917 20
d939 1
a939 1
The include file <bsd.inc.mk> defines the includes target and uses the
d960 4
a963 3
documentation from respective Texinfo source files.  It defines three
implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
following variables:
d972 7
d1008 4
a1011 4
The include file <bsd.kinc.mk> defines the many targets (includes,
subdirectories, etc.), and is used by kernel makefiles to handle
include file installation.  It is intended to be included alone, by
kernel Makefiles.  It uses similar variables to <bsd.inc.mk>.
a1014 1
=-=-=-=-=   bsd.syscall.mk =-=-=-=-=
d1016 14
a1029 3
The include file <bsd.syscall.mk> contains the logic to create syscall
files for various emulations. It includes <bsd.kinc.mk> to handle the
rest of the targets.
d1033 9
a1041 7
The include file <bsd.lib.mk> has support for building libraries.  It has
the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
includes, install, lint, and tags.  Additionally, it has a checkver target
which checks for installed shared object libraries whose version is greater
that the version of the source. It has a limited number of suffixes,
consistent with the current needs of the BSD tree.  <bsd.lib.mk> includes
<bsd.shlib.mk> to get shared library parameters.
d1043 1
a1043 1
It sets/uses the following variables:
d1116 1
a1116 1
			`libname', and if it is not set it is determined
d1146 2
a1147 2
		is versioned, it is followed by `@@@@', if it is the
		default version, or `@@', if not, and the symbol
d1151 3
a1153 3
		symbols in this file is defined when the library is
		built; if not, the build will fail and print a diff
		from the expected symbols to the actual symbols.
d1155 1
a1155 1
		from the actual ones with `make update-symbols'.
d1165 1
a1165 1
It has rules for building profiled objects; profiled libraries are
d1177 2
a1178 2
is used. The defaults may be modified by other bsd.*.mk files which
include bsd.links.mk.  In the future, these variables may be replaced
d1188 2
a1189 2
		are installed by the `configinstall' target,
		not the `install' target.
d1199 2
a1200 2
		are installed by the `configinstall' target,
		not the `install' target.
d1215 7
d1227 1
a1227 1
It has a three targets:
d1236 1
a1236 1
It sets/uses the following variables:
d1259 7
d1288 1
a1288 1
source tree and that it's not safe to use a separate object tree.
d1323 2
a1324 2
more source files, along with their manual pages.  It has a limited number
of suffixes, consistent with the current needs of the BSD tree.
d1327 1
a1327 1
It has eight targets:
d1338 1
a1338 1
		remove all of the files removed by the target clean, as
a1339 1
		`distclean' is a synonym for `cleandir'.
d1343 2
d1349 3
a1351 3
		does not itself define the target install, the targets
		beforeinstall and afterinstall may also be used to cause
		actions immediately before and after the install target
d1358 1
a1358 1
It sets/uses the following variables:
d1366 1
a1366 1
CLEANDIRFILES	Additional files to remove for the cleandir target.
d1368 2
a1369 1
CLEANFILES	Additional files to remove for the clean and cleandir targets.
d1453 1
a1453 1
		defined, it's assumed to be ${PROG}.c or ${PROG_CXX}.cc.
d1637 2
d1699 8
d1710 2
a1711 2
installation and use.  It defines no targets.  <bsd.own.mk> MUST be
included before <bsd.shlib.mk>.
d1737 5
a1741 3
subdirectories.  It has the same eight targets as <bsd.prog.mk>: all,
clean, cleandir, depend, includes, install, lint, and tags.  It uses the
following variables:
d1757 14
d1774 3
a1776 3
cross-building X11 from ${X11SRCDIR.<package>}.  It should be included
after the general Makefile contents but before the include files such as
<bsd.prog.mk> and <bsd.lib.mk>.
d1778 1
a1778 1
It provides the following targets:
d1784 1
a1784 1
It sets the following variables:
d1819 1
a1819 1
X11TOOL_UNXCOMM		Command line to convert `XCOMM' comments to `#'
d1821 1
a1821 1
It uses the following variables:
d1827 1
a1827 1
			have a `.cpp' suffix, the generated files do not.
d1843 4
a1846 3
it is not intended to be included standalone. It contains rules and
system build variables. It requires bsd.own.mk to be included first.
It contains overrides that are used when building the NetBSD source tree.
d1864 3
a1866 3
		-frandom-seed with this value.  By default, it is set to
		"NetBSD-(majorversion)".  Using a fixed value causes C++
		binaries to be the same when built from the same sources,
d1966 1
a1966 1
		passed to it.
d1981 1
d1984 3
a1986 2
This file is automatically included from bsd.own.mk. It contains settings
for all the HOST_* variables that are used in host programs and libraries.
d2032 11
@


1.461
log
@Conditionalize support for USB on MKUSB.  Enabled by default except on m68000.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.460 2025/12/28 15:35:01 thorpej Exp $
d130 13
a142 12
	MKRUMP, MKSANITIZER, MKSHARE, MKSKEY, MKSLJIT, MKSOFTFLOAT, MKSTATICLIB,
	MKSTATICPIE, MKSTRIPIDENT, MKSTRIPSYM, MKSYSVBFS, MKTEGRAFIRMWARE,
	MKTMPFS, MKTPM, MKUDF, MKUMAPFS, MKUNBOUND, MKUNIONFS, MKUNPRIVED,
	MKUPDATE, MKUSB, MKV7FS, MKWLAN, MKX11, MKX11FONTS, MKX11MOTIF,
	MKXORG_SERVER, MKYP, MKZFS, NETBSDSRCDIR, NETBSD_OFFICIAL_RELEASE,
	NOCLEANDIR, NODISTRIBDIRS, NOINCLUDES, OBJMACHINE, RELEASEDIR,
	RUMPUSER_THREADS, RUMP_CURLWP, RUMP_DEBUG, RUMP_DIAGNOSTIC,
	RUMP_KTRACE, RUMP_LOCKDEBUG, RUMP_LOCKS_UP, RUMP_NBCOMPAT, RUMP_VIRTIF,
	RUMP_VNODE_LOCKDEBUG, TOOLCHAIN_MISSING, TOOLDIR, USETOOLS, USE_FORT,
	USE_HESIOD, USE_INET6, USE_JEMALLOC, USE_KERBEROS, USE_LDAP,
	USE_LIBCSANITIZER, USE_PAM, USE_PIGZGZIP, USE_SANITIZER, USE_SKEY,
	USE_SSP, USE_XZ_SETS, USE_YP, X11MOTIFPATH, X11SRCDIR.
@


1.460
log
@Conditionalize support for Fast Identity Online 2 (FIDO2) on MKFIDO2.
Enabled by default except on m68000.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.459 2025/12/25 19:25:29 thorpej Exp $
d133 9
a141 9
	MKUPDATE, MKV7FS, MKWLAN, MKX11, MKX11FONTS, MKX11MOTIF, MKXORG_SERVER,
	MKYP, MKZFS, NETBSDSRCDIR, NETBSD_OFFICIAL_RELEASE, NOCLEANDIR,
	NODISTRIBDIRS, NOINCLUDES, OBJMACHINE, RELEASEDIR, RUMPUSER_THREADS,
	RUMP_CURLWP, RUMP_DEBUG, RUMP_DIAGNOSTIC, RUMP_KTRACE, RUMP_LOCKDEBUG,
	RUMP_LOCKS_UP, RUMP_NBCOMPAT, RUMP_VIRTIF, RUMP_VNODE_LOCKDEBUG,
	TOOLCHAIN_MISSING, TOOLDIR, USETOOLS, USE_FORT, USE_HESIOD,
	USE_INET6, USE_JEMALLOC, USE_KERBEROS, USE_LDAP, USE_LIBCSANITIZER,
	USE_PAM, USE_PIGZGZIP, USE_SANITIZER, USE_SKEY, USE_SSP,
	USE_XZ_SETS, USE_YP, X11MOTIFPATH, X11SRCDIR.
@


1.459
log
@Mention MKBLUETOOTH.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.458 2025/12/25 15:46:25 thorpej Exp $
d120 11
a130 11
	MKEXT2FS, MKFDESCFS, MKFILECOREFS, MKFIRMWARE, MKGCC, MKGCCCMDS, MKGDB,
	MKGROFF, MKGROFFHTMLDOC, MKHESIOD, MKHFS, MKKERNFS, MKHOSTOBJ, MKHTML,
	MKIEEEFP, MKINET6, MKINFO, MKIPFILTER, MKIPSEC, MKISCSI, MKKERBEROS,
	MKKMOD, MKKYUA, MKLDAP, MKLFS, MKLIBCSANITIZER, MKLIBCXX, MKLIBSTDCXX,
	MKLINKLIB, MKLINT, MKLLVM, MKLLVMRT, MKLVM, MKMAKEMANDB, MKMAN,
	MKMANDOC, MKMANZ, MKMDNS, MKMSDOSFS, MKNFS, MKNLS, MKNILFS,
	MKNOUVEAUFIRMWARE, MKNPF, MKNSD, MKNTFS, MKNULLFS, MKOBJ, MKOBJDIRS,
	MKOVERLAYFS, MKPAM, MKPCC, MKPF, MKPIC, MKPICINSTALL, MKPICLIB, MKPIE,
	MKPIGZGZIP, MKPOSTFIX, MKPROCFS, MKPROFILE, MKPTYFS, MKQEMUFWCFG,
	MKRADEONFIRMWARE, MKRELRO, MKREPRO, MKREPRO_TIMESTAMP, MKRUMP,
	MKSANITIZER, MKSHARE, MKSKEY, MKSLJIT, MKSOFTFLOAT, MKSTATICLIB,
@


1.458
log
@Note recently added MK* build knobs.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.457 2025/12/16 04:21:03 riastradh Exp $
d115 2
a116 2
	MKAUDIO, MKBINUTILS, MKBLUETOOTH, MKBSDGREP, MKBSDTAR, MKCATPAGES,
	MKCD9660FS, MKCHFS, MKCLEANSRC, MKCLEANVERIFY, MKCOMPAT,
@


1.457
log
@Add logic for /usr/lib/private libraries.

New variables for makefiles to define:

<bsd.lib.mk> LIBSUBDIR -- If nonempty, install library into
    ${LIBDIR}/${LIBSUBDIR} instead of ${LIBDIR}.  Typically set
    either to empty or to `private'.

<bsd.lib.mk> LIBDPSUBDIRS -- List of subdirectories _subdir_ to add
    -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
    ldflags when linking library.  Note: Should only be used inside
    private libraries, not inside public libraries to link against
    private libraries, which can't work -- see comment.

<bsd.prog.mk> PROGDPSUBDIRS -- List of subdirectories _subdir_ to add
    -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
    ldflags when linking program.

(XXX bsd.lib.mk/bsd.prog.mk should figure LIBDPSUBDIRS/PROGDPSUBDIRS
out automatically by LIBDPLIBS/PROGDPLIBS, but for now we don't have
that mechanism -- TBD in subsequent work.)

Libraries that we want to install because we use them in binaries we
ship, but that we want to keep private from applications so we don't
have to worry about ABI breakage or leakage into pkgsrc builds,
should generally set:

LIBSUBDIR=	private		# Install into /usr/lib/private.
NOCOMPAT=	# defined	# Don't build compat lib.
NOLINKLIB=	# defined	# Don't install .so link or .a lib.

(XXX Maybe we should have a `LIBISPRIVATE= installed' or something
for this combination of options, but for now I'm putting in the
minimal mechanism to implement this and we can condense a common
pattern later.)

Programs using the library will also have to set

PROGDPSUBDIRS+=	private

so that they will get the rpath /usr/lib/private.

PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.456 2025/09/30 16:13:15 gutteridge Exp $
d114 3
a116 2
	MKAMDGPUFIRMWARE, MKARGON2, MKARZERO, MKATF, MKBINUTILS, MKBSDGREP,
	MKBSDTAR, MKCATPAGES, MKCLEANSRC, MKCLEANVERIFY, MKCOMPAT,
d118 20
a137 18
	MKCTF, MKCVS, MKCXX, MKDEBUG, MKDEBUGKERNEL, MKDEBUGLIB,
	MKDEBUGTOOLS, MKDEPINCLUDES, MKDOC, MKDTB, MKDTC, MKDTRACE,
	MKDYNAMICROOT, MKFIRMWARE, MKGCC, MKGCCCMDS, MKGDB, MKGROFF,
	MKGROFFHTMLDOC, MKHESIOD, MKHOSTOBJ, MKHTML, MKIEEEFP, MKINET6,
	MKINFO, MKIPFILTER, MKISCSI, MKKERBEROS, MKKMOD, MKKYUA, MKLDAP,
	MKLIBCSANITIZER, MKLIBCXX, MKLIBSTDCXX, MKLINKLIB, MKLINT, MKLLVM,
	MKLLVMRT, MKLVM, MKMAKEMANDB, MKMAN, MKMANDOC, MKMANZ, MKMDNS,
	MKNLS, MKNOUVEAUFIRMWARE, MKNPF, MKNSD, MKOBJ, MKOBJDIRS, MKPAM,
	MKPCC, MKPF, MKPIC, MKPICINSTALL, MKPICLIB, MKPIE, MKPIGZGZIP,
	MKPOSTFIX, MKPROFILE, MKRADEONFIRMWARE, MKRELRO, MKREPRO,
	MKREPRO_TIMESTAMP, MKRUMP, MKSANITIZER, MKSHARE, MKSKEY, MKSLJIT,
	MKSOFTFLOAT, MKSTATICLIB, MKSTATICPIE, MKSTRIPIDENT, MKSTRIPSYM,
	MKTEGRAFIRMWARE, MKTPM, MKUNBOUND, MKUNPRIVED, MKUPDATE, MKX11,
	MKX11FONTS, MKX11MOTIF, MKXORG_SERVER, MKYP, MKZFS, NETBSDSRCDIR,
	NETBSD_OFFICIAL_RELEASE, NOCLEANDIR, NODISTRIBDIRS, NOINCLUDES,
	OBJMACHINE, RELEASEDIR, RUMPUSER_THREADS, RUMP_CURLWP, RUMP_DEBUG,
	RUMP_DIAGNOSTIC, RUMP_KTRACE, RUMP_LOCKDEBUG, RUMP_LOCKS_UP,
	RUMP_NBCOMPAT, RUMP_VIRTIF, RUMP_VNODE_LOCKDEBUG,
@


1.456
log
@bsd.README: .man.8 is also a target

It was added with the xdm(8) move a year ago.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.455 2025/06/27 21:36:22 andvar Exp $
d930 4
d1010 12
@


1.455
log
@Grammar and spelling fixes, mainly in comments. A few in documentation,
logging, test description, and SCSI ASC/ASCQ assignment descriptions.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.454 2025/01/28 20:34:55 christos Exp $
d1599 1
a1599 1
	.man.1 .man.3 .man.4 .man.5 .man.7:
d1639 1
a1639 1
X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'
@


1.455.2.1
log
@Pull up following revision(s) (requested by snj in ticket #150):

	distrib/sets/lists/debug/shl.mi: revision 1.380
	crypto/external/bsd/openssh/lib/Makefile: revision 1.45
	distrib/sets/lists/debug/shl.mi: revision 1.381
	crypto/external/bsd/openssh/lib/Makefile: revision 1.46
	distrib/sets/lists/debug/shl.mi: revision 1.382
	distrib/evbarm/instkernel/sshramdisk/list: revision 1.7
	share/mk/bsd.lib.mk: revision 1.423
	share/mk/bsd.lib.mk: revision 1.425
	distrib/sets/lists/comp/mi: revision 1.2503
	distrib/sets/lists/comp/mi: revision 1.2504
	distrib/evbarm/instkernel/sshramdisk/Makefile: revision 1.31
	distrib/sets/lists/base/shl.mi: revision 1.1019
	rescue/list: revision 1.56
	etc/mtree/NetBSD.dist.compat.in: revision 1.9
	distrib/sets/lists/debug/mi: revision 1.494
	distrib/sets/lists/debug/mi: revision 1.495
	distrib/sets/lists/base/mi: revision 1.1371
	distrib/sets/lists/base/mi: revision 1.1372
	distrib/sets/lists/comp/shl.mi: revision 1.362
	etc/mtree/NetBSD.dist.base: revision 1.262
	lib/libpam/modules/pam_ssh/Makefile: revision 1.15
	share/mk/bsd.prog.mk: revision 1.358
	share/mk/bsd.prog.mk: revision 1.359
	usr.sbin/wg-keygen/Makefile: revision 1.2
	usr.sbin/wg-keygen/Makefile: revision 1.3
	distrib/sets/lists/base/shl.mi: revision 1.1020
	share/mk/bsd.README: revision 1.457
	crypto/external/bsd/openssh/Makefile.inc: revision 1.18
	distrib/sets/lists/xdebug/mi: revision 1.52
	rescue/Makefile: revision 1.43

Add logic for /usr/lib/private libraries.

New variables for makefiles to define:
<bsd.lib.mk> LIBSUBDIR -- If nonempty, install library into
    ${LIBDIR}/${LIBSUBDIR} instead of ${LIBDIR}.  Typically set
    either to empty or to `private'.
<bsd.lib.mk> LIBDPSUBDIRS -- List of subdirectories _subdir_ to add
    -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
    ldflags when linking library.  Note: Should only be used inside
    private libraries, not inside public libraries to link against
    private libraries, which can't work -- see comment.
<bsd.prog.mk> PROGDPSUBDIRS -- List of subdirectories _subdir_ to add
    -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
    ldflags when linking program.

(XXX bsd.lib.mk/bsd.prog.mk should figure LIBDPSUBDIRS/PROGDPSUBDIRS
out automatically by LIBDPLIBS/PROGDPLIBS, but for now we don't have
that mechanism -- TBD in subsequent work.)

Libraries that we want to install because we use them in binaries we
ship, but that we want to keep private from applications so we don't
have to worry about ABI breakage or leakage into pkgsrc builds,
should generally set:

LIBSUBDIR=      private         # Install into /usr/lib/private.
NOCOMPAT=       # defined       # Don't build compat lib.
NOLINKLIB=      # defined       # Don't install .so link or .a lib.

(XXX Maybe we should have a `LIBISPRIVATE= installed' or something
for this combination of options, but for now I'm putting in the
minimal mechanism to implement this and we can condense a common
pattern later.)

Programs using the library will also have to set
PROGDPSUBDIRS+= private
so that they will get the rpath /usr/lib/private.

PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib


openssh: Install libssh.so in /usr/lib/private.

This way it doesn't get exposed to applications accidentally, and we
don't need to worry about breaking ABI when updating openssh in base.
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib

openssh: Do build and install compat libssh after all.

Even though it's not exposed for applications to _link_ against, it
is used by the dynamically _loadable_ pam_ssh module, which exists as
a compat module and therefore needs libssh as a compat library to be
installed somewhere.  That somewhere will be
/usr/lib/${COMPAT_ARCH}/private.

Should fix problems like:
    dependall ===> compat/sparc64/sparc/../../../lib/libpam/modules/pam_ssh
    nbmake[11]: don't know how to make /home/source/ab/HEAD/src/crypto/external/bsd/openssh/lib/libssh.a. Stop
Verified in an amd64 build that the compat i386 pam_ssh.so is linked
correctly:
    (chroot HEAD)# ldd /usr/lib/i386/security/pam_ssh.so.4
    /usr/lib/i386/security/pam_ssh.so.4:
            -lssh.50 => /usr/lib/i386/private/libssh.so.50
            -lcrypto.16 => /usr/lib/i386/libcrypto.so.16
            -lcrypt.1 => /usr/lib/i386/libcrypt.so.1
            -lgcc_s.1 => /usr/lib/i386/libgcc_s.so.1
            -lc.12 => /usr/lib/i386/libc.so.12
            -lz.1 => /usr/lib/i386/libz.so.1

PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib


wg-keygen(8): Find private libssh.so.
Should fix:
    /usr/sbin/wg-keygen: Shared object "libssh.so.50" not found
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib


evbarm/instkernel/sshramdisk: Get libssh out of objdir now.
Should fix problems like:
    --- ramdiskbin.link ---
    #      link  sshramdisk/ramdiskbin.link
    /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o
ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro
chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro
fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro
newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro
progress.cro dhcpcd.cro  libhack.o
-ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
    /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: cannot find -lssh: No such file or directory
    /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: have you installed the static version of the
ssh library ?
    collect2: error: ld returned 1 exit status
    *** Failed target: ramdiskbin.link
    *** In directory: /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-obj/home/source/ab/HEAD/src/distrib/evbarm/instkernel/sshramdisk
    *** Failed commands:
            ${_MKTARGET_LINK}
            => @@echo '#  ' "   link " sshramdisk/ramdiskbin.link
            ${_CCLINK.${:Uramdiskbin}}  ${_LDFLAGS.${:Uramdiskbin}} ${_LDSTATIC.${:Uramdiskbin}} -o ${.TARGET}  ${OBJS.${:Uramdiskbin}} ${_PROGLDOPTS} ${_LDADD.${:Uramdiskbin}}
            => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o
ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro
chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro
fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro
newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro
progress.cro dhcpcd.cro
 libhack.o -ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
            ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${:Uramdiskbin}}
            => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/nbctfmerge -t -g -L VERSION -g -o ramdiskbin.link ramdiskbin.o
    *** [ramdiskbin.link] Error code 1
PR lib/58648: private shared libraries should go in
/usr/lib/private, not /usr/lib


distrib/sets/lists/comp: libssh is private for lint too.
Might fix:
    checkflist ===> distrib/sets
    ======  1 missing files in DESTDIR  ========
    Files in flist but missing from DESTDIR.
    File wasn't installed ?
    ------------------------------------------
    ./usr/libdata/lint/llib-lssh.ln
    ========  end of 1 missing files  ==========
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib

PR/58648: Fix MKDEBUG=yes build:
1. if NOLINKLIB is set don't install libfoo_g.a and libfoo_p.a libraries.
   libfoo.a, libfoo_p.a were not being installed already, just make the
   testing consistent
2. Move .a libraries from shl.mi to mi where they belong.
3. Make stray libfoo_g.a libraries that were install accidentally before
   obsolete.

rescue/list: Touch for CRUNCHGEN_FLAGS change for libssh.
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.455 2025/06/27 21:36:22 andvar Exp $
a929 4
LIBSUBDIR	If nonempty, subdirectory of LIBDIR where this library
		is installed.
		Default: Empty.

a1005 12
LIBDPSUBDIRS/
PROGDPSUBDIRS/	A list of subdirectory paths _subdir_ for which the
		ldflags

			-L${SHLIBDIR}/${_subdir_}
			-Wl,-rpath,${SHLIBDIR}/${_subdir_}

		should be added, for libraries or programs that depend
		on libraries which are installed in nonstandard
		locations like /usr/lib/private.
		Default: Empty.

@


1.454
log
@no more libbind9
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.453 2024/11/02 22:02:39 christos Exp $
d331 1
a331 1
MAKELINKLIB	Defaults to ${MKLINKLIB} but can be overriden by Makefiles
d333 1
a333 1
MAKESTATICLIB	Defaults to ${MKSTATICLIB} but can be overriden by Makefiles
@


1.453
log
@make zstd a private library (for now)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.452 2024/10/31 23:56:44 christos Exp $
a1315 1
		LIBBIND9?=		${DESTDIR}/usr/lib/libbind9.a
@


1.452
log
@Add zstd
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.451 2024/10/23 00:45:58 kalvisd Exp $
a1417 1
		LIBZSTD?=		${DESTDIR}/usr/lib/libzstd.a
@


1.451
log
@Add mopcopy as a build tool for the VAX port.

OK rin@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.450 2024/09/24 14:25:43 christos Exp $
d1418 1
@


1.450
log
@Add some new X libraries, sort again. There are more missing...
(run ./compare-lib-lists after you install the .mk files)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.449 2024/06/28 21:58:24 riastradh Exp $
d654 3
@


1.449
log
@bsd.lib.mk: Resolve VERSION_MAP like a target prerequisite.

Not sure what I did before to make ${${VERSION_MAP}:P} fail to work;
can't reproduce it any more!

PR lib/58376
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.448 2024/06/28 20:45:26 riastradh Exp $
d1426 1
d1435 2
d1438 1
d1441 1
d1443 1
a1443 1
		LIBX11_XCB?=		${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
d1445 1
d1449 1
@


1.448
log
@bsd.lib.mk: New variable VERSION_MAP.

This updates LDFLAGS with the right -Wl,--version-script=... argument
as well as DPADD so that changing the version script causes the
library to be rebuilt.

Name chosen to match FreeBSD.

PR lib/58376
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.447 2024/04/05 01:16:00 christos Exp $
d1017 2
a1018 5
		library.  If a relative path, interpreted relative to
		the object directory; use ${.CURDIR}/foo.map if foo.map
		is in the source directory.  Interpretation of relative
		path may be changed later to search .PATH like target
		prerequisites.
@


1.447
log
@- Create 3 new variables:
  MAKELINKLIB that follows MKLINKLIB but can be overwritten by Makefiles
  MAKESTATICLIB that follows MKSTATICLIB but can be overwritten by Makefiles
  LINKINSTALL that follows MAKELINKLIB but can be overwritten by Makefiles
  These give enough control to the module Makefiles so that they don't need
  to override the default library install rules which break the debug sets.
- Remove /usr/libexec/named which duplicated /usr/lib/named
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.446 2024/03/23 21:56:47 riastradh Exp $
d1016 7
@


1.447.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.449 2024/06/28 21:58:24 riastradh Exp $
a1015 4
VERSION_MAP	Path to an ld version script to use when linking the
		library.  Resolved from .PATH like a target
		prerequisite.

@


1.447.2.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.455 2025/06/27 21:36:22 andvar Exp $
d331 1
a331 1
MAKELINKLIB	Defaults to ${MKLINKLIB} but can be overridden by Makefiles
d333 1
a333 1
MAKESTATICLIB	Defaults to ${MKSTATICLIB} but can be overridden by Makefiles
a653 3
TOOL_VAXMOPCOPY		Creates a MOP image from another executable format.
			[vax-mopcopy]

d1313 1
a1425 1
		LIBEGL?=		${DESTDIR}/usr/X11R7/lib/libEGL.a
a1433 2
		LIBGLW?=		${DESTDIR}/usr/X11R7/lib/libGLw.a
		LIBI810XVMC		4{DESTDIR}/usr/X11R7/lib/libI810XvMC.a
a1434 1
		LIBINTELXVMC		${DESTDIR}/usr/X11R7/lib/libIntelXvMC.a
d1437 1
a1438 2
		LIBX11?=		${DESTDIR}/usr/X11R7/lib/libX11.a
		LIBXRES?=		${DESTDIR}/usr/X11R7/lib/libXres.a
a1439 1
		LIBXAU7?=		${DESTDIR}/usr/X11R7/lib/libXau7.a
a1442 1
		LIBXCURSOR?=		${DESTDIR}/usr/X11R7/lib/libXcursor.a
@


1.446
log
@bsd.lib.mk: Tidy up expected symbols check a little.

Add some documentation in bsd.README.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.445 2023/07/22 18:50:31 lukem Exp $
d331 4
d349 3
@


1.445
log
@bsd.README: sync with mk.conf(5), deduping entries

Remove most duplication of variables already documented in mk.conf(5).
Add lists of supported and obsolete mk.conf(5) variables
so that searches in this document at least find them
(as per BUILDING).

Sync text from mk.conf(5) for entries that remain.
Explicitly document DESTDIR and RELEASEDIR.

Replace MKMAN=no antipattern with NOMAN=.

Consistently use "option" versus "flag"; option is more generic,
and may include a flag with an argument.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.444 2023/06/05 22:36:58 lukem Exp $
d996 14
@


1.444
log
@bsd.README: update to reality, sync from mk.conf(5)

Sync user variables from mk.conf(5), sorted.
(Arguably this could just refer to mk.conf(5)
or share/man/man5/mk.conf.5 and remove the copypasta.)

Document NOxxx overrides in own subsection.

Unexpand tabs, tweak after.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.443 2023/05/24 10:07:16 lukem Exp $
d74 1
a74 1
		flags for such a command.
d103 68
a170 9
The following variables control how things are made/installed that
are not set by default. These should not be set by Makefiles; they're for
the user to define in MAKECONF (see <bsd.own.mk>, below, or mk.conf(5))
or on the make(1) command line:

BUILD		If defined, 'make install' checks that the targets in the
		source directories are up-to-date and re-makes them if
		they are out of date, instead of blindly trying to
		install out of date or non-existent targets.
a173 1082
BUILDID		Identifier for the build.  If set, this should be a short
		string that is suitable for use as part of a file or
		directory name.  The identifier will be appended to
		object directory names, and can be consulted in the
		make(1) configuration file in order to set additional
		build parameters, such as compiler flags.  It will also
		be used as part of the kernel version string, which can
		be shown by "uname -v".

		Default: Unset.

BUILDINFO	Optional multi-line string containing information about
		the build.  This will appear in DESTDIR/etc/release, and
		it will be stored in the buildinfo variable in any
		kernels that are built.  When such kernels are booted,
		the sysctl(7) kern.buildinfo variable will report this
		value.  The string may contain backslash escape
		sequences, such as "\\" (representing a backslash
		character) and "\n" (representing a newline).

		Default: Unset.

BUILDSEED	g++(1) uses random numbers when compiling C++ code.  This
		variable seeds the g++(1) random number generator using
		-frandom-seed with this value.  By default, it is set to
		"NetBSD-(majorversion)".  Using a fixed value causes C++
		binaries to be the same when built from the same sources,
		resulting in identical (reproducible) builds.  Additional
		information is available in the g++(1) documentation of
		-frandom-seed.

		Default: Unset.

MAKEVERBOSE	Level of verbosity of status messages.  Supported values:

		0   No descriptive messages or commands executed by
		    make(1) are shown.

		1   Brief messages are shown describing what is being
		    done, but the actual commands executed by make(1) are
		    not displayed.

		2   Descriptive messages are shown as above (prefixed
		    with a `#'), and ordinary commands performed by
		    make(1) are displayed.

		3   In addition to the above, all commands performed by
		    make(1) are displayed, even if they would ordinarily
		    have been hidden through use of the "@@" prefix in the
		    relevant makefile.

		4   In addition to the above, commands executed by
		    make(1) are traced through use of the sh(1) "-x"
		    flag.

		Default: 2

MKAMDGPUFIRMWARE
		Can be set to "yes" or "no".  Indicates whether to
		install the /libdata/firmware/amdgpu directory, which is
		necessary for the amdgpu(4) AMD RADEON GPU video driver.

		Default: "yes" on i386 and x86_64; "no" on other
		platforms.

MKARGON2	Can be set to "yes" or "no".  Indicates whether the
		Argon2 hash is enabled in libcrypt.

		Default: "yes"

MKARZERO	Can be set to "yes" or "no".  Indicates whether ar(1)
		should zero the timestamp, uid, and gid in the archive
		for reproducible builds.

		Default: The value of MKREPRO (if defined), otherwise
		"no".

MKATF		Can be set to "yes" or "no".  Indicates whether the
		Automated Testing Framework (ATF) will be built and
		installed.  This also controls whether the NetBSD test
		suite will be built and installed, as the tests rely on
		ATF and cannot be built without it.

		Forced to "no" if MKCXX=no.

		Default: "yes"

MKBFD		Obsolete, use MKBINUTILS.

MKBINUTILS	Can be set to "yes" or "no".  Indicates whether any of
		the binutils tools or libraries will be built and
		installed.  That is, the libraries libbfd, libiberty, or
		any of the things that depend upon them, e.g.  as(1),
		ld(1), dbsym(8), or mdsetimage(8).

		Forced to "no" if TOOLCHAIN_MISSING!=no.

		Default: "yes"

MKBSDGREP	Can be set to "yes" or "no".  Determines which
		implementation of grep(1) will be built and installed.
		If "yes", use the BSD implementation.  If "no", use the
		GNU implementation.

		Default: "no"

MKBSDTAR	Can be set to "yes" or "no".  Determines which
		implementation of cpio(1) and tar(1) will be built and
		installed.  If "yes", use the libarchive-based
		implementations.  If "no", use the pax(1) based
		implementations.

		Default: "yes"

MKCATPAGES	Can be set to "yes" or "no".  Indicates whether
		preformatted plaintext manual pages will be created and
		installed.

		Forced to "no" if MKMAN=no or MKSHARE=no.

		Default: "no"

MKCLEANSRC	Can be set to "yes" or "no".  Indicates whether `make
		clean' and `make cleandir' will delete file names in
		CLEANFILES or CLEANDIRFILES from both the object
		directory, .OBJDIR, and the source directory, .SRCDIR.

		If "yes", then these file names will be deleted relative
		to both .OBJDIR and .CURDIR.  If "no", then the deletion
		will be performed relative to .OBJDIR only.

		Default: "yes"

MKCLEANVERIFY	Can be set to "yes" or "no".  Controls whether `make
		clean' and `make cleandir' will verify that files have
		been deleted.  If "yes", then file deletions will be
		verified using ls(1).  If "no", then file deletions will
		not be verified.

		Default: "yes"

MKCOMPAT	Can be set to "yes" or "no".  Indicates whether support
		for multiple ABIs is to be built and installed.

		Forced to "no" if NOCOMPAT is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "yes" on aarch64 (without gcc), mips64,
		powerpc64, riscv64, sparc64, and x86_64; "no" on other
		platforms.

MKCOMPATMODULES
		Can be set to "yes" or "no".  Indicates whether the
		compat kernel modules will be built and installed.

		Forced to "no" if MKCOMPAT=no.

		Default: "yes" on evbppc-powerpc and mips64; "no" on
		other platforms.

MKCOMPATTESTS	Can be set to "yes" or "no".  Indicates whether the
		NetBSD test suite for src/compat will be built and
		installed.

		Forced to "no" if MKCOMPAT=no.

		Default: "no"

MKCOMPATX11	Can be set to "yes" or "no".  Indicates whether the X11
		libraries will be built and installed.

		Forced to "no" if MKCOMPAT=no.

		Default: "no"

MKCOMPLEX	Can be set to "yes" or "no".  Indicates whether the Math
		Library (libm, -lm) is compiled with support for
		<complex.h>.

		Default: "yes"

MKCROSSGDB	Can be set to "yes" or "no".  Create a cross-gdb as a
		host tool.

		Default: "no"

MKCRYPTO	Obsolete.

MKCTF		Can be set to "yes" or "no".  Indicates whether CTF tools
		are to be built and installed.  If "yes", the tools will
		be used to generate and manipulate CTF data of ELF
		binaries during build.

		Forced to "no" if NOCTF is defined, usually in the
		Makefile before any make(1) .include directives.

		This is disabled internally for standalone programs in
		/usr/mdec.

		Default: "yes" on aarch64, amd64, and i386; "no" on other
		platforms.

MKCVS		Can be set to "yes" or "no".  Indicates whether cvs(1)
		will be built and installed.

		Default: "yes"

MKCXX		Can be set to "yes" or "no".  Indicates whether C++
		support is enabled.

		If "no", C++ compilers and software will not be built,
		and acts as MKATF=no MKGCCCMDS=no MKGDB=no MKGROFF=no
		MKKYUA=no.

		Default: "yes"

MKDEBUG		Can be set to "yes" or "no".  Indicates whether debug
		information should be generated for all userland
		binaries.  The result is collected as an additional
		debug.tgz and xdebug.tgz set and installed in
		DESTDIR/usr/libdata/debug.

		Forced to "no" if NODEBUG is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "no"

MKDEBUGKERNEL	Can be set to "yes" or "no".  Indicates whether debugging
		symbols will be built for kernels by default; pretend as
		if makeoptions DEBUG="-g" is specified in kernel
		configuration files.  This will also put the debug kernel
		netbsd.gdb in the kernel sets.  See options(4) for
		details.  This is useful if a cross-gdb is built as well
		(see MKCROSSGDB).

		Default: "no"

MKDEBUGLIB	Can be set to "yes" or "no".  Indicates whether debug
		libraries (lib*_g.a) will be built and installed.  Debug
		libraries are compiled with "-g -DDEBUG".

		Forced to "no" if NODEBUGLIB is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "no"

MKDEBUGTOOLS	Can be set to "yes" or "no".  Indicates whether debug
		information (lib*_g.a) will be included in the build
		toolchain.

		Default: "no"

MKDEPINCLUDES	Can be set to "yes" or "no".  Indicates whether to add
		.include statements in the .depend files instead of
		inlining the contents of the *.d files.  This is useful
		when stale dependencies are present, to list the exact
		files that need refreshing, but it is possibly slower
		than inlining.

		Default: "no"

MKDOC		Can be set to "yes" or "no".  Indicates whether system
		documentation destined for DESTDIR/usr/share/doc will be
		installed.

		Forced to "no" if NODOC is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKSHARE=no.

		Default: "yes"

MKDTB		Can be set to "yes" or "no".  Indicates whether the
		devicetree blobs will be built and installed.

		Default: "yes" on aarch64, armv6, armv7, riscv32, and
		riscv64; "no" on other platforms.

MKDTC		Can be set to "yes" or "no".  Indicates whether the
		Device Tree Compiler (dtc) will be built and installed.

		Default: "yes"

MKDTRACE	Can be set to "yes" or "no".  Indicates whether the
		kernel modules, utilities, and libraries for dtrace(1)
		support are to be built and installed.

		Default: "yes" on aarch64, amd64, and i386; "no" on other
		platforms.

MKDYNAMICROOT	Can be set to "yes" or "no".  Indicates whether all
		programs should be dynamically linked, and to install
		shared libraries required by /bin and /sbin and the
		shared linker ld.elf_so(1) into /lib.  If "no", link
		programs in /bin and /sbin statically.

		Default: "no" on ia64; "yes" on other platforms.

MKEXTSRC	Obsolete.

MKFIRMWARE	Can be set to "yes" or "no".  Indicates whether to
		install the /libdata/firmware directory, which is
		necessary for various drivers, including: athn(4),
		bcm43xx(4), bwfm(4), ipw(4), iwi(4), iwm(4), iwn(4),
		otus(4), ral(4), rtwn(4), rum(4), run(4), urtwn(4),
		wpi(4), zyd(4), and the Tegra 124 SoC.

		Default: "yes" on amd64, cobalt, evbarm, evbmips, evbppc,
		hpcarm, hppa, i386, mac68k, macppc, sandpoint, and
		sparc64; "no" on other platforms.

MKGCC		Can be set to "yes" or "no".  Indicates whether gcc(1) or
		any related libraries (libg2c, libgcc, libobjc,
		libstdc++) will be built and installed.

		Forced to "no" if TOOLCHAIN_MISSING!=no or
		EXTERNAL_TOOLCHAIN is defined.

		Default: "yes"

MKGCCCMDS	Can be set to "yes" or "no".  Indicates whether gcc(1)
		will be built and installed.  If "no", then MKGCC
		controls if the GCC libraries will be built and
		installed.

		Forced to "no" if MKCXX=no.

		Default: "no" on m68000; "yes" on other platforms.

MKGDB		Can be set to "yes" or "no".  Indicates whether gdb(1)
		will be built and installed.

		Forced to "no" if MKCXX=no or TOOLCHAIN_MISSING!=no.

		Default: "no" on ia64 and or1k; "yes" on other platforms.

MKGROFF		Can be set to "yes" or "no".  Indicates whether groff(1)
		will be built, installed, and used to format some of the
		PostScript and PDF documentation.

		Forced to "no" if MKCXX=no.

		Default: "yes"

MKGROFFHTMLDOC	Can be set to "yes" or "no".  Indicates whether to use
		groff(1) to generate HTML for miscellaneous articles
		which sometimes requires software not in the base
		installation.  Does not affect the generation of HTML man
		pages.

		Default: "no"

MKHESIOD	Can be set to "yes" or "no".  Indicates whether the
		Hesiod infrastructure (libraries and support programs)
		will be built and installed.

		Default: "yes"

MKHOSTOBJ	Can be set to "yes" or "no".  If "yes", then for programs
		intended to be run on the compile host, the name,
		release, and architecture of the host operating system
		will be suffixed to the name of the object directory
		created by "make obj".  (This allows multiple host
		systems to compile NetBSD for a single target.)	 If "no",
		then programs built to be run on the compile host will
		use the same object directory names as programs built to
		be run on the target.

		Default: "no"

MKHTML		Can be set to "yes" or "no".  Indicates whether the HTML
		manual pages are created and installed.

		Forced to "no" if NOHTML is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKMAN=no or MKSHARE=no.

		Default: "yes"

MKIEEEFP	Can be set to "yes" or "no".  Indicates whether code for
		IEEE754/IEC60559 conformance will be built and installed.
		Has no effect on most platforms.

		Default: "yes"

MKINET6		Can be set to "yes" or "no".  Indicates whether INET6
		(IPv6) infrastructure (libraries and support programs)
		will be built and installed.

		Note: MKINET6 must not be set to "no" if MKX11!=no.

		Default: "yes"

MKINFO		Can be set to "yes" or "no".  Indicates whether GNU Info
		files, used for the documentation for most of the
		compilation tools, will be built and installed.

		Forced to "no" if NOINFO is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKSHARE=no.

		Default: "yes"

MKIPFILTER	Can be set to "yes" or "no".  Indicates whether the
		ipf(4) programs, headers, and other components will be
		built and installed.

		Default: "yes"

MKISCSI		Can be set to "yes" or "no".  Indicates whether the iSCSI
		library and applications are built and installed.

		Default: "no" on m68000; "yes" on other platforms.

MKKDEBUG	Deprecated, use MKDEBUGKERNEL.

MKKERBEROS	Can be set to "yes" or "no".  Indicates whether the
		Kerberos v5 infrastructure (libraries and support
		programs) will be built and installed.  Caution: the
		default pam(8) configuration requires that Kerberos be
		present even if not used.  Do not install a userland
		without Kerberos without also either updating the
		pam.conf(5) files or disabling PAM via MKPAM.  Otherwise
		all logins will fail.

		Default: "yes"

MKKERBEROS4	Obsolete.

MKKMOD		Can be set to "yes" or "no".  Indicates whether kernel
		modules will be built and installed.

		Default: "no" on or1k; "yes" on other platforms.

MKKYUA		Can be set to "yes" or "no".  Indicates whether Kyua (the
		testing infrastructure used by NetBSD) will be built and
		installed.

		Forced to "no" if MKCXX=no.

		Note: This does not control the installation of the tests
		themselves.  The tests rely on the ATF libraries and
		therefore their build is controlled by the MKATF
		variable.

		Default: "no" until the import of Kyua is done and
		validated.

MKLDAP		Can be set to "yes" or "no".  Indicates whether the
		Lightweight Directory Access Protocol (LDAP)
		infrastructure (libraries and support programs) will be
		built and installed.

		Default: "yes"

MKLIBCSANITIZER
		Can be set to "yes" or "no".  Indicates whether to use
		the sanitizer for libc, using the sanitizer defined by
		USE_LIBCSANITIZER.

		Forced to "no" if NOLIBCSANITIZER is defined, usually in
		the Makefile before any make(1) .include directives.

		Default: "no"

MKLIBCXX	Can be set to "yes" or "no".  Indicates if libc++ will be
		built and installed (usually for clang++(1)).

		Default: "yes" if MKLLVM=yes; "no" otherwise.

MKLIBSTDCXX	Can be set to "yes" or "no".  Indicates if libstdc++ will
		be built and installed (usually for g++(1)).

		Default: "yes"

MKLINKLIB	Can be set to "yes" or "no".  Indicates whether all of
		the shared library infrastructure will be built and
		installed.

		If "no", prevents:
		-   installation of the *.a libraries
		-   installation of the *_pic.a libraries on PIC systems
		-   building of *.a libraries on PIC systems
		-   installation of .so symlinks on ELF systems

		I.e, only install the shared library (and the .so.major
		symlink on ELF).

		Forced to "no" if NOLINKLIB is defined, usually in the
		Makefile before any make(1) .include directives.

		If "no", acts as MKLINT=no MKPICINSTALL=no MKPROFILE=no.

		Default: "yes"

MKLINT		Can be set to "yes" or "no".  Indicates whether lint(1)
		will be run against portions of the NetBSD source code
		during the build, and whether lint libraries will be
		installed into DESTDIR/usr/libdata/lint.

		Forced to "no" if NOLINT is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKLINKLIB=no.

		Default: "no"

MKLLD		Obsolete.

MKLLDB		Obsolete.

MKLLVM		Can be set to "yes" or "no".  Indicates whether clang(1)
		is installed as a host tool and target compiler.

		If "yes", acts as MKLIBCXX=yes.

		Note: Use of clang(1) as the system compiler is
		controlled by HAVE_LLVM.

		Default: "no"

MKLLVMRT	Can be set to "yes" or "no".  Indicates whether to build
		the LLVM PIC libraries necessary for the various Mesa
		backend and the native JIT of the target architecture, if
		supported.  (Radeon R300 and newer, LLVMPIPE for most.)

		Default: If MKX11=yes and HAVE_MESA_VER>=19, "yes" on
		aarch64, amd64, and i386; "no" otherwise.

MKLVM		Can be set to "yes" or "no".  If not "no", build and
		install the logical volume manager.

		Default: "yes"

MKMAKEMANDB	Can be set to "yes" or "no".  Indicates if the whatis
		tools (apropos(1), whatis(1), getNAME(8), makemandb(8),
		and makewhatis(8)), should be built, installed, and used
		to create and install the whatis.db.

		Default: "yes"

MKMAN		Can be set to "yes" or "no".  Indicates whether manual
		pages will be installed.

		Forced to "no" if NOMAN is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKSHARE=no.

		If "no", acts as MKCATPAGES=no MKHTML=no.

		Default: "yes"

MKMANDOC	Can be set to "yes" or "no".  Indicates whether mandoc(1)
		will be built and installed, and used to create and
		install catman and HTML pages.

		If "no", use groff(1) instead of mandoc(1).

		Forced to "no" if NOMANDOC or NOMANDOC.<target> (for a
		given target <target>) is defined, usually in the Makefile
		before any make(1) .include directives.

		Only used if MKMAN=yes.

		Default: "yes"

MKMANZ		Can be set to "yes" or "no".  Indicates whether manual
		pages should be compressed with gzip(1) at installation
		time.

		Only used if MKMAN=yes.

		Default: "no"

MKMCLINKER	Obsolete.

MKMDNS		Can be set to "yes" or "no".  Indicates whether the mDNS
		(Multicast DNS) infrastructure (libraries and support
		programs) will be built and installed.

		Default: "yes"

MKNLS		Can be set to "yes" or "no".  Indicates whether Native
		Language System (NLS) locale zone files will be built and
		installed.

		Forced to "no" if NONLS is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKSHARE=no.

		Default: "yes"

MKNOUVEAUFIRMWARE
		Can be set to "yes" or "no".  Indicates whether to
		install the /libdata/firmware/nouveau directory, which is
		necessary for the nouveau(4) NVIDIA video driver.

		Default: "yes" on aarch64, i386, and x86_64, "no" on
		other platforms.

MKNPF		Can be set to "yes" or "no".  Indicates whether the NPF
		packet filter is to be built and installed.

		Default: "yes"

MKNSD		Can be set to "yes" or "no".  Indicates whether the Name
		Server Daemon (NSD) is to be built and installed.

		Default: "no"

MKOBJ		Can be set to "yes" or "no".  Indicates whether object
		directories will be created when running "make obj".  If
		"no", then all built files will be located inside the
		regular source tree.

		Forced to "no" if NOOBJ is defined, usually in the
		Makefile before any make(1) .include directives.

		If "no", acts as MKOBJDIRS=no.

		Note: Setting MKOBJ to "no" is not recommended and may
		cause problems when updating the tree with cvs(1).

		Default: "yes"

MKOBJDIRS	Can be set to "yes" or "no".  Indicates whether object
		directories will be created automatically (via a "make
		obj" pass) at the start of a build.

		Forced to "no" if MKOBJ=no.

		Default: "no"

MKPAM		Can be set to "yes" or "no".  Indicates whether the
		pam(8) framework (libraries and support files) will be
		built and installed.  The pre-PAM code is not supported
		and may be removed in the future.

		Default: "yes"

MKPCC		Can be set to "yes" or "no".  Indicates whether pcc(1) or
		any related libraries (libpcc, libpccsoftfloat) will be
		built and installed.

		Default: "no"

MKPERFUSE	Obsolete.

MKPF		Can be set to "yes" or "no".  Indicates whether the pf(4)
		programs, headers, and LKM will be built and installed.

		Default: "yes"

MKPIC		Can be set to "yes" or "no".  Indicates whether shared
		objects and libraries will be created and installed.  If
		"no", the entire built system will be statically linked.

		Forced to "no" if NOPIC is defined, usually in the
		Makefile before any make(1) .include directives.

		If "no", acts as MKPICLIB=no.

		Default: "no" on m68000; "yes" on other platforms.

MKPICINSTALL	Can be set to "yes" or "no".  Indicates whether the ar(1)
		format libraries (lib*_pic.a), used to generate shared
		libraries, are installed.

		Forced to "no" if NOPICINSTALL is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKLINKLIB=no.

		Default: "no"

MKPICLIB	Can be set to "yes" or "no".  Indicates whether the ar(1)
		format libraries (lib*_pic.a), used to generate shared
		libraries.

		Forced to "no" if MKPIC=no.

		Default: "no" on vax; "yes" on other platforms.

MKPIE		Indicates whether Position Independent Executables (PIE)
		will be built and installed.

		Forced to "no" if NOPIE is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if COVERITY_TOP_CONFIG is defined.

		This is disabled internally for standalone programs in
		/usr/mdec.

		Default: "yes" on aarch64, arm, i386, m68k, mips, sh3,
		sparc64, and x86_64; "no" on other platforms.

MKPIGZGZIP	Can be set to "yes" or "no".  If "no", the pigz(1)
		utility is not installed as gzip(1).

		Default: "no"

MKPOSTFIX	Can be set to "yes" or "no".  Indicates whether Postfix
		will be built and installed.

		Default: "yes"

MKPROFILE	Can be set to "yes" or "no".  Indicates whether profiled
		libraries (lib*_p.a) will be built and installed.

		Forced to "no" if NOPROFILE is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if MKLINKLIB=no.

		Default: "no" on or1k, riscv32, and riscv64 (due to
		toolchain problems with profiled code); "yes" on other
		platforms.

MKRADEONFIRMWARE
		Can be set to "yes" or "no".  Indicates whether to
		install the /libdata/firmware/radeon directory, which is
		necessary for the radeon(4) AMD RADEON GPU video driver.

		Default: "yes" on aarch64, i386, and x86_64, "no" on
		other platforms.

MKRELRO		Indicates whether to enable support for Relocation Read-
		Only (RELRO).  Supported values:

		partial	 Set the non-PLT GOT to read-only.

		full	 Set the non-PLT GOT to read-only and also force
			 immediate symbol binding, unless NOFULLRELRO is
			 defined and not "no" (usually in the Makefile
			 before any make(1) .include directives).

		no	 Disable RELRO.

		Forced to "no" if NORELRO is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "partial" on aarch64, i386, and x86_64; "no" on
		other platforms.

MKREPRO		Can be set to "yes" or "no".  Indicates whether builds
		are to be reproducible.  If "yes", two builds from the
		same source tree will produce the same build results.

		Used as the default for MKARZERO.

		Default: "no"

MKREPRO_TIMESTAMP
		Unix timestamp.  When MKREPRO is set, the timestamp of
		all files in the sets will be set to this value.

		Default: Unset.

MKRUMP		Can be set to "yes" or "no".  Indicates whether the
		rump(3) headers, libraries, and programs are to be
		installed.

		Forced to "no" if COVERITY_TOP_CONFIG is defined.

		Default: "yes"

MKSANITIZER	Can be set to "yes" or "no".  Indicates whether to use
		the sanitizer to compile userland programs, using the
		sanitizer defined by USE_SANITIZER.

		Forced to "no" if NOSANITIZER is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "no"

MKSHARE		Can be set to "yes" or "no".  Indicates whether files
		destined to reside in DESTDIR/usr/share will be built and
		installed.

		Forced to "no" if NOSHARE is defined, usually in the
		Makefile before any make(1) .include directives.

		If "no", acts as MKCATPAGES=no MKDOC=no MKINFO=no
		MKHTML=no MKMAN=no MKNLS=no.

		Default: "yes"

MKSKEY		Can be set to "yes" or "no".  Indicates whether the S/key
		infrastructure (libraries and support programs) will be
		built and installed.

		Default: "yes"

MKSLJIT		Can be set to "yes" or "no".  Indicates whether to enable
		support for sljit (stack-less platform-independent Just
		in Time (JIT) compiler) private library and tests.

		Default: "yes" on i386, sparc, and x86_64; "no" on other
		platforms.

MKSOFTFLOAT	Can be set to "yes" or "no".  Indicates whether the
		compiler generates output containing library calls for
		floating point and possibly soft-float library support.

		Forced to "yes" on arm without `hf', coldfire, emips,
		or1k, and sh3.

		Default: "yes" on mips64; "no" on other platforms.

MKSTATICLIB	Can be set to "yes" or "no".  Indicates whether the
		normal static libraries (lib*_g.a) will be built and
		installed.

		Forced to "no" if NOSTATICLIB is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "yes"

MKSTATICPIE	Can be set to "yes" or "no".  Indicates whether support
		for static PIE binaries will be built and installed.
		These binaries use a special support in crt0.o for
		resolving relative relocations and require linker
		support.

		Default: "yes" on i386 and x86_64; "no" on other
		platforms.

MKSTRIPIDENT	Can be set to "yes" or "no".  Indicates whether RCS IDs,
		for use with ident(1), should be stripped from program
		binaries and shared libraries.

		Default: "no"

MKSTRIPSYM	Can be set to "yes" or "no".  Indicates whether all local
		symbols should be stripped from shared libraries.  If
		"yes", strip all local symbols from shared libraries; the
		effect is equivalent to the -x option of ld(1).  If "no",
		strip only temporary local symbols; the effect is
		equivalent to the -X option of ld(1).  Keeping non-
		temporary local symbols such as static function names is
		useful on using DTrace for userland libraries and getting
		a backtrace from a rump kernel loading shared libraries.

		Default: "yes"

MKTEGRAFIRMWARE
		Can be set to "yes" or "no".  Indicates whether to
		install the /libdata/firmware/nvidia directory, which is
		necessary for the NVIDIA Tegra XHCI driver.

		Default: "yes" on evbarm; "no" on other platforms.

MKTOOLSDEBUG	Deprecated, use MKDEBUGTOOLS.

MKTPM		Can be set to "yes" or "no".  Indicates whether to
		install the Trusted Platform Module (TPM) infrastructure.

		Default: "no"

MKUNBOUND	Can be set to "yes" or "no".  Indicates whether the
		unbound(8) DNS resolver will be built and installed.

		Default: "yes"

MKUNPRIVED	Can be set to "yes" or "no".  Indicates whether an
		unprivileged install will occur.  The user, group,
		permissions, and file flags, will not be set on the
		installed items; instead the information will be appended
		to a file called METALOG in DESTDIR.  The contents of
		METALOG is used during the generation of the distribution
		tar files to ensure that the appropriate file ownership
		is stored.  This allows a non-root `make install'.

		Default: "no"

MKUPDATE	Can be set to "yes" or "no".  Indicates whether all
		install operations intended to write to DESTDIR will
		compare file timestamps before installing, and skip the
		install phase if the destination files are up-to-date.

		Default: "no"

MKX11		Can be set to "yes" or "no".  Indicates whether X11 will
		be built and installed from X11SRCDIR, and whether the X
		sets will be created.

		Note: If "yes", requires MKINET6=yes.

		Default: "no"

MKX11FONTS	Can be set to "yes" or "no".  If "no", do not build and
		install the X fonts.  The xfont set is still created but
		will be empty.

		Only used if MKX11=yes.

		Default: "yes"

MKX11MOTIF	Can be set to "yes" or "no".  If "yes", build the native
		Xorg libGLw with Motif stubs.  Requires that Motif can be
		found via X11MOTIFPATH.

		Default: "no"

MKXORG_SERVER	Can be set to "yes" or "no".  Indicates whether the
		Xorg(7) X server and drivers will be built and installed.

		Default: "yes" on alpha, amd64, amiga, bebox, cats,
		dreamcast, ews4800mips, evbarm, evbmips, evbppc, hp300,
		hpcarm, hpcmips, hpcsh, hppa, i386, ibmnws, iyonix,
		luna68k, mac68k, macppc, netwinder, newsmips, pmax, prep,
		ofppc, sgimips, shark, sparc, sparc64, vax, and zaurus;
		"no" on other platforms.

MKYP		Can be set to "yes" or "no".  Indicates whether the YP
		(NIS) infrastructure (libraries and support programs)
		will be built and installed.

		Default: "yes"

MKZFS		Can be set to "yes" or "no".  Indicates whether the ZFS
		kernel module and the utilities and libraries used to
		manage the ZFS system are to be built and installed.

		Note: ZFS requires 64-bit atomic operations .

		Default: "yes" on aarch64, amd64, and sparc64; "no" on
		other platforms.

NETBSD_OFFICIAL_RELEASE
		Can be set to "yes" or "no".  Indicates whether the build
		creates an official NetBSD release which is going to be
		available from ftp.NetBSD.org and/or cdn.NetBSD.org
		locations.  This variable modifies a few default paths in
		the installer and also creates different links in the
		install documentation.  The auto-build cluster uses this
		variable to distinguish `daily' builds from real
		releases.

		Default: Unset.  ("no").

USE_FORT	Can be set to "yes" or "no".  Indicates whether the so-
		called "FORTIFY_SOURCE" security(7) extensions are
		enabled; see ssp(3) for details.  This imposes some
		performance penalty.

		Forced to "no" if NOFORT is defined, usually in the
		Makefile before any make(1) .include directives.

		Default: "no"

USE_HESIOD	Can be set to "yes" or "no".  Indicates whether Hesiod
		support is enabled in the various applications that
		support it.

		Forced to "no" if MKHESIOD=no.

		Default: "yes"

USE_INET6	Can be set to "yes" or "no".  Indicates whether INET6
		(IPv6) support is enabled in the various applications
		that support it.

		Forced to "no" if MKINET6=no.

		Default: "yes"

USE_JEMALLOC	Can be set to "yes" or "no".  Indicates whether the
		jemalloc allocator (which is designed for improved
		performance with threaded applications) is used instead
		of the phkmalloc allocator (that was the default until
		NetBSD 5.0).

		Default: "yes"

USE_KERBEROS	Can be set to "yes" or "no".  Indicates whether Kerberos
		v5 support is enabled in the various applications that
		support it.

		Forced to "no" if MKKERBEROS=no.

		Default: "yes"

USE_LDAP	Can be set to "yes" or "no".  Indicates whether LDAP
		support is enabled in the various applications that
		support it.

		Forced to "no" if MKLDAP=no.

		Default: "yes"

USE_LIBCSANITIZER
		Selects the sanitizer in libc to compile userland
		programs and libraries.  Supported values:

		undefined  Enables the micro-UBSan in the user mode
			   (uUBSan) undefined behaviour sanitizer.  The
			   code is shared with the kernel mode variation
			   (kUBSan).  The runtime runtime differs from
			   the UBSan available in MKSANITIZER.  The
			   runtime is stripped down from C++ features,
			   and is invoked with -fsanitize=no-vptr as that
			   sanitizer is not supported.  The runtime
			   configuration is restricted to the LIBC_UBSAN
			   environment variable, that is designed to be
			   safe for hardening.

		The value of USE_LIBCSANITIZER is passed to the C and C++
		compilers as the argument to -fsanitize=.  Additional
		sanitizer arguments can be passed through
		LIBCSANITIZERFLAGS.

		Disabled if MKLIBCSANITIZER=no.

		Default: "undefined".

USE_PAM		Can be set to "yes" or "no".  Indicates whether pam(8)
		support is enabled in the various applications that
		support it.

		Forced to "no" if MKPAM=no.

		Default: "yes"

USE_PIGZGZIP	Can be set to "yes" or "no".  Indicates whether pigz(1)
		is used instead of gzip(1) for multi-threaded gzip
		compression of the distribution tar sets.

		Default: "no"

USE_SKEY	Can be set to "yes" or "no".  Indicates whether S/key
		support is enabled in the various applications that
		support it.

		Forced to "no" if MKSKEY=no.

		Note: This is mutually exclusive to USE_PAM!=no.

		Default: "no"

USE_SSP		Can be set to "yes" or "no".  Indicates whether GCC
		stack-smashing protection (SSP) support, which detects
		stack overflows and aborts the program, is enabled.  This
		imposes some performance penalty (approximately 5%).

		This is disabled internally for standalone programs in
		/usr/mdec.

		Forced to "no" if NOSSP is defined, usually in the
		Makefile before any make(1) .include directives.

		Forced to "no" if COVERITY_TOP_CONFIG is defined.

		Default: "no" on alpha, hppa, ia64, and mips; "yes" on
		other platforms if USE_FORT=yes; "no" otherwise.

USE_XZ_SETS	Can be set to "yes" or "no".  Indicates whether the
		distribution tar files are to be compressed with xz(1)
		instead of gzip(1) or pigz(1).

		Forced to "no" if USE_PIGZGZIP=yes.

		Default: "yes" on aarch64, amd64, and sparc64, "no" on
		other platforms.

USE_YP		Can be set to "yes" or "no".  Indicates whether YP (NIS)
		support is enabled in the various applications that
		support it.

		Forced to "no" if MKYP=no.

		Default: "yes"

X11MOTIFPATH	Path of the Motif installation to use if MKX11MOTIF=yes.

		Default: "/usr/pkg"

d190 1
d258 4
a261 3
include the file specified by the "MAKECONF" variable.  If MAKECONF is not
set, or no such file exists, the system make configuration file, /etc/mk.conf
is included.  These files may define any of the variables described below.
d266 1
a266 1
NETBSDSRCDIR	Top of the NetBSD source tree.
d271 4
d303 7
a309 5
BSDSRCDIR	The real path to the system sources, so that 'make obj'
		will work correctly.  [/usr/src]

BSDOBJDIR	The real path to the system 'obj' tree, so that 'make obj'
		will work correctly.  [/usr/obj]
d354 1
a354 1
GZIP_N_FLAG	Flags to pass to TOOL_GZIP to prevent it from inserting
d367 6
a372 2
X11SRCDIR	The path to the xsrc tree.  [${NETBSDSRCDIR}/../xsrc,
		if that exists; otherwise /usr/xsrc]
d395 1
a395 1
STRIPFLAG	The flag passed to the install program to cause the binary
d400 1
a400 1
COPY		The flag passed to the install program to cause the binary
d431 3
a433 2
USETOOLS	Indicates whether the tools specified by ${TOOLDIR} should
		be used as part of a build in progress.
a436 1
			Must be set to this if cross-compiling.
d450 3
a452 4
		Default: "yes" if building all or part of a whole NetBSD
		source tree (detected automatically); "no" otherwise
		(to preserve traditional semantics of the <bsd.*.mk>
		make(1) include files).
a456 3
KERNEL_DIR	Install the kernel as /netbsd/kernel and the modules
		in /netbsd/modules, defaults to "no".

d458 4
a461 3
		If not "no", this indicates that the platform being built
		does not have a working in-tree toolchain.  If the
		${MACHINE_ARCH} in question falls into this category,
d465 4
a468 2
		If not "no", ${MKBINUTILS}, ${MKGCC}, and ${MKGDB} are
		unconditionally assigned the value "no".
d474 4
a477 2
		either in the user's environment or in the user's mk.conf
		file.  If defined, this variable indicates the root of
d483 7
a489 7
		If EXTERNAL_TOOLCHAIN is defined, ${MKGCC} is unconditionally
		assigned the value "no", since the external version of the
		compiler may not be able to build the library components of
		the in-tree compiler.

		This variable should be used in conjunction with an appropriate
		HAVE_GCC or HAVE_LLVM setting to control the compiler flags.
d491 1
a491 1
		NOTE: This variable is not yet used in as many places as
d794 3
a796 3
		*NOTE: These files are simply decoded, with no install or other
		       rule applying implicitly except being added to the clean
		       target.
d856 1
a856 1
INFOFLAGS	Flags to pass to makeinfo.  []
d864 2
a865 2
KERNSRCDIR	Is the location of the top of the kernel src.
		[${_SRC_TOP_}/sys]
d867 2
a868 1
KERNARCHDIR	Is the location of the machine dependent kernel sources.
d871 1
a871 1
KERNCONFDIR	Is where the configuration files for kernels are found.
d874 3
a876 3
KERNOBJDIR	Is the kernel build directory.  The kernel GENERIC for
		instance will be compiled in ${KERNOBJDIR}/GENERIC.
		The default value is
d878 2
a879 3
		if it exists or the target 'obj' is being made.
		Otherwise the default is
		${KERNSRCDIR}/${KERNARCHDIR}/compile.
a916 10
MKARZERO	Normally, ar(1) sets the timestamps, uid, gid and
		permissions in files inside its archives to those of
		the file it was fed. This leads to non-reproducible
		builds. If MKARZERO is set to "yes" (default is the
		same as MKREPRO, or "no" if MKREPRO is not defined),
		then the "D" flag is passed to ar, causing the
		timestamp, uid and gid to be zeroed and the file
		permissions to be set to 644. This allows .a files
		from different builds to be bit identical.

d1129 9
a1137 3
BUILDID		If set, the contents of this variable are appended
		to the object directory name.  If OBJMACHINE is also
		set, ".${BUILDID}" is added after ".${MACHINE}".
d1189 6
a1194 1
CONFIGOPTS	Additional flags to config(1) when building kernels.
d1196 2
a1197 1
COPTS		Additional flags to the compiler when creating C objects.
d1199 1
a1199 1
COPTS.<fn>	Additional flags to the compiler when creating the
d1203 7
a1209 2
CPUFLAGS	Additional flags to the compiler/assembler to select
		CPU instruction set options, CPU tuning options, etc.
d1211 3
a1213 1
CPUFLAGS.<fn>	Additional flags to the compiler/assembler for <fn>.
d1216 1
a1216 1
CPPFLAGS	Additional flags to the C pre-processor.
d1218 1
a1218 1
CPPFLAGS.<fn>	Additional flags to the C pre-processor for <fn>.
d1231 1
a1231 1
LDFLAGS		Additional linker flags (passed to ${CC} during link).
d1235 1
a1235 1
OBJCOPTS	Additional flags to the compiler when creating ObjC objects.
d1237 1
a1237 1
OBJCOPTS.<fn>	Additional flags to the compiler when creating the
d1247 1
a1247 1
		time, with the value of this variable as args to paxctl(1).
d1443 1
a1443 1
STRIPFLAG	The flag passed to the install program to cause the binary
d1480 2
a1481 1
If foo does not have a manual page at all, add the line:
d1483 1
a1483 1
	MKMAN=	no
d1504 1
a1504 1
RPC_SVCFLAGS	Additional flags passed to builds of RPC_SVCFILES.
d1615 1
a1615 1
CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.
d1617 1
a1617 1
CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.
d1647 10
a1656 6
BUILDSEED	GCC uses random numbers when compiling C++ code.
		If this option is present, seed the random number
		generator based on the value, source file names and
		the output file name to make builds more deterministic.
		Additional information is available in the GCC
		documentation of -frandom-seed.
d1661 1
d1667 1
a1667 1
CPUFLAGS	Optimization flags for ${CC}.  []
d1720 1
a1720 1
OBJCOPYLIBFLAGS Flags to pass to objcopy when library objects are
d1775 1
a1775 1
HOST_CFLAGS		The host c compiler flags
d1777 1
a1777 1
HOST_COMPILE.c		The host c compiler line with flags
d1779 1
a1779 1
HOST_COMPILE.cc		The host c++ compiler line with flags
d1783 1
a1783 1
HOST_CPPFLAGS		The host c pre-processor flags
d1787 1
a1787 1
HOST_CXXFLAGS		The host c++ compiler flags
d1797 1
a1797 1
HOST_LDFLAGS		The host linker flags
d1799 1
a1799 1
HOST_LINK.c		The host c linker line with flags
d1801 1
a1801 1
HOST_LINK.cc		The host c++ linker line with flags
@


1.443
log
@deprecate SHAREDSTRINGS build option

Hasn't worked for at least 20 years (and never in the cross-build environment,
nor did it work with parallel make), and has never been needed in NetBSD as we
don't have the older BSD programs (pascal, pre-nvi ex) that needed mkstr/xstr
on PDP-11.

PR toolchain/35964
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.442 2022/10/01 08:55:45 rillig Exp $
d8 4
a11 1
Note, this file is not intended to replace reading through the .mk
d72 1
a72 1
HOST_xxx	A command that runs on the host machine regardless of
d76 2
a77 2
MKxxx		Can be set to "no" to disable functionality, or
		"yes" to enable it.
d83 2
a84 2
		Makefile's setting of MKxxx, use
			env MKxxx=value make
d86 1
a86 1
			make MKxxx=value
d88 2
a89 1
NOxxx		If defined, disables a feature.
d93 4
a96 2
		NOxxx variables must be defined before <bsd.own.mk>
		is included.
d98 1
a98 1
TOOL_xxx	A tool that is provided as part of the USETOOLS
d100 1
a100 1
		TOOL_xxx variables should refer to tools that are
d108 61
a168 4
BUILD 		If defined, 'make install' checks that the targets in the
		source directories are up-to-date and remakes them if they
                are out of date, instead of blindly trying to install
                out of date or non-existent targets.
a169 1
MAKEVERBOSE	Control how "verbose" the standard make(1) rules are.
a170 26
		Supported values:
		    0	Minimal output ("quiet")
		    1	Describe what is occurring
		    2	Describe what is occurring and echo the actual command
		    3	Ignore the effect of the "@@" prefix in make commands
		    4	Trace shell commands using the shell's -x flag

MKARGON2	If "no", don't build support for Argon2 into libcrypt.
		Default: yes

MKATF		If "no", don't build the Automated Testing Framework (ATF),
		which includes the libatf-c, libatf-c++ and libatf-sh libraries
		and the various command line tools.  Also, because the build of
		the libraries is disabled, don't build the NetBSD test suite
		either.
		Default: yes

MKBFD		Obsolete, use MKBINUTILS

MKBINUTILS	If "no", don't build binutils (gas, ld, etc and libbfd,
		libopcodes)
		Default: yes

MKBSDTAR	If "yes", use the libarchive based cpio and tar instead of
		the pax frontends.
		Default: yes
d172 147
a318 2
MKCATPAGES	If "no", don't build or install the catman pages.
		Default: no
d320 1
a320 2
MKCOMPAT  	If "no", don't build or install the src/compat.
		Default: yes on amd64, mips64 and sparc64, no elsewhere.
d322 2
a323 3
MKCOMPATTESTS  	If "yes", build and install the NetBSD test suite when
		building and installing src/compat.
		Default: no
d325 3
a327 3
MKCOMPATX11  	If "yes", build and install the X11 libraries when
		building and installing src/compat.
		Default: no
d329 1
a329 2
MKCOMPATMODULES	If "no", don't build compat modules (xen, etc.)
		Default: yes
d331 5
a335 2
MKCOMPLEX	If "no", don't build libm support for <complex.h>
		Default: yes
d337 2
a338 4
MKCTF		If "no", do not build and install CTF tools, and also
		don't generate and manipulate CTF data of ELF binaries
		during build.
		Default: no
d340 1
a340 9
NETBSD_OFFICIAL_RELEASE
		If defined and set to "yes", the build targets an official
		NetBSD release which is going to be available from
		ftp.NetBSD.org / cdn.NetBSD.org. This modifies a few
		default paths in the installer and also creates different
		links in the install documentation.
		The auto-build cluster uses this variable to distinguish
		"daily" builds from real releases.
		Default: undefined (no)
d342 7
a348 2
NOCTF		Don't generate and manipulate CTF data of ELF binaries
		during build. It is set internally for standalone programs.
d350 1
a350 2
MKCVS		If "no", don't build or install cvs(1).
		Default: yes
d352 3
a354 3
MKDEBUG		If "no", don't build and install separate debugging symbols
		into /usr/libdata/debug.
		Default: no
d356 2
a357 2
NODEBUG		Don't compile with debugging symbols during build.
		It is set internally for standalone programs.
d359 1
a359 3
MKDEBUGLIB	Build *_g.a debugging libraries, which are compiled
		with -DDEBUG.
		Default: no
d361 3
a363 5
MKDEBUGKERNEL	If "yes", force building of kernel symbol info and creation
		of netbsd.gdb in all kernel builds, independently of the
		settings for "makeoptions DEBUG" in the kernel config file.
		The .gdb kernels will be included with the kernel sets.
		Default: no
d365 1
a365 2
MKDEBUGTOOLS	If "yes" build the tools with debugging symbols.
		Default: no
d367 3
a369 2
MKDEPINCLUDES	If "yes" issue .include statements in the .depend file
		instead of inlining the contents of the .d files. Useful
d371 85
a455 11
		files that need refreshing. It is off by default because
		it is possibly slower.
		Default "no"

MKDOC		If "no", don't build or install the documentation.
		Default: yes

MKDTRACE	If "no", do not build and install the kernel modules,
		utilities and libraries used to implement the dtrace(1)
		facility.
		Default: no
d457 1
a457 2
MKDTB		If "no", disables building of devicetree blobs.
		Default: yes on aarch64 and armv7, no elsewhere.
d459 4
a462 27
MKDYNAMICROOT	If "no", build programs in /bin and /sbin statically,
		don't install certain libraries in /lib, and don't
		install the shared linker into /libexec.
		Default: yes

MKFIRMWARE      If not "no", install the /libdata/firmware directory,
		which is necessary for several drivers: athn(4), bwfm(4),
		ipw(4), iwi(4), iwm(4), iwn(4), otus(4), rtwn(4), urtwn(4),
		wpi(4), ral(4), rum(4), run(4), zyd(4), bcm43xx(4), and
		the Tegra 124 SoC.
		Default: yes on amd64, cobalt, evbarm evbmips, evbppc, hpcarm,
		hppa, i386, mac68k, macppc, sandpoint, and sparc64, no elsewhere.

MKGCC		If "no", don't build gcc(1) or any of the GCC-related
		libraries (libgcc, libobjc, libstdc++).
		Default: yes

MKGCCCMDS	If "no", don't build gcc(1), but do build the GCC-related
		libraries (libgcc, libobjc, libstdc++).
		Default: yes

MKGDB		If "no", don't build gdb(1).
		Default: yes

MKGROFFHTMLDOC	If "no", avoid trying to use groff to generate html for
		miscellaneous articles, as this seems to sometimes want
		to run software not in base. Does not affect html man
a463 1
		Default: no
d465 27
a491 9
MKHESIOD	If "no", disables building of Hesiod infrastructure
		(libraries and support programs).
		Default: yes

MKHOSTOBJ	If not "no", for programs intended to be run on the compile
		host, the name, release, and architecture of the host
		operating system will be suffixed to the name of the object
		directory created by "make obj".
		Default: no
d493 1
a493 2
MKHTML		If "no", don't build or install the HTML man pages.
		Default: yes
d495 2
a496 1
MKIEEEFP	If "no", don't add code for IEEE754/IEC60559 conformance.
a497 1
		Default: yes
d499 87
a585 2
MKSTRIPIDENT	Strip the RCS IDs from program binaries and shared libraries.
		Default: no
d587 2
a588 50
MKINET6		If "no", disables building of INET6 (IPv6) infrastructure
		(libraries and support programs).  This option must not be
		set to "no" if MKX11 is not "no".
		Default: yes

MKINFO		If "no", don't build or install Info documentation from
		Texinfo source files.
		Default: yes

MKIPFILTER	If "no", don't build or install the IP Filter programs and LKM.
		Default: yes

MKISCSI		If "no", don't build or install iSCSI library or applications
		(depends on libpthread.)
		Default: yes

MKKERBEROS	If "no", disables building of Kerberos v5
		infrastructure (libraries and support programs).
		Default: yes

MKKMOD		If "no", disables building of kernel modules.
		Default: yes

MKKYUA		If "no", don't build Kyua nor its dependent library Lutok.
		Note that setting this to "no" does not disable the build of
		the NetBSD test suite itself; the build of the tests is
		controlled by the MKATF knob.
		Default: no (until the import is done and validated)

MKLDAP		If "no", disables building of LDAP infrastructure
		(libraries and support programs).
		Default: yes

MKLIBCSANITIZER	If "yes", use the selected sanitizer inside libc to compile
		userland programs and libraries as defined in
		USE_LIBCSANITIZER, which defaults to "undefined".

		The undefined behavior detector is currently the only supported
		sanitizer in this mode. Its runtime differs from the UBSan
		available in MKSANITIZER, and it is reimplemented from scratch
		as micro-UBSan in the user mode (uUBSan). Its code is shared
		with the kernel mode variation (kUBSan). The runtime is
		stripped down from C++ features, in particular -fsanitize=vptr
		is not supported and explicitly disabled. The only runtime
		configuration is restricted to the LIBC_UBSAN environment
		variable, that is designed to be safe for hardening.

		The USE_LIBCSANITIZER value is passed to the -fsanitize=
		argument to the compiler in CFLAGS and CXXFLAGS, but not in
		LDFLAGS, as the runtime part is located inside libc.
d590 1
a590 3
		Additional sanitizer arguments can be passed through
		LIBCSANITIZERFLAGS.
		Default: no
d592 3
a594 2
MKLIBCXX	If not "no", build and install libc++.
		Default: no
d596 5
a600 2
MKLIBSTDCXX	If not "no", build and install libstdc++.
		Default: yes
a601 6
MKLINKLIB	If "no", act as "MKLINT=no MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
a603 1
		Default: yes
d605 136
a740 2
MKLINT		If not "no", build and install the lint libraries.
		Default: no
d742 1
a742 4
MKLLVM		If "yes", build and install clang as host tool and target
		compiler.  Use as system compiler is enabled with HAVE_LLVM
		(see below for details).
		Default: no
d744 3
a746 19
MKLLVMRT	If "yes", build the LLVM PIC libraries necessary for the
		various Mesa backend and the native JIT of the target
		architecture, if supported.  (Radeon R300 and newer,
		LLVMPIPE for most.)
		Default: no, enabled automatically with X11 on x86 and aarch64.

MKLVM		If "no", don't build or install the logical volume manager
		and device mapper tools and libraries
		Default: yes

MKMAN		If "no", don't build or install the man or catman pages,
		and also acts as "MKCATPAGES=no MKHTML=no".
		Default: yes

MKMANDOC	If "yes", mandoc is built as tool and used to compile
		catman or html pages.  A directory can be exempted by
		defining NOMANDOC.  Individual man pages are exempted
		if NOMANDOC.${target} is set to "yes".
		Default: yes
d748 1
a748 2
MKMANZ		If not "no", compress manual pages at installation time.
		Default: no
d750 1
a750 11
MKMDNS		If "no", disables building of mDNS infrastructure
		(libraries and support programs).
		Default: yes

MKNLS		If "no", don't build or install the NLS files and locale
		definition files.
		Default: yes

MKNOUVEAUFIRMWARE If "yes", install the /libdata/firmware/nouveau directory,
		which is necessary for the nouveau DRM driver.
		Default: yes on x86 and aarch64, no elsewhere.
d752 4
a755 2
MKNPF		If "no", don't build or install the NPF and its modules.
		Default: yes
d757 1
a757 3
MKNSD		If "no", don't build or install the "nsd" DNS authoritative
		server.
		Default: no
d759 3
a761 3
MKOBJ		If "no", don't enable the rule which creates objdirs,
		and also acts as "MKOBJDIRS=no".
		Default: yes
d763 1
a763 2
MKOBJDIRS	If "no", don't create objdirs during a "make build".
		Default: no
d765 1
a765 3
MKPAM		If "no", disables building of PAM authentication
		infrastructure (libraries and support programs).
		Default: yes
d767 2
a768 3
MKPCC		If "no", don't build pcc(1) or any of the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no
d770 1
a770 2
MKPF		If "no", don't build or install the pf programs and LKM.
		Default: yes
d772 3
a774 16
MKPIC		If "no", don't build or install shared libraries, and
		also acts as "MKPICLIB=no"
		Default: yes (for MACHINE_ARCHs that support it)

MKPICINSTALL	If "no", don't install the *_pic.a libraries.
		Default: yes

MKPICLIB	If "no", don't build *_pic.a libraries, and build the
		shared object libraries from the .a libraries.
		A symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.
		Default: yes

MKPIE		If "no", create regular executables. Otherwise create
		PIE (Position Independent Executables).
		Default: depends on CPU architecture
d776 2
a777 2
NOPIE		Don't create PIE (Position Independent Executables)
		It is set internally for standalone programs.
d779 1
a779 2
MKPIGZGZIP	If "no", only install pigz as pigz, not gzip.
		Default: no
d781 1
a781 2
MKPOSTFIX	If "no", don't build or install postfix(1).
		Default: yes
d783 3
a785 2
MKPROFILE	If "no", don't build or install the profiling (*_p.a) libraries.
		Default: yes
d787 2
a788 15
MKRADEONFIRMWARE If "yes", install the /libdata/firmware/radeon directory,
		which is necessary for the radeon DRM driver.
		Default: yes on x86 and aarch64, no elsewhere.

MKRELRO		If "partial", set the non-PLT GOT to read-only. If "full"
		also force immediate symbol binding.
		Default: partial on x86 and aarch64, no elsewhere.

NOFULLRELRO	Don't compile with immediate symbol binding during build.
		It is set internally for standalone programs.

MKREPRO         If "yes", create reproducible builds. This enables
		different switches to make two builds from the same source tree
		result in the same build results.
		Default: no
d790 1
a790 19
MKSANITIZER	if "yes", use the selected sanitizer to compile userland
		programs as defined in USE_SANITIZER, which defaults to
		"address". A selection of available sanitizers:
			address:	A memory error detector (default)
			thread:		A data race detector
			memory:		An uninitialized memory read detector
			undefined:	An undefined behavior detector
			leak:		A memory leak detector
			dataflow:	A general data flow analysis
			cfi:		A control flow detector
			safe-stack:	Protect against stack-based corruption
			scudo:		The Scudo Hardened allocator
		It's possible to specify multiple sanitizers within the
		USE_SANITIZER option (comma separated). The USE_SANITIZER value
		is passed to the -fsanitize= argument to the compiler.
		Additional arguments can be passed through SANITIZERFLAGS.
		The list of supported features and their valid combinations
		depends on the compiler version and target CPU architecture.
		Default: no
d792 1
a792 18
MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
		MKMAN=no MKNLS=no".
		I.e, don't build catman pages, documentation, Info
		documentation, man pages, NLS files, ...
		Default: yes

MKSKEY		If "no", disables building of S/key authentication
		infrastructure (libraries and support programs).
		Default: yes

MKSLJIT		If "no", disables building of sljit (stack-less platform
		independent JIT compiler) private library and tests.
		Default: yes on amd64, i386 and sparc, no elsewhere.

MKSOFTFLOAT	If not "no", build with options to enable the compiler to
		generate output containing library calls for floating
		point and possibly soft-float library support.
		Default: no
d794 2
a795 1
MKSTATICLIB	If "no", don't build or install the normal static (*.a)
a796 1
		Default: yes
d798 183
a980 17
MKSTATICPIE	Compile in support for static pie binaries. These binaries
		use a special support in crt0.o for resolving relative
		relocations and require linker support.
		Default: yes on platforms that support it.

MKSTRIPSYM	If "yes", strip all local symbols from shared libraries;
		the affect is equivalent to -x option of ld(1). If "no",
		strip only temporary local symbols; the affect is equivalent
		to -X option of ld(1). Keeping non-temporary local symbols
		such as static function names is useful on using DTrace for
		userland libraries and getting a backtrace from a rump kernel
		loading shared libraries.
		Default: yes

MKTEGRAFIRMWARE	If "no", install the /libdata/firmware/nvidia directory,
		which is necessary for the NVIDIA Tegra XHCI driver.
		Default: yes on evbarm, no elsewhere.
d982 197
a1178 3
MKTPM		If "no" then don't build the Trusted Platform Module
		infrastructure.
		Default: no
d1180 1
a1180 2
MKUNBOUND	If not "no", build and install the "unbound" DNS resolver.
		Default: yes
d1182 2
a1183 5
MKUNPRIVED	If not "no", don't set the owner/group/mode when installing
		files or directories, and keep a metadata log of what
		the owner/group/mode should be.  This allows a
		non-root "make install".
		Default: no
d1185 3
a1187 4
MKUPDATE 	If not "no", 'make install' only installs targets that are
		more recently modified in the source directories that their
		installed counterparts.
		Default: no
d1189 1
a1189 4
MKX11		If not "no", 'make build' also descends into
		src/external/mit/xorg to cross-build X11 and automatically
		enables creation of X sets.
		Default: no
d1191 1
a1191 8
MKX11FONTS	If not "no", do not build or install the X fonts.  The xfont
		set is still created but will be empty.
		Default: yes

MKX11MOTIF:	If "yes", build the native X11 libGLw with Motif stubs.  If
		Motif is not installed in the default location /usr/pkg, the
		location can be specified using the X11MOTIFPATH variable.
		Default: no
d1193 1
a1193 47
MKYP		If "no", disables building of YP (NIS)
		infrastructure (libraries and support programs).
		Default: yes

MKZFS		If "no", do not build and install utilities and libraries
		used to manage ZFS file system. Do not build zfs and solaris
		compatibility kernel modules.  Note: ZFS requires 64bit
		atomic operations.
		Default: yes on aarch64, amd64 and sparc64, no elsewhere.

MKRUMP		If "no", do not build and install rump related headers,
		libraries, and programs.
		Default: yes

USE_HESIOD	If "no", disables building Hesiod support into
		various system utilities/libraries that support it.
		If ${MKHESIOD} is "no", USE_HESIOD will also be
		forced to "no".

USE_INET6	If "no", disables building INET6 (IPv6) support into
		various system utilities/libraries that support it.
		If ${MKINET6} is "no", USE_INET6 will also be
		forced to "no".

USE_JEMALLOC	If "no", disables building the "jemalloc" allocator
		designed for improved performance with threaded
		applications.  The "phkmalloc" allocator as used up
		before NetBSD-5.0 will be substituted.

USE_KERBEROS	If "no", disables building Kerberos v5
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS} is "no", USE_KERBEROS
		will also be forced to "no".

USE_LDAP	If "no", disables building LDAP support into various
		system utilities/libraries that support it.
		If ${MKLDAP} is "no", USE_LDAP will also be forced to "no".

USE_PAM		If "no", disables building PAM authentication support
		into various system utilities/libraries that support it.
		If ${MKPAM} is "no", USE_PAM will also be forced to "no".

USE_SKEY	If "no", disables building S/key authentication
		support into various system utilities/libraries that
		support it.  If ${MKSKEY} is "no", USE_SKEY will
		also be forced to "no".
		Default: no
d1195 1
a1195 36
USE_SSP		If "no", disables GCC stack protection code, which
		detects stack overflows and aborts the program. The
		stack protection code imposes a performance penalty
		of about 5%.
		Default: "no", unless "USE_FORT" is set to "yes"

NOSSP		Don't compile with stack protector during build.
		It is set internally for standalone programs.

USE_FORT 	If "yes" turns on substitute wrappers for commonly used
		functions that do not do bounds checking regularly, but
		they could in some cases by using the gcc
		__builtin_object_size() function to determine the buffer
		size where it is known and detect buffer overflows.
		These substitute functions are in /usr/include/ssp.
		Default: depends on the part of the source tree

NOFORT		Don't compile with substitute wrappers during build.
		It is set internally for standalone programs.

USE_YP		If "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.
		If ${MKYP} is "no", USE_YP will also be forced to "no".

USE_PIGZGZIP	If "no", use the host "gzip" program to compress things.
		Otherwise, build tools/pigz, set TOOL_GZIP=${TOOL_PIGZ},
		and use nbpigz to compress things.
		Default: "no".

USE_XZ_SETS	If "no", use the host "gzip" program to compress sets.
		Otherwise use xz to compress things.
		Default: "yes" for architectures with "enough" memory to
		decompress, "no" for older ones.
		This is currently incompatible with USE_PIGZGZIP, setting
		USE_PIGZGZIP=yes sets USE_XZ_SETS=no by default for all
		architectures.
d1206 1
a1206 1
CXXFLAGS.<prog>	These provide a way to specify additions to the associated
d1220 2
a1221 2
UNSUPPORTED_COMPILER.xxx
		If defined, the support for compiler "xxx" is disabled.
d1226 39
a1264 1
TOOL_CC.xxx	Path to the CC frontend for compiler "xxx"
d1361 1
a1361 1
	        installation.  [/usr/share/doc]
d1385 1
a1385 1
X11SRCDIR.local	The path to the local X11 src tree.  [${X11SRCDIR}/local]
d1620 1
a1620 1
TOOL_POWERPCMKBOOTIMAGE	Make bootable image for powerpc.  [powerpc-mkbootimage]
d1748 1
d1786 1
a1786 1
FILESBUILD_<fn>	A value different from "no" will add the file to the list of
d1851 1
a1851 1
INCSNAME_<file>	The name file <file> should be installed as, if not <file>,
d1937 1
a1937 1
SHLIBINSTALLDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
d1992 1
a1992 1
			libname  path-to-srcdir-of-libname
d2140 1
a2140 1
OBJMACHINE_ARCH	If set with OBJMACHINE, creates object directories or
d2143 1
a2143 1
USR_OBJMACHINE  If set, and the current directory is a subdirectory of
d2499 2
a2500 2
RPC_INCS:	construct .h file from .x file
RPC_XDRFILES:	construct _xdr.c from .x file
d2502 1
a2502 1
RPC_SVCFILES:	construct _svc.c from .x file
d2504 1
a2504 1
RPC_SVCFLAGS:	Additional flags passed to builds of RPC_SVCFILES.
d2506 1
a2506 1
RPC_XDIR:	Directory containing .x/.h files
d2518 1
a2518 1
SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
d2676 2
a2677 2
HOST_SH		Shell.	This must be an absolute path, because it may be
		substituted into "#!" lines in scripts.	 [/bin/sh]
d2705 1
a2705 1
PC		Pascal compiler.  [pc]  (Not present)
d2715 1
a2715 1
OBJCOPYLIBFLAGS	Flags to pass to objcopy when library objects are
d2745 3
a2752 3
NOCLANGERROR	If defined and clang is used as C compiler, -Werror is not
		passed to it.

d2761 1
a2761 1
=-=-=-=-=   bsd.host.mk  =-=-=-=-=
@


1.442
log
@fix documentation for MKLINT

Since share/mk/bsd.own.mk 1.749 from 2013-08-26, MKLINT defaults to no.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.441 2022/08/21 07:10:03 lukem Exp $
a1834 4
SHAREDSTRINGS	If defined, a new .c.o rule is used that results in shared
		strings, using xstr(1). Note that this will not work with
		parallel makes.

@


1.441
log
@Deprecate extsrc/, EXTSRCSRCDIR, MKEXTSRC

Remove support for building extsrc/:
1. Makefile: remove do-extsrc target.
2. build.sh: remove options -y and -Y extsrcdir.
3. distrib/sets: remove support for extsrc in various tools
   including the options -L ext and -y, and the extsrc sets.
4. doc/BUILDING.mdoc: remove docs for extsrc/, EXTSRCSRCDIR, MKEXTSRC (etc)
5. bsd.own.mk and various Makefiles: remove support for extsrc/,
   EXTSRCSRCDIR, MKEXTSRC.

As proposed on tech-kern and tech-userlevel on 2022-01-07
and followed up on 2022-08-21.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.440 2022/07/14 03:48:49 mrg Exp $
d336 2
a337 2
MKLINT		If "no", don't build or install the lint libraries.
		Default: yes
@


1.440
log
@add libxcvt.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.439 2022/06/06 10:56:29 nia Exp $
a219 5
MKEXTSRC        If not "no", 'make build' also descends into either src/extsrc
		to cross-build programs and libraries externally added by
		users, and automatically enables creation of those sets.
		Default: no

@


1.439
log
@build system: Revert all the recent additions of MK[...] knobs that
allow conditionally disabling the building of certain user space
programs in the 'base' set.

There is not enough consensus that this is the right way and a few
people had strong objections, see source-changes-d@@.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.429 2022/05/20 21:31:24 andvar Exp $
d1815 1
@


1.438
log
@mk: Add MKTIMED and MKMOUSED flags for compiling NetBSD without timed
and moused
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.437 2022/05/29 08:10:00 nia Exp $
a203 3
MKDHCPD		If "no", don't build or install dhcpd(8).
		Default: yes

a224 3
MKFINGER	If "no", don't build finger(1) or fingerd(8).
		Default: yes

a302 5
MKLFS		If "no", disables building and installation of programs for
		the log-structured file system - mount_lfs(8), newfs_lfs(8),
		dumplfs(8), etc.
		Default: yes

a375 9
MKMOUSED	If "no", don't build moused(8) (serial mouse support
		daemon, not to be confused with wsmoused(8)).
		Default: yes

MKMROUTING	If "no", don't build or install the multicast routing
		applications - map-mbone(8), mrinfo(8), mrouted(8), or
		mtrace(8).
		Default: yes

a390 3
MKNTP		If "no", don't build or install ntpd(8) or ntpdate(8).
		Default: yes

a434 7
MKPPP		If "no", disables building the Point-to-Point Protocol
		daemon pppd(8), as well as related utilities chat(8),
		pppdump(8), and pppstats(8).
		This option has no effect on PPPoE (Point-to-Point over
		Ethernet) support, but rather only affects serial links.
		Default: yes

a510 10
MKTIMED		If "no", don't build timed(8) (original Time Synchronization
		Protocol server, not to be confused with ntpd(8)).
		Default: yes

MKTOUCH		If "no", don't build talk(1) or ntalkd(8).
		Default: yes

MKTCPDUMP	If "no" then don't build tcpdump(8).
		Default: yes

@


1.437
log
@mk: Add a MKPPP flag to exclude pppd(8) and related utilities from
the build
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.436 2022/05/28 14:31:12 nia Exp $
d387 4
d541 4
@


1.436
log
@mk: Add MKFINGER, MKTALK flags for not building
talk, talkd, finger, fingerd.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.435 2022/05/28 11:17:35 nia Exp $
d454 7
@


1.435
log
@mk: Add MKNTP, MKTCPDUMP knobs.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.434 2022/05/27 07:28:21 nia Exp $
d228 3
d530 3
@


1.434
log
@mk: Add a MKLFS flag for excluding the log-structured filesystem userspace
tools from the build.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.433 2022/05/26 06:23:57 nia Exp $
d404 3
d527 3
@


1.433
log
@mk: Document that some options were enabled by default on aarch64
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.432 2022/05/25 21:25:47 nia Exp $
d306 5
@


1.432
log
@mk: Rename the MKMBONE option to MKMROUTING for greater accuracy and
to match the related kernel config option.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.431 2022/05/25 20:44:01 nia Exp $
d390 1
a390 1
		Default: yes on amd64 and i386, no elsewhere.
d432 1
a432 1
		Default: no
d448 1
a448 1
		Default: yes on amd64 and i386, no elsewhere.
d452 1
a452 1
		Default: no
@


1.431
log
@mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,
useful for embedded images that don't need to act as one.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.430 2022/05/25 10:18:29 nia Exp $
d375 2
a376 2
MKMBONE		If "no", don't build or install Multicast Backbone
		applications.
d379 3
a381 2
MKMDNS		If "no", disables building of mDNS infrastructure
		(libraries and support programs).
@


1.430
log
@mk: Allow building base without the MBONE applications by setting
MKMBONE=no in mk.conf
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.429 2022/05/20 21:31:24 andvar Exp $
d204 3
@


1.429
log
@s/appropiate/appropriate/ in comments and readme file.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.428 2021/12/23 20:08:07 christos Exp $
d372 4
@


1.428
log
@remove extra C in OBJCOPTS (from Anon Ymous)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.427 2021/12/20 20:33:20 christos Exp $
d895 1
a895 1
		This variable should be used in conjunction with an appropiate
@


1.427
log
@Rename:
    MKKDEBUG -> MKDEBUGKERNEL
    MKTOOLSDEBUG -> MKDEBUGTOOLS
while keeping compatibility with the old names. Add missing documentation.
Now all debugging tunables are prefixed with MKDEBUG.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.426 2021/12/20 14:41:26 christos Exp $
d638 1
a638 1
OBJCCOPTS.<prog>
@


1.426
log
@PR/55557: Andreas Gustafsson" Introduce a new variable MKDEBUGKERNEL which
as the name implies, includes a netbsd.gdb inside each kernel set:
$ tar -tzvf kern-GENERIC.tgz
-rwxr-xr-x  0 root   wheel 29398264 Dec 19 12:50 ./netbsd
-rwxr-xr-x  0 root   wheel 208125880 Dec 19 12:50 ./netbsd.gdb
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.425 2021/12/05 07:53:57 msaitoh Exp $
d188 7
a194 1
MKDEBUGKERNEL	Build .gdb kernels to be included with the kernel sets.
a285 4
MKKDEBUG	If "yes", force building of kernel symbol info and creation
		of netbsd.gdb in all kernel builds, independently of the
		settings for "makeoptions DEBUG" in the kernel config file.

a514 3
MKTOOLSDEBUG	If "yes" build the tools with debugging symbols.
		Default: no

@


1.425
log
@s/specificed/specified/ in comment.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.424 2021/12/05 04:54:20 msaitoh Exp $
d188 3
@


1.424
log
@s/from from/from/ in comment.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.423 2021/11/28 15:47:33 christos Exp $
d784 1
a784 1
		The path to the xorg src tree for the specificed package>.
@


1.423
log
@For private and module libraries, build lint but do not install the lint
libraries. We want to lint the private library code and we want to be able
to link against the lint libraries, for example llib-largon2 from cgdconfig
which is accessed via PROGDPLIBS.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.422 2021/11/01 10:05:19 nia Exp $
d1422 1
a1422 1
and is included from from <bsd.lib.mk> and <bsd.prog.mk>.
@


1.422
log
@mk: Add support for conditional compilation of parts of the tree with
partial RELRO when MKRELRO=full is set.

Currently the X server needs to be compiled with only partial RELRO
due to the way certain (but not all - it seems wsfb works with full
RELRO) graphics driver modules are loaded.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.421 2021/10/27 03:06:59 ryo Exp $
d1344 2
a1345 2
		and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
		MKPROFILE=no MKSTATICLIB=no".
d1348 2
a1349 2
LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no
		MKPROFILE=no", and don't install the (.a) library.
@


1.421
log
@revert previous: http://mail-index.netbsd.org/source-changes/2021/10/25/msg133295.html

going to add __always_inline to the functions called from _mcount()
discussed on http://mail-index.netbsd.org/source-changes-d/2021/10/25/msg013480.html
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.419 2021/10/14 11:45:46 nia Exp $
d441 3
@


1.420
log
@In some arch, _mcount() would be called recursively when built with COPTS=-O0.

Normally, functions called from mcount.c are expected to be expanded inline,
so _mcount() will never be called recursively. But when build with COPTS=-O0,
`static inline' functions aren't inlined, and _mcount() will be called
recursively.

Even if _mcount() has `__attribute__((__no_ instrument_function__))',
it has no effect on the calling external (no-inlined) function.

To avoid this, PROF.<fn> is added can be set the profiling flag of any file.
"PROF.mcount.c" is set to blank by default, mcount.c itself is compiled
without -pg.
@
text
@a1632 4
PROF.<fn>	Alternative flag instead of "-pg" to pass to the compiler
		when profiling <fn>. For <fn>.[ly], "<fn>.c" must be used.
		Usually used to exclude a particular file from profiling.

@


1.419
log
@mk: Enable MKARGON2 now that this stuff works.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.418 2021/09/26 15:52:40 maya Exp $
d1633 4
@


1.418
log
@Restore MKNOUVEAUFIRMWARE and MKRADEONFIRMWARE and make gpufw set unconditional

Simplifies logic.
(Second commit - first one was partial)

Restoring MK* requested by mrg on tech-kern discussion
https://mail-index.netbsd.org/tech-kern/2021/09/25/msg027695.html
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.417 2021/09/25 08:54:30 maya Exp $
d116 3
@


1.417
log
@Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.416 2021/03/24 04:36:57 simonb Exp $
a220 4
MKGPUFIRMWARE	If not "no", install the /libdata/firmware directory,
		which is necessary for GPU drivers.
		Default: yes on amd64, i386, evbarm. No elsewhere.

d372 4
@


1.416
log
@Add aarch64 and sparc64 to MKZFS yes.
Sort the machine names for the "Default: yes on ..." lines.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.415 2020/11/10 21:47:49 kamil Exp $
d221 4
a375 4
MKNOUVEAUFIRMWARE If "yes", install the /libdata/firmware/nouveau directory,
		which is necessary for the nouveau DRM driver.
		Default: yes on amd64 and i386, no elsewhere.

@


1.415
log
@Reintroduce the support of MKCATPAGES

Requested by <mrg>
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.412 2020/10/16 06:55:36 nia Exp $
d137 1
a137 1
		Default: yes on amd64/mips64/sparc64, no elsewhere.
d374 1
a374 1
		Default: yes on i386 and amd64, no elsewhere.
d432 1
a432 1
		Default: yes on i386 and amd64, no elsewhere.
d547 1
a547 1
		Default: yes on amd64, no elsewhere.
@


1.414
log
@Stop mentioning the support for cat pages
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.413 2020/11/08 14:52:35 kamil Exp $
d133 3
d351 2
a352 2
MKMAN		If "no", don't build or install the man pages,
		and also acts as "MKHTML=no".
d356 3
a358 3
		html pages.  A directory can be exempted by defining NOMANDOC.
		Individual man pages are exempted if NOMANDOC.${target} is set
		to "yes".
d463 1
a463 1
MKSHARE		If "no", act as "MKDOC=no MKHTML=no MKINFO=no
d465 2
a466 2
		I.e, don't build documentation, Info documentation, man pages,
		NLS files, ...
d723 1
a723 1
MANDIR		Base path for manual installation.  [/usr/share/man]
d732 2
a733 2
			htmlinstall, maninstall
		Default value derived from MKHTML.
d1464 2
@


1.413
log
@Remove the support for MKCATPAGES

It was optional since 1999 and disabled by default since 2012.

Proposed on tech-userlevel@@.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.412 2020/10/16 06:55:36 nia Exp $
d353 3
a355 3
		catman or html pages.  A directory can be exempted by
		defining NOMANDOC.  Individual man pages are exempted
		if NOMANDOC.${target} is set to "yes".
d462 2
a463 2
		I.e, don't build catman pages, documentation, Info
		documentation, man pages, NLS files, ...
d720 1
a720 1
MANDIR		Base path for manual installation.  [/usr/share/man/cat]
@


1.412
log
@share/mk: Define some missing X11 libraries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.411 2020/07/26 09:22:43 rillig Exp $
a132 3
MKCATPAGES	If "no", don't build or install the catman pages.
		Default: no

d348 2
a349 2
MKMAN		If "no", don't build or install the man or catman pages,
		and also acts as "MKCATPAGES=no MKHTML=no".
d460 1
a460 1
MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
d729 2
a730 2
			catinstall, htmlinstall, maninstall
		Default value derived from MKCATPAGES and MKHTML.
a1460 2
	catinstall:
		Install the preformatted manual pages and their links.
@


1.411
log
@share/mk/bsd.README: fix typo
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.410 2020/07/13 07:22:51 mrg Exp $
d1806 2
d1810 1
@


1.410
log
@MKLLVMRT is automatically enabled on x86 and arm64, not mesa18+.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.409 2020/07/02 10:22:28 jmcneill Exp $
d97 1
a97 1
The following variables that control how things are made/installed that
@


1.409
log
@Document OBJMACHINE_ARCH
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.408 2020/06/21 13:29:05 lukem Exp $
d345 1
a345 1
		Default: no, enabled automatically with HAVE_MESA_VER=18.
@


1.408
log
@document PROGS and PROGS_CXX, and default c++ SRCS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.407 2020/06/15 01:57:31 christos Exp $
d1528 3
@


1.407
log
@Rename blacklist -> blocklist
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.406 2020/06/01 14:39:14 christos Exp $
d1648 8
d1657 1
a1657 1
		defined, it's assumed to be ${PROG}.c.
@


1.406
log
@1. if ${LIBISPRIVATE} == "pic", create _pic.a so that we can embed the library
   to another shared object
2. Don't compare ${LIBISPRIVATE} to "yes", because there are 3 places in
   Makefiles which set it to empty (this was a bug)
3. For private libraries, don't create .so* files
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.405 2020/05/30 20:47:59 christos Exp $
d1667 1
@


1.405
log
@Make libuv private, requested by joerg@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.404 2020/05/24 19:58:02 christos Exp $
d1345 2
@


1.404
log
@Add libuv
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.403 2020/05/18 21:19:35 jmcneill Exp $
a1760 1
		LIBUV?=			${DESTDIR}/usr/lib/libuv.a
@


1.403
log
@Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.402 2020/05/02 19:46:58 christos Exp $
d1761 1
@


1.402
log
@document MKCOMPATMODULES
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.401 2020/04/04 23:54:06 christos Exp $
d200 3
@


1.401
log
@Document and set a default for KERNEL_DIR
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.400 2020/04/04 01:35:22 christos Exp $
d147 3
@


1.400
log
@Add libgnuctf
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.399 2020/03/24 07:56:26 mrg Exp $
d852 3
@


1.399
log
@note that MKLLVMRT affects more than amdgpu.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.398 2020/03/03 02:25:03 christos Exp $
d1681 1
@


1.398
log
@Add fido and cbor
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.397 2019/11/22 13:30:19 martin Exp $
d336 3
a338 2
		AMDGPU backend and the native JIT of the target architecture,
		if supported.
@


1.397
log
@Document NETBSD_OFFICIAL_RELEASE and add it to /etc/release - it is
important information when trying to reproduce a build.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.396 2019/11/18 16:09:21 christos Exp $
d1660 1
d1676 1
@


1.396
log
@Improve the script to check for installed libraries, and fix the wrong
names and obsolete libraries it found.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.395 2019/10/31 06:43:19 martin Exp $
d155 10
@


1.395
log
@PR misc/54657: let RELEASEMACHINEDIR default to ${MACHINE}-${MACHINE_ARCH}
for evb{arm,mips,sh3}*.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.394 2019/08/10 12:46:38 christos Exp $
d1648 1
a1649 1
		LIBC?=			${DESTDIR}/usr/lib/libc.a
d1655 1
a1655 2
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBDBM?=		${DESTDIR}/usr/lib/libdbm.a
a1666 1
		LIBG2C?=		${DESTDIR}/usr/lib/libg2c.a
a1688 1
		LIBLUTOK?=		${DESTDIR}/usr/lib/liblutok.a
d1712 1
a1712 1
		LIBRUMPFS_CD966	0FS?=	${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
d1718 1
a1718 1
		LIBRUMPFS_MSDOSFS?=	${DESTDIR}/usr/lib/librumpfs_msdosfs.a
a1723 1
		LIBRUMPFS_UFS?=		${DESTDIR}/usr/lib/librumpfs_ufs.a
a1728 1
		LIBSS?=			${DESTDIR}/usr/lib/libss.a
a1730 1
		LIBSSP?=		${DESTDIR}/usr/lib/libssp.a
@


1.394
log
@Make the X11 library lists consistent again.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.393 2019/07/24 09:28:29 roy Exp $
d799 2
a800 1
		a release.  [${MACHINE}]
@


1.393
log
@MKBSDTAR now defaults to yes

Starting to see some modern archives not opening, it's time to make them
work!

OK joerg@@ agc@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.392 2019/07/20 19:09:23 wiz Exp $
d1757 6
d1767 1
a1770 1
		LIBXTRAP?=		${DESTDIR}/usr/X11R7/lib/libXTrap.a
d1776 1
a1777 1
		LIBXFONT2?=		${DESTDIR}/usr/X11R7/lib/libXfont2.a
d1781 1
d1789 1
a1794 7
		LIBDPS?=		${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBFNTSTUBS?=		${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCONFIG?=		${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=		${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=		${DESTDIR}/usr/X11R7/lib/libfreetype.a
		LIBLBXUTIL?=		${DESTDIR}/usr/X11R7/lib/liblbxutil.a
		LIBXKBFILE?=		${DESTDIR}/usr/X11R7/lib/libxkbfile.a
@


1.393.2.1
log
@Pull up following revision(s) (requested by martin in ticket #462):
	share/mk/bsd.README: revision 1.397
	etc/Makefile.params: revision 1.21
Document NETBSD_OFFICIAL_RELEASE and add it to /etc/release - it is
important information when trying to reproduce a build.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.393 2019/07/24 09:28:29 roy Exp $
a154 10
NETBSD_OFFICIAL_RELEASE
		If defined and set to "yes", the build targets an official
		NetBSD release which is going to be available from
		ftp.NetBSD.org / cdn.NetBSD.org. This modifies a few
		default paths in the installer and also creates different
		links in the install documentation.
		The auto-build cluster uses this variable to distinguish
		"daily" builds from real releases.
		Default: undefined (no)

@


1.392
log
@Install the nouveau gm206 firmware as used by my graphics card.

Also add the other gm20x nouveau firmwares to the source tree
to make it easier to add them for someone who can test them.

Installed if MKNOUVEAUFIRMWARE is set to 'yes'.
This defaults to no except on amd64 and i386 (like for radeon).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.391 2019/04/19 22:06:03 kamil Exp $
d131 1
a131 1
		Default: no
@


1.391
log
@Fix typo cost -> host
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.390 2019/04/07 19:32:24 christos Exp $
d355 4
d413 1
a413 1
MKRADEONFIRMWARE If "no", install the /libdata/firmware/radeon directory,
@


1.390
log
@Add -r so that we get the location of redefinitions
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.389 2019/04/03 15:26:35 joerg Exp $
d2129 1
a2129 1
HOST_CPPFLAGS		The cost c pre-processor flags
@


1.389
log
@Use and enable MKLLVMRT for HAVE_MESA_VER=18.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.388 2019/04/03 15:17:23 joerg Exp $
d2044 1
a2044 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzgFS]
@


1.388
log
@Document MKLLVM.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.387 2019/01/01 19:06:38 christos Exp $
d325 5
@


1.387
log
@document the elf2foo tools.
The bsd.sys.mk tools are un-prefixed, since the "right" version is installed
for the platform, as opposed to the tools ones which should be able to
co-exist.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.386 2018/11/15 09:23:50 martin Exp $
d320 5
@


1.386
log
@Explicitly document the incompatibility between USE_PIGZGZIP
and USE_XZ_SETS. Disable the latter if the former is enabled.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.385 2018/09/29 06:48:22 martin Exp $
d868 3
a870 1
TOOL_AMIGATXLT		Amige assembly language format translator.  [amiga-txlt]
d933 2
d1981 2
d2009 3
a2011 1
ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]
@


1.385
log
@Add defaults and documentation for USE_XZ_SETS - a new variable
controlling whether an architecture will use .tgz or tar.xz
sets.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.384 2018/09/16 13:14:12 christos Exp $
d589 3
@


1.384
log
@add what {PROG,LIB}DPLIBS are useful for
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.383 2018/09/16 13:11:48 christos Exp $
d585 5
@


1.383
log
@document PROGDPLIBS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.382 2018/08/12 11:50:51 christos Exp $
d1333 4
@


1.382
log
@fix broken library variable definitions (inconsistencies between
bsd.README and bsd.prog.mk)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.381 2018/07/25 23:30:22 kamil Exp $
d1329 2
a1330 1
LIBDPLIBS	A list of the tuples:
d1347 2
a1348 2
		This variable may be used for individual libraries, as
		well as in parent directories to cache common libraries
@


1.381
log
@Document MKLIBCSANITIZER in bsd.README

It's a special kind of a sanitizer inside libc.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.380 2018/07/25 19:15:19 kamil Exp $
d406 1
a406 1
	
d494 1
a494 1
MKX11		If not "no", 'make build' also descends into 
d1144 1
a1144 1
		
d1608 21
a1628 22
		LIBARCHIVE?=	${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=	${DESTDIR}/usr/lib/libasn1.a
		LIBATF_C?=	${DESTDIR}/usr/lib/libatf-c.a
		LIBATF_CXX?=	${DESTDIR}/usr/lib/libatf-c++.a
		LIBBIND9?=	${DESTDIR}/usr/lib/libbind9.a
		LIBBLUETOOTH?=	${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=	${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
		LIBC?=		${DESTDIR}/usr/lib/libc.a
		LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
		LIBCOM_ERR?=	${DESTDIR}/usr/lib/libcom_err.a
		LIBCRT0?=	${DESTDIR}/usr/lib/crt0.o
		LIBCRTI?=	${DESTDIR}/usr/lib/crti.o
		LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=	${DESTDIR}/usr/lib/libcrypto.a
		LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
		LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
		LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
		LIBDES?=	${DESTDIR}/usr/lib/libdes.a
		LIBDNS?=	${DESTDIR}/usr/lib/libdns.a
		LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=	${DESTDIR}/usr/lib/libevent.a
d1631 92
a1722 84
		LIBEXECINFO?=	${DESTDIR}/usr/lib/libexecinfo.a
		LIBEXPAT?=	${DESTDIR}/usr/lib/libexpat.a
		LIBFETCH?=	${DESTDIR}/usr/lib/libfetch.a
		LIBFORM?=	${DESTDIR}/usr/lib/libform.a
		LIBFL?=		${DESTDIR}/usr/lib/libfl.a
		LIBG2C?=	${DESTDIR}/usr/lib/libg2c.a
		LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
		LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=	${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=	${DESTDIR}/usr/lib/libhdb.a
		LIBHEIMBASE?=	${DESTDIR}/usr/lib/libheimbase.a
		LIBHEIMNTLM?=	${DESTDIR}/usr/lib/libheimntlm.a
		LIBHX500?=	${DESTDIR}/usr/lib/libhx500.a
		LIBINTL?=	${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=	${DESTDIR}/usr/lib/libipsec.a
		LIBISC?=	${DESTDIR}/usr/lib/libisc.a
		LIBISCCC?=	${DESTDIR}/usr/lib/libisccc.a
		LIBISCFG?=	${DESTDIR}/usr/lib/libiscfg.a
		LIBKADM5CLNT?=	${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=	${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=	${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=	${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
		LIBL?=		${DESTDIR}/usr/lib/libl.a
		LIBLBER?=	${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=	${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=	${DESTDIR}/usr/lib/libldap_r.a
		LIBLUA?=	${DESTDIR}/usr/lib/liblua.a
		LIBLUTOK?=	${DESTDIR}/usr/lib/liblutok.a
		LIBLWRES?=	${DESTDIR}/usr/lib/liblwres.a
		LIBM?=		${DESTDIR}/usr/lib/libm.a
		LIBMAGIC?=	${DESTDIR}/usr/lib/libmagic.a
		LIBMENU?=	${DESTDIR}/usr/lib/libmenu.a
		LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=	${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=	${DESTDIR}/usr/lib/libpam.a
		LIBPANEL?=	${DESTDIR}/usr/lib/libpanel.a
		LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=	${DESTDIR}/usr/lib/libpci.a
		LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=	${DESTDIR}/usr/lib/libpthread.a
		LIBPUFFS?=	${DESTDIR}/usr/lib/libpuffs.a
		LIBQUOTA?=	${DESTDIR}/usr/lib/libquota.a
		LIBRADIUS?=	${DESTDIR}/usr/lib/libradius.a
		LIBREFUSE?=	${DESTDIR}/usr/lib/librefuse.a
		LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=	${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=	${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=		${DESTDIR}/usr/lib/librt.a
		LIBRUMP?=	${DESTDIR}/usr/lib/librump.a
		LIBRUMPFS_CD9660FS?=${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
		LIBRUMPFS_EFS?=	${DESTDIR}/usr/lib/librumpfs_efs.a
		LIBRUMPFS_EXT2FS?=${DESTDIR}/usr/lib/librumpfs_ext2fs.a
		LIBRUMPFS_FFS?=	${DESTDIR}/usr/lib/librumpfs_ffs.a
		LIBRUMPFS_HFS?=	${DESTDIR}/usr/lib/librumpfs_hfs.a
		LIBRUMPFS_LFS?=	${DESTDIR}/usr/lib/librumpfs_lfs.a
		LIBRUMPFS_MSDOSFS?=${DESTDIR}/usr/lib/librumpfs_msdosfs.a
		LIBRUMPFS_NFS?=	${DESTDIR}/usr/lib/librumpfs_nfs.a
		LIBRUMPFS_NTFS?=${DESTDIR}/usr/lib/librumpfs_ntfs.a
		LIBRUMPFS_SYSPUFFS?=${DESTDIR}/usr/lib/librumpfs_syspuffs.a
		LIBRUMPFS_TMPFS?=${DESTDIR}/usr/lib/librumpfs_tmpfs.a
		LIBRUMPFS_UDF?=	${DESTDIR}/usr/lib/librumpfs_udf.a
		LIBRUMPFS_UFS?=	${DESTDIR}/usr/lib/librumpfs_ufs.a
		LIBRUMPUSER?=	${DESTDIR}/usr/lib/librumpuser.a
		LIBSASLC?=	${DESTDIR}/usr/lib/libsaslc.a
		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
		LIBSL?=		${DESTDIR}/usr/lib/libsl.a
		LIBSQLITE3?=	${DESTDIR}/usr/lib/libsqlite3.a
		LIBSS?=		${DESTDIR}/usr/lib/libss.a
		LIBSSH?=	${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=	${DESTDIR}/usr/lib/libssl.a
		LIBSSP?=	${DESTDIR}/usr/lib/libssp.a
		LIBSTDCXX?=	${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=	${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMINFO?=	${DESTDIR}/usr/lib/libterminfo.a
		LIBTRE?=	${DESTDIR}/usr/lib/libtre.a
		LIBUNBOUND?=	${DESTDIR}/usr/lib/libunbound.a
		LIBUSBHID?=	${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
		LIBWIND?=	${DESTDIR}/usr/lib/libwind.a
		LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
		LIBY?=		${DESTDIR}/usr/lib/liby.a
		LIBZ?=		${DESTDIR}/usr/lib/libz.a
d1726 37
a1762 37
		LIBFS?=		${DESTDIR}/usr/X11R7/lib/libFS.a
		LIBGL?=		${DESTDIR}/usr/X11R7/lib/libGL.a
		LIBGLU?=	${DESTDIR}/usr/X11R7/lib/libGLU.a
		LIBICE?=	${DESTDIR}/usr/X11R7/lib/libICE.a
		LIBSM?=		${DESTDIR}/usr/X11R7/lib/libSM.a
		LIBX11?=	${DESTDIR}/usr/X11R7/lib/libX11.a
		LIBX11_XCB?=	${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
		LIBXTRAP?=	${DESTDIR}/usr/X11R7/lib/libXTrap.a
		LIBXAU?=	${DESTDIR}/usr/X11R7/lib/libXau.a
		LIBXAW?=	${DESTDIR}/usr/X11R7/lib/libXaw.a
		LIBXCB?=	${DESTDIR}/usr/X11R7/lib/libxcb.a
		LIBXDMCP?=	${DESTDIR}/usr/X11R7/lib/libXdmcp.a
		LIBXEXT?=	${DESTDIR}/usr/X11R7/lib/libXext.a
		LIBXFONT?=	${DESTDIR}/usr/X11R7/lib/libXfont.a
		LIBXFONT2?=	${DESTDIR}/usr/X11R7/lib/libXfont2.a
		LIBXFT?=	${DESTDIR}/usr/X11R7/lib/libXft.a
		LIBXI?=		${DESTDIR}/usr/X11R7/lib/libXi.a
		LIBXINERAMA?=	${DESTDIR}/usr/X11R7/lib/libXinerama.a
		LIBXMU?=	${DESTDIR}/usr/X11R7/lib/libXmu.a
		LIBXMUU?=	${DESTDIR}/usr/X11R7/lib/libXmuu.a
		LIBXPM?=	${DESTDIR}/usr/X11R7/lib/libXpm.a
		LIBXRANDR?=	${DESTDIR}/usr/X11R7/lib/libXrandr.a
		LIBXRENDER?=	${DESTDIR}/usr/X11R7/lib/libXrender.a
		LIBXSS?=	${DESTDIR}/usr/X11R7/lib/libXss.a
		LIBXT?=		${DESTDIR}/usr/X11R7/lib/libXt.a
		LIBXTST?=	${DESTDIR}/usr/X11R7/lib/libXtst.a
		LIBXV?=		${DESTDIR}/usr/X11R7/lib/libXv.a
		LIBXXF86DGA?=	${DESTDIR}/usr/X11R7/lib/libXxf86dga.a
		LIBXXF86MISC?=	${DESTDIR}/usr/X11R7/lib/libXxf86misc.a
		LIBXXF86VM?=	${DESTDIR}/usr/X11R7/lib/libXxf86vm.a
		LIBDPS?=	${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBFNTSTUBS?=	${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCONFIG?=	${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=	${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=	${DESTDIR}/usr/X11R7/lib/libfreetype.a
		LIBLBXUTIL?=	${DESTDIR}/usr/X11R7/lib/liblbxutil.a
		LIBXKBFILE?=	${DESTDIR}/usr/X11R7/lib/libxkbfile.a
@


1.380
log
@Document the default value of MKSANITIZER in bsd.README

This value is set to "no".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.379 2018/07/12 21:41:25 joerg Exp $
d279 22
@


1.379
log
@Update MKSTATICPIE entry to actually do something.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.378 2018/07/12 06:52:49 maxv Exp $
d408 1
@


1.378
log
@Retire libpmc. It uses the legacy PMC interface in the kernel, which has
support for only one ARM CPU. It used to have x86 support, but it was broken
and I removed it. The legacy PMC interface will be removed from the kernel
too. Sent on tech-kern@@ yesterday, thorpej was fine.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.377 2018/06/25 09:38:46 kamil Exp $
d433 2
a434 1
		use a special rcrt0.o/mcrt0.o that do the necessary relocations
@


1.377
log
@Rephrase the documentation of MKSANITIZER

Based on the feedback from <f8l> and <pgoyette>.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.376 2018/06/24 20:40:58 kamil Exp $
a1646 1
		LIBPMC?=	${DESTDIR}/usr/lib/libpmc.a
@


1.377.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.391 2019/04/19 22:06:03 kamil Exp $
a278 22
MKLIBCSANITIZER	If "yes", use the selected sanitizer inside libc to compile
		userland programs and libraries as defined in
		USE_LIBCSANITIZER, which defaults to "undefined".

		The undefined behavior detector is currently the only supported
		sanitizer in this mode. Its runtime differs from the UBSan
		available in MKSANITIZER, and it is reimplemented from scratch
		as micro-UBSan in the user mode (uUBSan). Its code is shared
		with the kernel mode variation (kUBSan). The runtime is
		stripped down from C++ features, in particular -fsanitize=vptr
		is not supported and explicitly disabled. The only runtime
		configuration is restricted to the LIBC_UBSAN environment
		variable, that is designed to be safe for hardening.

		The USE_LIBCSANITIZER value is passed to the -fsanitize=
		argument to the compiler in CFLAGS and CXXFLAGS, but not in
		LDFLAGS, as the runtime part is located inside libc.

		Additional sanitizer arguments can be passed through
		LIBCSANITIZERFLAGS.
		Default: no

a297 10
MKLLVM		If "yes", build and install clang as host tool and target
		compiler.  Use as system compiler is enabled with HAVE_LLVM
		(see below for details).
		Default: no

MKLLVMRT	If "yes", build the LLVM PIC libraries necessary for the
		AMDGPU backend and the native JIT of the target architecture,
		if supported.
		Default: no, enabled automatically with HAVE_MESA_VER=18.

d384 1
a384 1

a407 1
		Default: no
d433 1
a433 2
		use a special support in crt0.o for resolving relative
		relocations and require linker support.
d470 1
a470 1
MKX11		If not "no", 'make build' also descends into
a560 8
USE_XZ_SETS	If "no", use the host "gzip" program to compress sets.
		Otherwise use xz to compress things.
		Default: "yes" for architectures with "enough" memory to
		decompress, "no" for older ones.
		This is currently incompatible with USE_PIGZGZIP, setting
		USE_PIGZGZIP=yes sets USE_XZ_SETS=no by default for all
		architectures.

d836 1
a836 3
TOOL_AMIGATXLT		Amiga assembly language format translator.  [amiga-txlt]

TOOL_ARMELF2AOUT	ELF to a.out executable converter [arm-elf2aout}
a898 2
TOOL_M68KELF2AOUT	ELF to a.out executable converter [m68k-elf2aout}

d1120 1
a1120 1

d1305 1
a1305 2
LIBDPLIBS/
PROGDPLIBS	A list of the tuples:
a1307 4
		Instead of depending on installed versions of the libraries,
		one can depend on their built version in the source directory.
		This is useful for finding private libraries (LIBISPRIVATE).

d1322 2
a1323 2
		This variable may be used for individual libraries/programs,
		as well as in parent directories to cache common libraries
d1584 22
a1605 21
		LIBARCHIVE?=		${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=		${DESTDIR}/usr/lib/libasn1.a
		LIBATF_C?=		${DESTDIR}/usr/lib/libatf-c.a
		LIBATF_CXX?=		${DESTDIR}/usr/lib/libatf-c++.a
		LIBBIND9?=		${DESTDIR}/usr/lib/libbind9.a
		LIBBLUETOOTH?=		${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=		${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=		${DESTDIR}/usr/lib/libbz2.a
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBC?=			${DESTDIR}/usr/lib/libc.a
		LIBCOMPAT?=		${DESTDIR}/usr/lib/libcompat.a
		LIBCOM_ERR?=		${DESTDIR}/usr/lib/libcom_err.a
		LIBCRYPT?=		${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=		${DESTDIR}/usr/lib/libcrypto.a
		LIBCURSES?=		${DESTDIR}/usr/lib/libcurses.a
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBDBM?=		${DESTDIR}/usr/lib/libdbm.a
		LIBDES?=		${DESTDIR}/usr/lib/libdes.a
		LIBDNS?=		${DESTDIR}/usr/lib/libdns.a
		LIBEDIT?=		${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=		${DESTDIR}/usr/lib/libevent.a
d1608 85
a1692 92
		LIBEXECINFO?=		${DESTDIR}/usr/lib/libexecinfo.a
		LIBEXPAT?=		${DESTDIR}/usr/lib/libexpat.a
		LIBFETCH?=		${DESTDIR}/usr/lib/libfetch.a
		LIBFL?=			${DESTDIR}/usr/lib/libfl.a
		LIBFORM?=		${DESTDIR}/usr/lib/libform.a
		LIBG2C?=		${DESTDIR}/usr/lib/libg2c.a
		LIBGCC?=		${DESTDIR}/usr/lib/libgcc.a
		LIBGNUMALLOC?=		${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=		${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=		${DESTDIR}/usr/lib/libhdb.a
		LIBHEIMBASE?=		${DESTDIR}/usr/lib/libheimbase.a
		LIBHEIMNTLM?=		${DESTDIR}/usr/lib/libheimntlm.a
		LIBHX500?=		${DESTDIR}/usr/lib/libhx500.a
		LIBINTL?=		${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=		${DESTDIR}/usr/lib/libipsec.a
		LIBISC?=		${DESTDIR}/usr/lib/libisc.a
		LIBISCCC?=		${DESTDIR}/usr/lib/libisccc.a
		LIBISCFG?=		${DESTDIR}/usr/lib/libiscfg.a
		LIBKADM5CLNT?=		${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=		${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=		${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=		${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=		${DESTDIR}/usr/lib/libkvm.a
		LIBL?=			${DESTDIR}/usr/lib/libl.a
		LIBLBER?=		${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=		${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=		${DESTDIR}/usr/lib/libldap_r.a
		LIBLUA?=		${DESTDIR}/usr/lib/liblua.a
		LIBLUTOK?=		${DESTDIR}/usr/lib/liblutok.a
		LIBM?=			${DESTDIR}/usr/lib/libm.a
		LIBMAGIC?=		${DESTDIR}/usr/lib/libmagic.a
		LIBMENU?=		${DESTDIR}/usr/lib/libmenu.a
		LIBNETPGPVERIFY?=	${DESTDIR}/usr/lib/libnetpgpverify.a
		LIBNS?=			${DESTDIR}/usr/lib/libns.a
		LIBOBJC?=		${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=		${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=		${DESTDIR}/usr/lib/libpam.a
		LIBPANEL?=		${DESTDIR}/usr/lib/libpanel.a
		LIBPCAP?=		${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=		${DESTDIR}/usr/lib/libpci.a
		LIBPOSIX?=		${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=		${DESTDIR}/usr/lib/libpthread.a
		LIBPUFFS?=		${DESTDIR}/usr/lib/libpuffs.a
		LIBQUOTA?=		${DESTDIR}/usr/lib/libquota.a
		LIBRADIUS?=		${DESTDIR}/usr/lib/libradius.a
		LIBREFUSE?=		${DESTDIR}/usr/lib/librefuse.a
		LIBRESOLV?=		${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=		${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=		${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=		${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=			${DESTDIR}/usr/lib/librt.a
		LIBRUMP?=		${DESTDIR}/usr/lib/librump.a
		LIBRUMPFS_CD966	0FS?=	${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
		LIBRUMPFS_EFS?=		${DESTDIR}/usr/lib/librumpfs_efs.a
		LIBRUMPFS_EXT2FS?=	${DESTDIR}/usr/lib/librumpfs_ext2fs.a
		LIBRUMPFS_FFS?=		${DESTDIR}/usr/lib/librumpfs_ffs.a
		LIBRUMPFS_HFS?=		${DESTDIR}/usr/lib/librumpfs_hfs.a
		LIBRUMPFS_LFS?=		${DESTDIR}/usr/lib/librumpfs_lfs.a
		LIBRUMPFS_MSDOSFS?=	${DESTDIR}/usr/lib/librumpfs_msdosfs.a
		LIBRUMPFS_NFS?=		${DESTDIR}/usr/lib/librumpfs_nfs.a
		LIBRUMPFS_NTFS?=	${DESTDIR}/usr/lib/librumpfs_ntfs.a
		LIBRUMPFS_SYSPUFFS?=	${DESTDIR}/usr/lib/librumpfs_syspuffs.a
		LIBRUMPFS_TMPFS?=	${DESTDIR}/usr/lib/librumpfs_tmpfs.a
		LIBRUMPFS_UDF?=		${DESTDIR}/usr/lib/librumpfs_udf.a
		LIBRUMPFS_UFS?=		${DESTDIR}/usr/lib/librumpfs_ufs.a
		LIBRUMPUSER?=		${DESTDIR}/usr/lib/librumpuser.a
		LIBSASLC?=		${DESTDIR}/usr/lib/libsaslc.a
		LIBSKEY?=		${DESTDIR}/usr/lib/libskey.a
		LIBSL?=			${DESTDIR}/usr/lib/libsl.a
		LIBSQLITE3?=		${DESTDIR}/usr/lib/libsqlite3.a
		LIBSS?=			${DESTDIR}/usr/lib/libss.a
		LIBSSH?=		${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=		${DESTDIR}/usr/lib/libssl.a
		LIBSSP?=		${DESTDIR}/usr/lib/libssp.a
		LIBSTDCXX?=		${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=		${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMINFO?=		${DESTDIR}/usr/lib/libterminfo.a
		LIBTRE?=		${DESTDIR}/usr/lib/libtre.a
		LIBUNBOUND?=		${DESTDIR}/usr/lib/libunbound.a
		LIBUSBHID?=		${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=		${DESTDIR}/usr/lib/libutil.a
		LIBWIND?=		${DESTDIR}/usr/lib/libwind.a
		LIBWRAP?=		${DESTDIR}/usr/lib/libwrap.a
		LIBY?=			${DESTDIR}/usr/lib/liby.a
		LIBZ?=			${DESTDIR}/usr/lib/libz.a

		The following c startup files.

		LIBCRT0?=		${DESTDIR}/usr/lib/crt0.o
		LIBCRTI?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTBEGIN?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTEND?=		${DESTDIR}/usr/lib/crtn.o
d1696 37
a1732 37
		LIBFS?=			${DESTDIR}/usr/X11R7/lib/libFS.a
		LIBGL?=			${DESTDIR}/usr/X11R7/lib/libGL.a
		LIBGLU?=		${DESTDIR}/usr/X11R7/lib/libGLU.a
		LIBICE?=		${DESTDIR}/usr/X11R7/lib/libICE.a
		LIBSM?=			${DESTDIR}/usr/X11R7/lib/libSM.a
		LIBX11?=		${DESTDIR}/usr/X11R7/lib/libX11.a
		LIBX11_XCB?=		${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
		LIBXTRAP?=		${DESTDIR}/usr/X11R7/lib/libXTrap.a
		LIBXAU?=		${DESTDIR}/usr/X11R7/lib/libXau.a
		LIBXAW?=		${DESTDIR}/usr/X11R7/lib/libXaw.a
		LIBXCB?=		${DESTDIR}/usr/X11R7/lib/libxcb.a
		LIBXDMCP?=		${DESTDIR}/usr/X11R7/lib/libXdmcp.a
		LIBXEXT?=		${DESTDIR}/usr/X11R7/lib/libXext.a
		LIBXFONT?=		${DESTDIR}/usr/X11R7/lib/libXfont.a
		LIBXFONT2?=		${DESTDIR}/usr/X11R7/lib/libXfont2.a
		LIBXFT?=		${DESTDIR}/usr/X11R7/lib/libXft.a
		LIBXI?=			${DESTDIR}/usr/X11R7/lib/libXi.a
		LIBXINERAMA?=		${DESTDIR}/usr/X11R7/lib/libXinerama.a
		LIBXMU?=		${DESTDIR}/usr/X11R7/lib/libXmu.a
		LIBXMUU?=		${DESTDIR}/usr/X11R7/lib/libXmuu.a
		LIBXPM?=		${DESTDIR}/usr/X11R7/lib/libXpm.a
		LIBXRANDR?=		${DESTDIR}/usr/X11R7/lib/libXrandr.a
		LIBXRENDER?=		${DESTDIR}/usr/X11R7/lib/libXrender.a
		LIBXSS?=		${DESTDIR}/usr/X11R7/lib/libXss.a
		LIBXT?=			${DESTDIR}/usr/X11R7/lib/libXt.a
		LIBXTST?=		${DESTDIR}/usr/X11R7/lib/libXtst.a
		LIBXV?=			${DESTDIR}/usr/X11R7/lib/libXv.a
		LIBXXF86DGA?=		${DESTDIR}/usr/X11R7/lib/libXxf86dga.a
		LIBXXF86MISC?=		${DESTDIR}/usr/X11R7/lib/libXxf86misc.a
		LIBXXF86VM?=		${DESTDIR}/usr/X11R7/lib/libXxf86vm.a
		LIBDPS?=		${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBFNTSTUBS?=		${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCONFIG?=		${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=		${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=		${DESTDIR}/usr/X11R7/lib/libfreetype.a
		LIBLBXUTIL?=		${DESTDIR}/usr/X11R7/lib/liblbxutil.a
		LIBXKBFILE?=		${DESTDIR}/usr/X11R7/lib/libxkbfile.a
a1933 2
ARM_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

d1960 1
a1960 3
M68K_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

MIPS_ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]
d1983 1
a1983 1
LINTFLAGS	Options to ${LINT}.  [-chapbrxzgFS]
d2068 1
a2068 1
HOST_CPPFLAGS		The host c pre-processor flags
@


1.377.2.2
log
@Mostly merge changes from HEAD upto 20200411
@
text
@d1 1
a1 1
#	$NetBSD$
d131 1
a131 1
		Default: yes
a154 10
NETBSD_OFFICIAL_RELEASE
		If defined and set to "yes", the build targets an official
		NetBSD release which is going to be available from
		ftp.NetBSD.org / cdn.NetBSD.org. This modifies a few
		default paths in the installer and also creates different
		links in the install documentation.
		The auto-build cluster uses this variable to distinguish
		"daily" builds from real releases.
		Default: undefined (no)

d326 2
a327 3
		various Mesa backend and the native JIT of the target
		architecture, if supported.  (Radeon R300 and newer,
		LLVMPIPE for most.)
a354 4
MKNOUVEAUFIRMWARE If "yes", install the /libdata/firmware/nouveau directory,
		which is necessary for the nouveau DRM driver.
		Default: yes on i386 and amd64, no elsewhere.

d409 1
a409 1
MKRADEONFIRMWARE If "yes", install the /libdata/firmware/radeon directory,
d795 1
a795 2
		a release.  [${MACHINE},
		or ${MACHINE}-${MACHINE_ARCH} for evb{arm,mips,sh3}*]
a835 3
KERNEL_DIR	Install the kernel as /netbsd/kernel and the modules
		in /netbsd/modules, defaults to "no".

d1643 1
a1644 2
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBCBOR?=		${DESTDIR}/usr/lib/libcbor.a
d1650 2
a1651 1
		LIBCXX?=		${DESTDIR}/usr/lib/libc++.a
a1660 1
		LIBFIDO2?=		${DESTDIR}/usr/lib/libfido2.a
d1663 1
a1664 1
		LIBGNUCTF?=		${DESTDIR}/usr/lib/libgnuctf.a
d1686 1
d1710 1
a1710 1
		LIBRUMPFS_CD9660?=	${DESTDIR}/usr/lib/librumpfs_cd9660.a
d1716 1
a1716 1
		LIBRUMPFS_MSDOS?=	${DESTDIR}/usr/lib/librumpfs_msdos.a
d1722 1
d1728 1
d1731 1
a1752 6
		LIBDPS?=		${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBFNTSTUBS?=		${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCACHE?=		${DESTDIR}/usr/X11R7/lib/libfontcache.a
		LIBFONTCONFIG?=		${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=		${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=		${DESTDIR}/usr/X11R7/lib/libfreetype.a
a1756 1
		LIBLBXUTIL?=		${DESTDIR}/usr/X11R7/lib/liblbxutil.a
d1760 1
d1766 1
a1767 1
		LIBXFONT?=		${DESTDIR}/usr/X11R7/lib/libXfont.a
a1770 1
		LIBXKBFILE?=		${DESTDIR}/usr/X11R7/lib/libxkbfile.a
a1777 1
		LIBXTRAP?=		${DESTDIR}/usr/X11R7/lib/libXTrap.a
d1783 7
@


1.376
log
@Enhance the documentation of MKSANITIZER in bsd.README

Note that the list of sanitizer features is just a selection, not a
complete list. Include there LSan and Scudo. Missing: hwmsan, esan,
ubsan_minimal etc.

Explain that USE_SANITIZER is an argument passed to -fsanitize= and it can
contain multiple options.

Mention SANITIZERFLAGS to pass even more sanitizer arguments.

Stop tracking in this file what compiler compiles what features. Just note
that the selection of supported features depends on a compiler version and
target CPU architecture.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.375 2018/06/03 04:41:04 wiz Exp $
d395 1
a395 1
			memory:		An uninitializer read detector
d403 2
a404 3
		USE_SANITIZER option (comma separated) and some combinations of
		them work. The USE_SANITIZER value is passed to the -fsanitize=
		argument to a compiler.
d406 2
a407 2
		The list of supported features depends on the compiler version
		and target CPU architecture.
@


1.375
log
@Fix MKFIRMWARE description.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.374 2018/06/03 04:38:12 wiz Exp $
d392 1
a392 1
		"address". Available sanitizers are:
d397 1
d401 8
a408 1
		Only "address" is currently available for gcc(1).
@


1.374
log
@Fix MKSANITIZER default in description.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.373 2018/06/02 01:41:49 christos Exp $
d197 1
a197 1
MKFIRMWARE      If "no", install the /libdata/firmware directory,
@


1.373
log
@Add build glue to build all the code with sanitizers: MKSANITIZE.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.372 2018/05/31 05:27:46 mrg Exp $
d392 1
a392 1
		"memory". Available sanitizers are:
d400 1
a400 1
		Only "address" is currently available for gcc(1)
@


1.372
log
@introduce MKFIRMWARE that controls where (most) of the contents
of /libdata/firmware and /usr/libdata/firmware are not installed
if set to "no".  from the bsd.README:

MKFIRMWARE      If "no", install the /libdata/firmware directory,
		which is necessary for several drivers: athn(4), bwfm(4),
		ipw(4), iwi(4), iwm(4), iwn(4), otus(4), rtwn(4), urtwn(4),
		wpi(4), ral(4), rum(4), run(4), zyd(4), bcm43xx(4), and
		the Tegra 124 SoC.
		Default: yes on amd64, cobalt, evbarm evbmips, evbppc, hpcarm,
		hppa, i386, mac68k, macppc, sandpoint, and sparc64, no elsewhere.

convert MKRADEONFIRMWARE and MKTEGRAFIRMWARE into FOO.arch lists,
and move their defaults above the general defaults setting.

saves about 12MB in a normal installation for other platforms.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.371 2018/05/09 22:24:01 joerg Exp $
d390 12
@


1.371
log
@Document that EXTERNAL_TOOLCHAIN should be used together with HAVE_GCC
or HAVE_LLVM.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.370 2018/04/01 04:35:02 ryo Exp $
d197 8
@


1.370
log
@Add initial support for ARMv8 (AARCH64) (by nisimura@@ and ryo@@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@@, jmcneill@@)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.369 2018/03/11 09:56:44 mrg Exp $
d793 3
@


1.369
log
@define LIBXFONT2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.368 2018/03/11 07:18:49 mrg Exp $
d420 1
a420 1
		Default: yes on evbarm and evbarm64, no elsewhere.
@


1.368
log
@stop building libXfontcache as it is obsolete for a decade.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.367 2018/03/01 06:34:23 snj Exp $
d1680 1
@


1.367
log
@remove mention of /usr/X11R6
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.366 2018/01/07 20:59:25 jmcneill Exp $
a1696 1
		LIBFONTCACHE?=	${DESTDIR}/usr/X11R7/lib/libfontcache.a
@


1.367.2.1
log
@Synch with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.369 2018/03/11 09:56:44 mrg Exp $
a1679 1
		LIBXFONT2?=	${DESTDIR}/usr/X11R7/lib/libXfont2.a
d1697 1
@


1.367.2.2
log
@Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.370 2018/04/01 04:35:02 ryo Exp $
d420 1
a420 1
		Default: yes on evbarm, no elsewhere.
@


1.367.2.3
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.371 2018/05/09 22:24:01 joerg Exp $
a792 3
		This variable should be used in conjunction with an appropiate
		HAVE_GCC or HAVE_LLVM setting to control the compiler flags.

@


1.367.2.4
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.376 2018/06/24 20:40:58 kamil Exp $
a196 8
MKFIRMWARE      If not "no", install the /libdata/firmware directory,
		which is necessary for several drivers: athn(4), bwfm(4),
		ipw(4), iwi(4), iwm(4), iwn(4), otus(4), rtwn(4), urtwn(4),
		wpi(4), ral(4), rum(4), run(4), zyd(4), bcm43xx(4), and
		the Tegra 124 SoC.
		Default: yes on amd64, cobalt, evbarm evbmips, evbppc, hpcarm,
		hppa, i386, mac68k, macppc, sandpoint, and sparc64, no elsewhere.

a381 20
MKSANITIZER	if "yes", use the selected sanitizer to compile userland
		programs as defined in USE_SANITIZER, which defaults to
		"address". A selection of available sanitizers:
			address:	A memory error detector (default)
			thread:		A data race detector
			memory:		An uninitializer read detector
			undefined:	An undefined behavior detector
			leak:		A memory leak detector
			dataflow:	A general data flow analysis
			cfi:		A control flow detector
			safe-stack:	Protect against stack-based corruption
			scudo:		The Scudo Hardened allocator
		It's possible to specify multiple sanitizers within the
		USE_SANITIZER option (comma separated) and some combinations of
		them work. The USE_SANITIZER value is passed to the -fsanitize=
		argument to a compiler.
		Additional arguments can be passed through SANITIZERFLAGS.
		The list of supported features depends on the compiler version
		and target CPU architecture.

@


1.367.2.5
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.381 2018/07/25 23:30:22 kamil Exp $
a278 22
MKLIBCSANITIZER	If "yes", use the selected sanitizer inside libc to compile
		userland programs and libraries as defined in
		USE_LIBCSANITIZER, which defaults to "undefined".

		The undefined behavior detector is currently the only supported
		sanitizer in this mode. Its runtime differs from the UBSan
		available in MKSANITIZER, and it is reimplemented from scratch
		as micro-UBSan in the user mode (uUBSan). Its code is shared
		with the kernel mode variation (kUBSan). The runtime is
		stripped down from C++ features, in particular -fsanitize=vptr
		is not supported and explicitly disabled. The only runtime
		configuration is restricted to the LIBC_UBSAN environment
		variable, that is designed to be safe for hardening.

		The USE_LIBCSANITIZER value is passed to the -fsanitize=
		argument to the compiler in CFLAGS and CXXFLAGS, but not in
		LDFLAGS, as the runtime part is located inside libc.

		Additional sanitizer arguments can be passed through
		LIBCSANITIZERFLAGS.
		Default: no

d395 1
a395 1
			memory:		An uninitialized memory read detector
d403 3
a405 2
		USE_SANITIZER option (comma separated). The USE_SANITIZER value
		is passed to the -fsanitize= argument to the compiler.
d407 2
a408 3
		The list of supported features and their valid combinations
		depends on the compiler version and target CPU architecture.
		Default: no
d434 1
a434 2
		use a special support in crt0.o for resolving relative
		relocations and require linker support.
d1648 1
@


1.367.2.6
log
@Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.382 2018/08/12 11:50:51 christos Exp $
d406 1
a406 1

d494 1
a494 1
MKX11		If not "no", 'make build' also descends into
d1144 1
a1144 1

d1608 22
a1629 21
		LIBARCHIVE?=		${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=		${DESTDIR}/usr/lib/libasn1.a
		LIBATF_C?=		${DESTDIR}/usr/lib/libatf-c.a
		LIBATF_CXX?=		${DESTDIR}/usr/lib/libatf-c++.a
		LIBBIND9?=		${DESTDIR}/usr/lib/libbind9.a
		LIBBLUETOOTH?=		${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=		${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=		${DESTDIR}/usr/lib/libbz2.a
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBC?=			${DESTDIR}/usr/lib/libc.a
		LIBCOMPAT?=		${DESTDIR}/usr/lib/libcompat.a
		LIBCOM_ERR?=		${DESTDIR}/usr/lib/libcom_err.a
		LIBCRYPT?=		${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=		${DESTDIR}/usr/lib/libcrypto.a
		LIBCURSES?=		${DESTDIR}/usr/lib/libcurses.a
		LIBC_PIC?=		${DESTDIR}/usr/lib/libc_pic.a
		LIBDBM?=		${DESTDIR}/usr/lib/libdbm.a
		LIBDES?=		${DESTDIR}/usr/lib/libdes.a
		LIBDNS?=		${DESTDIR}/usr/lib/libdns.a
		LIBEDIT?=		${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=		${DESTDIR}/usr/lib/libevent.a
d1632 84
a1715 92
		LIBEXECINFO?=		${DESTDIR}/usr/lib/libexecinfo.a
		LIBEXPAT?=		${DESTDIR}/usr/lib/libexpat.a
		LIBFETCH?=		${DESTDIR}/usr/lib/libfetch.a
		LIBFL?=			${DESTDIR}/usr/lib/libfl.a
		LIBFORM?=		${DESTDIR}/usr/lib/libform.a
		LIBG2C?=		${DESTDIR}/usr/lib/libg2c.a
		LIBGCC?=		${DESTDIR}/usr/lib/libgcc.a
		LIBGNUMALLOC?=		${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=		${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=		${DESTDIR}/usr/lib/libhdb.a
		LIBHEIMBASE?=		${DESTDIR}/usr/lib/libheimbase.a
		LIBHEIMNTLM?=		${DESTDIR}/usr/lib/libheimntlm.a
		LIBHX500?=		${DESTDIR}/usr/lib/libhx500.a
		LIBINTL?=		${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=		${DESTDIR}/usr/lib/libipsec.a
		LIBISC?=		${DESTDIR}/usr/lib/libisc.a
		LIBISCCC?=		${DESTDIR}/usr/lib/libisccc.a
		LIBISCFG?=		${DESTDIR}/usr/lib/libiscfg.a
		LIBKADM5CLNT?=		${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=		${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=		${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=		${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=		${DESTDIR}/usr/lib/libkvm.a
		LIBL?=			${DESTDIR}/usr/lib/libl.a
		LIBLBER?=		${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=		${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=		${DESTDIR}/usr/lib/libldap_r.a
		LIBLUA?=		${DESTDIR}/usr/lib/liblua.a
		LIBLUTOK?=		${DESTDIR}/usr/lib/liblutok.a
		LIBM?=			${DESTDIR}/usr/lib/libm.a
		LIBMAGIC?=		${DESTDIR}/usr/lib/libmagic.a
		LIBMENU?=		${DESTDIR}/usr/lib/libmenu.a
		LIBNETPGPVERIFY?=	${DESTDIR}/usr/lib/libnetpgpverify.a
		LIBNS?=			${DESTDIR}/usr/lib/libns.a
		LIBOBJC?=		${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=		${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=		${DESTDIR}/usr/lib/libpam.a
		LIBPANEL?=		${DESTDIR}/usr/lib/libpanel.a
		LIBPCAP?=		${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=		${DESTDIR}/usr/lib/libpci.a
		LIBPOSIX?=		${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=		${DESTDIR}/usr/lib/libpthread.a
		LIBPUFFS?=		${DESTDIR}/usr/lib/libpuffs.a
		LIBQUOTA?=		${DESTDIR}/usr/lib/libquota.a
		LIBRADIUS?=		${DESTDIR}/usr/lib/libradius.a
		LIBREFUSE?=		${DESTDIR}/usr/lib/librefuse.a
		LIBRESOLV?=		${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=		${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=		${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=		${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=			${DESTDIR}/usr/lib/librt.a
		LIBRUMP?=		${DESTDIR}/usr/lib/librump.a
		LIBRUMPFS_CD966	0FS?=	${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
		LIBRUMPFS_EFS?=		${DESTDIR}/usr/lib/librumpfs_efs.a
		LIBRUMPFS_EXT2FS?=	${DESTDIR}/usr/lib/librumpfs_ext2fs.a
		LIBRUMPFS_FFS?=		${DESTDIR}/usr/lib/librumpfs_ffs.a
		LIBRUMPFS_HFS?=		${DESTDIR}/usr/lib/librumpfs_hfs.a
		LIBRUMPFS_LFS?=		${DESTDIR}/usr/lib/librumpfs_lfs.a
		LIBRUMPFS_MSDOSFS?=	${DESTDIR}/usr/lib/librumpfs_msdosfs.a
		LIBRUMPFS_NFS?=		${DESTDIR}/usr/lib/librumpfs_nfs.a
		LIBRUMPFS_NTFS?=	${DESTDIR}/usr/lib/librumpfs_ntfs.a
		LIBRUMPFS_SYSPUFFS?=	${DESTDIR}/usr/lib/librumpfs_syspuffs.a
		LIBRUMPFS_TMPFS?=	${DESTDIR}/usr/lib/librumpfs_tmpfs.a
		LIBRUMPFS_UDF?=		${DESTDIR}/usr/lib/librumpfs_udf.a
		LIBRUMPFS_UFS?=		${DESTDIR}/usr/lib/librumpfs_ufs.a
		LIBRUMPUSER?=		${DESTDIR}/usr/lib/librumpuser.a
		LIBSASLC?=		${DESTDIR}/usr/lib/libsaslc.a
		LIBSKEY?=		${DESTDIR}/usr/lib/libskey.a
		LIBSL?=			${DESTDIR}/usr/lib/libsl.a
		LIBSQLITE3?=		${DESTDIR}/usr/lib/libsqlite3.a
		LIBSS?=			${DESTDIR}/usr/lib/libss.a
		LIBSSH?=		${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=		${DESTDIR}/usr/lib/libssl.a
		LIBSSP?=		${DESTDIR}/usr/lib/libssp.a
		LIBSTDCXX?=		${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=		${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMINFO?=		${DESTDIR}/usr/lib/libterminfo.a
		LIBTRE?=		${DESTDIR}/usr/lib/libtre.a
		LIBUNBOUND?=		${DESTDIR}/usr/lib/libunbound.a
		LIBUSBHID?=		${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=		${DESTDIR}/usr/lib/libutil.a
		LIBWIND?=		${DESTDIR}/usr/lib/libwind.a
		LIBWRAP?=		${DESTDIR}/usr/lib/libwrap.a
		LIBY?=			${DESTDIR}/usr/lib/liby.a
		LIBZ?=			${DESTDIR}/usr/lib/libz.a

		The following c startup files.

		LIBCRT0?=		${DESTDIR}/usr/lib/crt0.o
		LIBCRTI?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTBEGIN?=		${DESTDIR}/usr/lib/crti.o
		LIBCRTEND?=		${DESTDIR}/usr/lib/crtn.o
d1719 37
a1755 37
		LIBFS?=			${DESTDIR}/usr/X11R7/lib/libFS.a
		LIBGL?=			${DESTDIR}/usr/X11R7/lib/libGL.a
		LIBGLU?=		${DESTDIR}/usr/X11R7/lib/libGLU.a
		LIBICE?=		${DESTDIR}/usr/X11R7/lib/libICE.a
		LIBSM?=			${DESTDIR}/usr/X11R7/lib/libSM.a
		LIBX11?=		${DESTDIR}/usr/X11R7/lib/libX11.a
		LIBX11_XCB?=		${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
		LIBXTRAP?=		${DESTDIR}/usr/X11R7/lib/libXTrap.a
		LIBXAU?=		${DESTDIR}/usr/X11R7/lib/libXau.a
		LIBXAW?=		${DESTDIR}/usr/X11R7/lib/libXaw.a
		LIBXCB?=		${DESTDIR}/usr/X11R7/lib/libxcb.a
		LIBXDMCP?=		${DESTDIR}/usr/X11R7/lib/libXdmcp.a
		LIBXEXT?=		${DESTDIR}/usr/X11R7/lib/libXext.a
		LIBXFONT?=		${DESTDIR}/usr/X11R7/lib/libXfont.a
		LIBXFONT2?=		${DESTDIR}/usr/X11R7/lib/libXfont2.a
		LIBXFT?=		${DESTDIR}/usr/X11R7/lib/libXft.a
		LIBXI?=			${DESTDIR}/usr/X11R7/lib/libXi.a
		LIBXINERAMA?=		${DESTDIR}/usr/X11R7/lib/libXinerama.a
		LIBXMU?=		${DESTDIR}/usr/X11R7/lib/libXmu.a
		LIBXMUU?=		${DESTDIR}/usr/X11R7/lib/libXmuu.a
		LIBXPM?=		${DESTDIR}/usr/X11R7/lib/libXpm.a
		LIBXRANDR?=		${DESTDIR}/usr/X11R7/lib/libXrandr.a
		LIBXRENDER?=		${DESTDIR}/usr/X11R7/lib/libXrender.a
		LIBXSS?=		${DESTDIR}/usr/X11R7/lib/libXss.a
		LIBXT?=			${DESTDIR}/usr/X11R7/lib/libXt.a
		LIBXTST?=		${DESTDIR}/usr/X11R7/lib/libXtst.a
		LIBXV?=			${DESTDIR}/usr/X11R7/lib/libXv.a
		LIBXXF86DGA?=		${DESTDIR}/usr/X11R7/lib/libXxf86dga.a
		LIBXXF86MISC?=		${DESTDIR}/usr/X11R7/lib/libXxf86misc.a
		LIBXXF86VM?=		${DESTDIR}/usr/X11R7/lib/libXxf86vm.a
		LIBDPS?=		${DESTDIR}/usr/X11R7/lib/libdps.a
		LIBFNTSTUBS?=		${DESTDIR}/usr/X11R7/lib/libfntstubs.a
		LIBFONTCONFIG?=		${DESTDIR}/usr/X11R7/lib/libfontconfig.a
		LIBFONTENC?=		${DESTDIR}/usr/X11R7/lib/libfontenc.a
		LIBFREETYPE?=		${DESTDIR}/usr/X11R7/lib/libfreetype.a
		LIBLBXUTIL?=		${DESTDIR}/usr/X11R7/lib/liblbxutil.a
		LIBXKBFILE?=		${DESTDIR}/usr/X11R7/lib/libxkbfile.a
@


1.367.2.7
log
@Ssync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.385 2018/09/29 06:48:22 martin Exp $
a584 5
USE_XZ_SETS	If "no", use the host "gzip" program to compress sets.
		Otherwise use xz to compress things.
		Default: "yes" for architectures with "enough" memory to
		decompress, "no" for older ones.

d1329 1
a1329 2
LIBDPLIBS/
PROGDPLIBS	A list of the tuples:
a1331 4
		Instead of depending on installed versions of the libraries,
		one can depend on their built version in the source directory.
		This is useful for finding private libraries (LIBISPRIVATE).

d1346 2
a1347 2
		This variable may be used for individual libraries/programs,
		as well as in parent directories to cache common libraries
@


1.367.2.8
log
@Sync with HEAD, resolve a couple of conflicts
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.386 2018/11/15 09:23:50 martin Exp $
a588 3
		This is currently incompatible with USE_PIGZGZIP, setting
		USE_PIGZGZIP=yes sets USE_XZ_SETS=no by default for all
		architectures.
@


1.367.2.9
log
@Synch with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.367.2.8 2018/11/26 01:52:15 pgoyette Exp $
d868 1
a868 3
TOOL_AMIGATXLT		Amiga assembly language format translator.  [amiga-txlt]

TOOL_ARMELF2AOUT	ELF to a.out executable converter [arm-elf2aout}
a930 2
TOOL_M68KELF2AOUT	ELF to a.out executable converter [m68k-elf2aout}

a1976 2
ARM_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

d2003 1
a2003 3
M68K_ELF2AOUT	Convert ELF-format executable to a.out.  [elf2aout]

MIPS_ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]
@


1.366
log
@Import NVIDIA Tegra XUSB firmware for Tegra124 and Tegra210. Installation
of this firmware is controlled by the MKTEGRAFIRMWARE option, which
defaults to yes on evbarm and evbarm64 and no everywhere else.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.365 2017/11/25 23:22:41 jmcneill Exp $
d691 1
a691 2
X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6 or
		[/usr/X11R7]
@


1.365
log
@Add LIBREFUSE define for DPADD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.364 2017/11/01 15:24:42 khorben Exp $
d418 4
@


1.364
log
@Typo
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.363 2017/10/08 15:03:50 christos Exp $
d1620 1
@


1.363
log
@Add variables for static PIE
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.362 2017/05/21 15:28:42 riastradh Exp $
d377 1
a377 1
MKREPRO         If "yes", create reproducable builds. This enables
d1213 1
a1213 1
		the file it was fed. This leads to non-reproduceable
@


1.362
log
@Remove MKCRYPTO option.

Originally, MKCRYPTO was introduced because the United States
classified cryptography as a munition and restricted its export.  The
export controls were substantially relaxed fifteen years ago, and are
essentially irrelevant for software with published source code.

In the intervening time, nobody bothered to remove the option after
its motivation -- the US export restriction -- was eliminated.  I'm
not aware of any other operating system that has a similar option; I
expect it is mainly out of apathy for churn that we still have it.
Today, cryptography is an essential part of modern computing -- you
can't use the internet responsibly without cryptography.

The position of the TNF board of directors is that TNF makes no
representation that MKCRYPTO=no satisfies any country's cryptography
regulations.

My personal position is that the availability of cryptography is a
basic human right; that any local laws restricting it to a privileged
few are fundamentally immoral; and that it is wrong for developers to
spend effort crippling cryptography to work around such laws.

As proposed on tech-crypto, tech-security, and tech-userlevel to no
objections:

https://mail-index.netbsd.org/tech-crypto/2017/05/06/msg000719.html
https://mail-index.netbsd.org/tech-security/2017/05/06/msg000928.html
https://mail-index.netbsd.org/tech-userlevel/2017/05/06/msg010547.html

P.S.  Reviewing all the uses of MKCRYPTO in src revealed a lot of
*bad* crypto that was conditional on it, e.g. DES in telnet...  That
should probably be removed too, but on the grounds that it is bad,
not on the grounds that it is (nominally) crypto.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.361 2017/05/21 14:24:05 riastradh Exp $
d405 4
@


1.361
log
@Remove some vestiges of MKCRYPTO_IDEA/MKCRYPTO_MDC2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.360 2017/05/21 14:20:45 riastradh Exp $
a149 4
MKCRYPTO	If "no", no cryptography support will be built into the system,
		and also acts as "MKKERBEROS=no".
		Default: yes

@


1.360
log
@Remove MKCRYPTO_RC5.  Unconditionally include RC5 in libcrypto.so.

This option existed only because RC5 is covered by patents that, twenty
years ago, we had reason to suspect the patent holder, RSA, Inc., might
litigate.  The two US patents in question are 5,724,428 and 5,835,600.

According to the USPTO Patent Term Calculator web site at
<https://www.uspto.gov/patent/laws-and-regulations/patent-term-calculator#heading-5>
(retrieved 2017-05-21), patents filed after 1995-06-07 expire twenty
years after the filing date.

number          filing date
5,724,428       1995-11-01
5,835,600       1997-04-21

Thus, these patents appear to be expired.

As proposed on tech-crypto and tech-security:

https://mail-index.netbsd.org/tech-crypto/2017/05/05/msg000718.html
https://mail-index.netbsd.org/tech-security/2017/05/05/msg000927.html
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.359 2017/04/20 09:29:10 ozaki-r Exp $
a1565 2
		LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a
		LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a
@


1.359
log
@Introduce MKSTRIPSYM build option

If it's yes, all local symbols of shared libraries are stripped
(default). If it's no, only temporary local symbols are stripped;
for example, symbols of static functions are kept. Keeping such
symbols is useful on using DTrace for userland libraries and
getting a backtrace from a rump server loading modules (shared
libraries).

Proposed and discussed on tech-kern and tech-toolchain
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.358 2017/02/08 03:44:41 kamil Exp $
a153 3
MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5
		Default: no

a1567 1
		LIBCRYPTO_RC5?=	${DESTDIR}/usr/lib/libcrypto_rc5.a
@


1.358
log
@libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.357 2017/01/07 22:27:36 christos Exp $
d412 9
@


1.357
log
@add nsd
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.356 2016/08/20 16:11:07 christos Exp $
a1613 1
		LIBPTHREAD_DBG?=${DESTDIR}/usr/lib/libpthread_dbg.a
@


1.357.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.359 2017/04/20 09:29:10 ozaki-r Exp $
a411 9
MKSTRIPSYM	If "yes", strip all local symbols from shared libraries;
		the affect is equivalent to -x option of ld(1). If "no",
		strip only temporary local symbols; the affect is equivalent
		to -X option of ld(1). Keeping non-temporary local symbols
		such as static function names is useful on using DTrace for
		userland libraries and getting a backtrace from a rump kernel
		loading shared libraries.
		Default: yes

d1614 1
@


1.356
log
@mention the default for MKUNBOUND
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.355 2016/08/20 11:23:33 christos Exp $
d325 4
@


1.355
log
@unbound additions
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.354 2016/06/14 13:26:45 christos Exp $
d416 1
@


1.354
log
@Add and document MKRELRO and set x86 to partial by default.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.353 2016/03/13 17:56:56 christos Exp $
d372 4
d415 2
a441 4
MKRADEONFIRMWARE If "no", install the /libdata/firmware/radeon directory,
		which is necessary for the radeon DRM driver.
		Default: yes on i386 and amd64, no elsewhere.

d1645 1
@


1.354.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.358 2017/02/08 03:44:41 kamil Exp $
a324 4
MKNSD		If "no", don't build or install the "nsd" DNS authoritative
		server.
		Default: no

d1607 1
@


1.354.2.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.359 2017/04/20 09:29:10 ozaki-r Exp $
a407 9
MKSTRIPSYM	If "yes", strip all local symbols from shared libraries;
		the affect is equivalent to -x option of ld(1). If "no",
		strip only temporary local symbols; the affect is equivalent
		to -X option of ld(1). Keeping non-temporary local symbols
		such as static function names is useful on using DTrace for
		userland libraries and getting a backtrace from a rump kernel
		loading shared libraries.
		Default: yes

@


1.353
log
@Add NO{SSP,FORTIFY}
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.352 2016/02/21 03:34:27 christos Exp $
d372 4
@


1.352
log
@Add NODEBUG
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.351 2016/02/20 15:18:46 christos Exp $
d490 3
d501 3
@


1.351
log
@Provide a variable MKTOOLSDEBUG to build debugging versions of tools.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.350 2016/02/07 14:31:21 christos Exp $
d172 3
@


1.350
log
@fix pasto
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.349 2016/02/01 15:00:43 christos Exp $
d397 3
@


1.349
log
@Document NOCTF, NOPIE.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.348 2015/11/22 04:59:15 kamil Exp $
d357 1
a357 1
NOCTF		Don't create PIE (Position Independent Executables)
@


1.348
log
@Add new predefined value for DPADD: LIBPANEL
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.347 2015/11/07 23:53:28 christos Exp $
d162 3
d357 3
@


1.347
log
@LIBEXECINFO
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.346 2015/07/23 08:03:26 mrg Exp $
d1579 1
@


1.346
log
@remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.345 2015/06/27 16:21:07 matt Exp $
d1543 1
@


1.345
log
@Add MKCOMPATX11 knob for making X11 compat libraries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.344 2015/06/19 18:13:52 matt Exp $
d406 3
a408 4
MKX11		If not "no", depending on the value of ${X11FLAVOUR},
		'make build' also descends into either src/x11 (XFree86) or
		src/external/mit/xorg (modular Xorg) to cross-build X11 and
		automatically enables creation of X sets.
d411 2
a412 3
MKX11FONTS	If not "no", if ${X11FLAVOUR} is "Xorg", do not build or
		install the X fonts.  The xfont set is still created but
		will be empty.
d415 3
a417 4
MKX11MOTIF:	If "yes" and ${X11FLAVOUR} is "Xorg", build the native X11
		libGLw with Motif stubs.  If Motif is not installed in the
		default location /usr/pkg, the location can be specified
		using the X11MOTIFPATH variable.
a494 5
X11FLAVOUR	Set to "Xorg" or "XFree86", depending on whether to build
		XFree86 or modular Xorg.  Only matters if MKX11!=no.
		Default: "Xorg" on amd64, i386, macppc, shark and sparc64,
		"XFree86" on everything else.

a644 2
X11SRCDIR.xc	The path to the (old) X11 xc src tree.  [${X11SRCDIR}/xfree/xc]

d1786 3
a1788 3
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.
@


1.344
log
@Add MKCOMPATTESTS knob to enable building and installing the NetBSD test
suite as part of doing MKCOMPAT
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.343 2015/06/18 22:29:12 pooka Exp $
d143 4
@


1.343
log
@add READELF and STRINGS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.342 2015/05/28 14:36:45 rjs Exp $
d139 4
@


1.342
log
@Build both xf86-video-radeon drivers for amd64 and i386, just build the
old one for other ports.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.341 2015/04/26 21:37:22 mrg Exp $
d1946 2
d1950 2
@


1.341
log
@two changes to radeon drm firmware:
- only install it by default on x86, set new MKRADEONFIRMWARE variable
- install in /libdata, so that separate /usr systems work

(this still doesn't solve PR#49811, which possibly could be handled by
having them being a kernel module loaded by /boot.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.340 2015/04/22 19:43:45 pooka Exp $
a414 5
MKX11RADEONKMS	If "no", build the xf86-video-ati 6.x driver (the last one
		with user-mode switching support), otherwise build the
		kernek-mode switching (KMS) requiring driver.
		Default: yes on i386 and amd64, no elsewhere.

@


1.340
log
@Build ZFS by default only for amd64, not i386.

If we build i386 for 486 (i.e. no 64bit atomic ops) and as a substitute
for the modern hardware that the code was designed to run on use solid
workarounds like external/cddl/osnet/lib/libzpool/atomic.c, there's not
much point in anything.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.339 2015/03/17 01:58:29 mrg Exp $
d420 4
@


1.339
log
@fix the description of MKX11RADEONKMS, as pointed out in PR#49753.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.338 2015/03/01 07:46:04 mrg Exp $
d426 3
a428 2
		compatibility kernel modules.
		Default: yes on i386/amd64, no elsewhere.
@


1.338
log
@add build framework to choose between xf86-video-ati 6.x (UMS/KMS)
and 7.x (KMS only), and switch x86 to the latest (KMS only) version.

(if someone can make x86 install both radeon_drv.so.[67] and leave
the default symlink to .7, that would be nice.  renaming it so that
it's easier to choose via xorg.conf is a little more tricky..)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.337 2014/11/30 15:53:29 uebayasi Exp $
d418 1
a418 1
		Default: yes on i386 and amd64, yes elsewhere.
@


1.337
log
@Add a new build make variable, CONFIGOPTS, which is passed to config(1)
when building kernels.  Revert "mkernel=*" and "mkernels" in favor of
this option.

Diff posted on source-changes-d@@, approved by (null).
@
text
@d1 1
a1 1
#	$NetBSD$
d415 5
@


1.336
log
@Add WARNS=6
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.335 2014/08/05 15:25:20 apb Exp $
d1439 2
@


1.335
log
@Provide and document GZIP_N_FLAG and TOOL_GZIP_N.
These may be used to pass "-nT" instead of just "-n"
when the gzip program is actually pigz.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.334 2014/07/06 18:22:03 dholland Exp $
d1972 1
@


1.335.2.1
log
@Pull up following revision(s) (requested by mrg in ticket #575):
	distrib/sets/mkvars.mk: revision 1.16
	distrib/sets/sets.subr: revision 1.163
	distrib/sets/lists/xdebug/md.amd64: revision 1.11
	distrib/sets/lists/xdebug/md.i386: revision 1.12
	distrib/sets/lists/xserver/md.amd64: revision 1.76
	distrib/sets/lists/xserver/md.i386: revision 1.95
	external/mit/xorg/server/drivers/Makefile: revision 1.64
	external/mit/xorg/server/drivers/xf86-video-radeon-kms/Makefile: revision 1.1
	share/mk/bsd.README: revision 1.338
	share/mk/bsd.own.mk: revision 1.844
add build framework to choose between xf86-video-ati 6.x (UMS/KMS)
and 7.x (KMS only), and switch x86 to the latest (KMS only) version.
(if someone can make x86 install both radeon_drv.so.[67] and leave
the default symlink to .7, that would be nice.  renaming it so that
it's easier to choose via xorg.conf is a little more tricky..)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.335 2014/08/05 15:25:20 apb Exp $
a414 5
MKX11RADEONKMS	If "no", build the xf86-video-ati 6.x driver (the last one
		with user-mode switching support), otherwise build the
		kernek-mode switching (KMS) requiring driver.
		Default: yes on i386 and amd64, yes elsewhere.

@


1.335.2.2
log
@Pull up following revision(s) (requested by mrg in ticket #615):
	share/mk/bsd.README: revision 1.339
fix the description of MKX11RADEONKMS, as pointed out in PR#49753.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.335.2.1 2015/03/09 08:45:26 snj Exp $
d418 1
a418 1
		Default: yes on i386 and amd64, no elsewhere.
@


1.335.2.3
log
@Pull up following revision(s) (requested by mrg in ticket #736):
	distrib/sets/mkvars.mk: revision 1.17
	distrib/sets/lists/base/mi: revision 1.1102
	etc/mtree/NetBSD.dist.base: revision 1.144
	share/mk/bsd.README: revision 1.341
	share/mk/bsd.own.mk: revision 1.847
	sys/dev/microcode/radeon/Makefile: revision 1.3
two changes to radeon drm firmware:
- only install it by default on x86, set new MKRADEONFIRMWARE variable
- install in /libdata, so that separate /usr systems work
(this still doesn't solve PR#49811, which possibly could be handled by
having them being a kernel module loaded by /boot.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.335.2.2 2015/03/18 08:12:16 snj Exp $
a419 4
MKRADEONFIRMWARE If "no", install the /libdata/firmware/radeon directory,
		which is necessary for the radeon DRM driver.
		Default: yes on i386 and amd64, no elsewhere.

@


1.334
log
@Add MKGROFFHTMLDOC and make it default to no. It seems that sometimes
when generating html groff runs netpbm behind your back. Needless to
say we don't have netpbm in base, so this fails on a clean install; so
for now disable generating html for /usr/share/doc by default.
Workaround for PR 48970.

It seems that all available document preparation toolchains are made
of fail.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.333 2014/07/05 19:23:38 dholland Exp $
d624 4
d807 5
@


1.333
log
@Remove HTMLDOCDIR; it is no longer used (and doesn't fit the docs
scheme) and it was never honored anyway except in a couple places.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.332 2014/05/08 13:58:34 phx Exp $
d201 6
@


1.332
log
@Use TOOL_NCDCS to turn an ibmnws kernel automatically into a valid NCD
firmware image for netbooting. This is still a valid ELF kernel, but with
a patched CRC checksum and image size included.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.331 2014/05/05 19:06:29 martin Exp $
a611 3
HTMLDOCDIR	Base path for html system documentation installation.
		[/usr/share/doc/html]

@


1.331
log
@As discussed on tech-toolchain, offer a new make variable MKKDEBUG - if
set to "yes", kernel builds will gain debug info and a netbsd.gdb will
be created (same as adding "makeoptions DEBUG=-g" to the config file).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.330 2014/04/18 00:37:46 christos Exp $
d847 2
@


1.330
log
@Add -g (gnu) so lint recognizes __attribute__
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.329 2014/03/25 09:52:55 ozaki-r Exp $
d237 4
@


1.329
log
@Add MKCTF

This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).

This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.328 2014/02/24 07:23:41 skrll Exp $
d1892 1
a1892 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzFS]
@


1.329.2.1
log
@Rebase.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.335 2014/08/05 15:25:20 apb Exp $
a200 6
MKGROFFHTMLDOC	If "no", avoid trying to use groff to generate html for
		miscellaneous articles, as this seems to sometimes want
		to run software not in base. Does not affect html man
		pages.
		Default: no

a236 4
MKKDEBUG	If "yes", force building of kernel symbol info and creation
		of netbsd.gdb in all kernel builds, independently of the
		settings for "makeoptions DEBUG" in the kernel config file.

d608 3
a616 4
GZIP_N_FLAG	Flags to pass to TOOL_GZIP to prevent it from inserting
		file names or timestamps in the compressed output.
		[-n, or -nT when TOOL_GZIP is really TOOL_PIGZ]

a795 5
TOOL_GZIP_N		Same as TOOL_GZIP, plus a command line option to
			prevent it from inserting file names or timestamps
			into the compressed output.
			[${TOOL_GZIP} ${GZIP_N_FLAG}]

a842 2
TOOL_NCDCS		Turn ELF kernel into a NCD firmware image. [ncdcs]

d1892 1
a1892 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzgFS]
@


1.328
log
@Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.327 2014/01/27 07:57:28 apb Exp $
d149 5
@


1.327
log
@Document TOOL_GZIP.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.326 2014/01/16 01:19:46 christos Exp $
d795 1
a795 1
TOOL_HP700MKBOOT	Make bootable image for hp700.  [hp700-mkboot]
@


1.326
log
@- Add a new bsd.host.mk that contains all the HOST_ variables extracted from
  bsd.sys.mk and bsd.own.mk
- Add protection requiring that:
	1. bsd.sys.mk is not include from other Makefiles directly
	2. bsd.own.mk must be included before bsd.sys.mk since it
	   sets variables that bsd.sys.mk uses as conditionals.

This is step 1 of removing all variable settings from bsd.sys.mk and
leaving behind only rules. This way, the structure of a standard Makefile
is:
	variable overrides

	optionally include bsd.own.mk
	optionally include bsd.endian.mk

	variable settings that use variables defined in bsd.own.mk

	include a one or more rule .mk files (such as bsd.prog.mk etc)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.325 2014/01/14 18:51:45 christos Exp $
d466 2
a467 2
		Otherwise, build tools/pigz and use nbpigz to compress
		things.
d789 2
@


1.325
log
@use bsd.syscall.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.324 2014/01/14 11:32:35 apb Exp $
d1753 69
d1824 4
a1827 3
The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
<bsd.lib.mk>.  It contains overrides that are used when building
the NetBSD source tree.
d1948 1
a1948 1
=-=-=-=-=   bsd.x11.mk   =-=-=-=-=
d1950 2
a1951 4
The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.
d1953 1
a1953 5
It provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11's manual page source
		into an mdoc.old source file.
d1955 1
a1955 4
It sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>
d1957 1
a1957 2
LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>
d1959 1
a1959 2
MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>
d1961 1
a1961 2
CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}
d1963 1
a1963 2
LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}
d1965 1
a1965 1
X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.
d1967 1
a1967 1
X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.
d1969 1
a1969 1
X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.
d1971 1
a1971 1
X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.
d1973 1
a1973 1
X11FLAGS.SERVER		Equivalent to X11's ServerDefines.
d1975 1
a1975 1
X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.
d1977 1
a1977 1
X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.
d1979 1
a1979 1
X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.
d1981 1
a1981 1
X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.
d1983 1
a1983 1
X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'
d1985 1
a1985 1
It uses the following variables:
d1987 1
a1987 1
APPDEFS			List of app-default files to install.
d1989 1
a1989 3
CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a `.cpp' suffix, the generated files do not.
d1991 1
a1991 1
CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.
d1993 1
a1993 1
CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.
d1995 1
@


1.324
log
@Document new default for MKARZERO.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.323 2013/12/06 23:14:15 matt Exp $
d1126 5
@


1.323
log
@Describe MACHINES.${MACHINE_CPU}.  <fixme>
Add sparc64 to MACHINES.sparc since sparc64 can be build as sparc.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.322 2013/11/11 10:24:53 joerg Exp $
d1146 2
a1147 1
		builds. If MKARZERO is set to "yes" (default is "no")
@


1.322
log
@Relink binaries if crti.o changes.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.321 2013/10/28 01:47:13 mrg Exp $
d883 4
@


1.321
log
@add MKDEPCXX, that is used for C++ files depend creation.  also
add some missing ${COPTS.${.IMPSRC:T}} and ${CPUFLAGS.${.IMPSRC:T}}
to the dependancy rules.

this makes it possible to have C++ files .d files created with the
C++ compiler, and with the normal options for this file, which
means that we can build libstdc++-v3 from gcc 4.8.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.320 2013/09/29 14:36:25 christos Exp $
d1488 1
@


1.320
log
@Add libxcb
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.319 2013/08/03 19:31:26 adam Exp $
d1812 2
@


1.319
log
@Fixed a typo
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.318 2013/06/02 11:02:40 mbalmer Exp $
d1597 1
@


1.318
log
@New variable MKX11MOTIF to enable building libGLw with Motif support.
Defaults to 'no'.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.317 2013/05/31 06:48:43 mrg Exp $
d355 1
a355 1
MKSLJIT		If "no", disables buildin of sljit (stack-less platform
@


1.317
log
@add LIBX11_XCB; unfortunately since the library is named with a -
in it, we have to use an ugly hard coded assignment for now.
(could be cleaned up with more make variable magic i'm sure.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.316 2013/04/28 04:44:21 joerg Exp $
d394 6
@


1.316
log
@MKLIBCXX and MKLIBSTDCXX
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.315 2013/04/11 01:27:46 christos Exp $
d1587 1
@


1.315
log
@add new libevent2 libraries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.314 2013/03/05 02:02:07 christos Exp $
d249 6
@


1.314
log
@MKDEPINCLUDES support.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.313 2013/02/16 21:40:45 jmmv Exp $
d1488 2
@


1.313
log
@Hook Lutok into the build.  This is all protected by the MKKYUA guard.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.312 2013/02/15 19:49:48 jmmv Exp $
d160 7
@


1.312
log
@Add the MKKYUA knob.

MKKYUA defaults to no and will remain as such until the import is complete
and validated.

This knob does not currently have any effects on the build as nothing relies
on it yet.  Upcoming imports and changes in this area will all be guarded by
this flag.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.311 2013/02/10 22:05:51 jmcneill Exp $
d1508 1
@


1.311
log
@add TOOL_MKNOD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.310 2012/12/02 20:19:46 apb Exp $
d116 5
a120 2
MKATF		If "no", don't build libatf-c, libatf-c++ libraries associated
		with the Automated Testing Framework (ATF).
d232 6
@


1.310
log
@Document MAKEDIRTARGETENV
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.309 2012/11/24 14:01:28 alnsn Exp $
d800 2
@


1.309
log
@Document MKSLJIT variable.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.308 2012/11/19 16:04:54 apb Exp $
d631 4
@


1.308
log
@On second thoughts, don't run "rm -rf" in bsd.clean.mk.  Instead,
document that CLEANFILES and CLEANDIRFILES must not contain
directory names.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.307 2012/11/13 22:30:38 pooka Exp $
d333 4
@


1.307
log
@Make it easier build binaries against the host's libs, e.g.
libpthread which might be in /lib/x86_64-linux-gnu/libpthread.so.0
or some other unholy place.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.306 2012/11/04 16:27:28 christos Exp $
d907 5
@


1.306
log
@add MKTPM, default to no
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.305 2012/11/04 10:59:13 apb Exp $
d1168 5
@


1.305
log
@Add _NETBSD_VERSION_DEPENDS in bsd.own.mk.  Targets that need
to be re-generated when the NetBSD version numberchanges,
or when any build-related variables change, may depend on
${_NETBSD_VERSION_DEPENDS}.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.304 2012/10/02 04:53:11 jkoshy Exp $
d342 4
@


1.304
log
@Document the MKKMOD build knob.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.303 2012/09/30 03:07:25 jkoshy Exp $
d502 22
@


1.303
log
@Note that the MKCOMPAT build knob is supported on mips64-based
architectures.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.302 2012/09/29 12:03:41 jkoshy Exp $
d226 3
@


1.302
log
@Document the MKDTRACE build knob.

Reviewed by:	apb
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.301 2012/09/20 15:48:54 abs Exp $
d134 1
a134 1
		Default: yes on amd64/sparc64, no elsewhere.
@


1.301
log
@strip trailing whitespace - noted by Snader_LB on IRC
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.300 2012/08/23 21:21:16 joerg Exp $
d160 5
@


1.300
log
@Revert last, it breaks the tricks xsrc uses.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.298 2012/08/08 13:56:13 christos Exp $
d286 1
a286 1
		Default: yes (for MACHINE_ARCHs that support it) 
d360 2
a361 2
MKZFS		If "no", do not build and install utilities and libraries 
		used to manage ZFS file system. Do not build zfs and solaris 
d412 1
a412 1
		__builtin_object_size() function to determine the buffer 
d644 1
a644 1
		TOOLCHAIN_MISSING is conditionally assigned the value "yes". 
d938 1
a938 1
		The source files have a `.uue' suffix, the generated files do 
d1135 1
a1135 1
		well as in parent directories to cache common libraries 
d1277 1
a1277 1
of suffixes, consistent with the current needs of the BSD tree. 
@


1.300.2.1
log
@Resync to 2012-11-19 00:00:00 UTC
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.307 2012/11/13 22:30:38 pooka Exp $
d134 1
a134 1
		Default: yes on amd64/mips64/sparc64, no elsewhere.
a159 5
MKDTRACE	If "no", do not build and install the kernel modules,
		utilities and libraries used to implement the dtrace(1)
		facility.
		Default: no

a220 3
MKKMOD		If "no", disables building of kernel modules.
		Default: yes

d286 1
a286 1
		Default: yes (for MACHINE_ARCHs that support it)
a333 4
MKTPM		If "no" then don't build the Trusted Platform Module
		infrastructure.
		Default: no

d360 2
a361 2
MKZFS		If "no", do not build and install utilities and libraries
		used to manage ZFS file system. Do not build zfs and solaris
d412 1
a412 1
		__builtin_object_size() function to determine the buffer
a493 22
_NETBSD_VERSION_DEPENDS
		A list of files which contain information about
		the version of the NetBSD being built.  This is
		defined only if the current directory appears
		to be inside a NetBSD source tree.  The list of
		files includes ${NETBSDSRCDIR}/sys/sys/param.h
		(which contains the kernel version number),
		${NETBSDSRCDIR}/sys/conf/newvers.sh and
		${NETBSDSRCDIR}/sys/conf/osrelease.sh (which
		interpret the information in sys/sys/param.h), and
		${_SRC_TOP_OBJ_}/params (which is an optional file,
		created by "make build" in ${_SRC_TOP_}/Makefile,
		containing all the variables that may influence the
		build).

		Targets that depend on the NetBSD version, or on
		variables defined at build time, can declare a
		dependency on ${_NETBSD_VERSION_DEPENDS}, like this:

			version.c: ${_NETBSD_VERSION_DEPENDS}
				commands to create version.c

d644 1
a644 1
		TOOLCHAIN_MISSING is conditionally assigned the value "yes".
d938 1
a938 1
		The source files have a `.uue' suffix, the generated files do
a1133 5
		The special value "_external" for LIBDO.lib makes the
		build system to assume the library comes from outside
		of the NetBSD source tree and only causes -llibname
		to be added to LDADD.

d1135 1
a1135 1
		well as in parent directories to cache common libraries
d1277 1
a1277 1
of suffixes, consistent with the current needs of the BSD tree.
@


1.300.2.2
log
@resync with head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.300.2.1 2012/11/20 03:00:52 tls Exp $
d116 2
a117 5
MKATF		If "no", don't build the Automated Testing Framework (ATF),
		which includes the libatf-c, libatf-c++ and libatf-sh libraries
		and the various command line tools.  Also, because the build of
		the libraries is disabled, don't build the NetBSD test suite
		either.
a228 6
MKKYUA		If "no", don't build Kyua nor its dependent library Lutok.
		Note that setting this to "no" does not disable the build of
		the NetBSD test suite itself; the build of the tests is
		controlled by the MKATF knob.
		Default: no (until the import is done and validated)

a332 4
MKSLJIT		If "no", disables buildin of sljit (stack-less platform
		independent JIT compiler) private library and tests.
		Default: yes on amd64, i386 and sparc, no elsewhere.

a626 4
MAKEDIRTARGETENV
		Environment variables passed to the child make process
		invoked by MAKEDIRTARGET.

a791 2
TOOL_MKNOD		Make device special file.  [mknod]

a906 5
The files listed in CLEANFILES and CLEANDIRFILES must not be
directories, because the potential risk from running "rm -rf" commands
in bsd.clean.mk is considered too great.  If you want to recursively
delete a directory as part of "make clean" or "make cleandir" then you
need to provide your own target.
a1483 1
		LIBLUTOK?=	${DESTDIR}/usr/lib/liblutok.a
@


1.300.2.3
log
@resync from head
@
text
@d1 1
a1 1
#	$NetBSD$
a159 7
MKDEPINCLUDES	If "yes" issue .include statements in the .depend file
		instead of inlining the contents of the .d files. Useful
		when stale dependencies are present, to list the exact
		files that need refreshing. It is off by default because
		it is possibly slower.
		Default "no"

a241 6
MKLIBCXX	If not "no", build and install libc++.
		Default: no

MKLIBSTDCXX	If not "no", build and install libstdc++.
		Default: yes

a380 6
MKX11MOTIF:	If "yes" and ${X11FLAVOUR} is "Xorg", build the native X11
		libGLw with Motif stubs.  If Motif is not installed in the
		default location /usr/pkg, the location can be specified
		using the X11MOTIFPATH variable.
		Default: no

a1480 2
		LIBEVENT_OPENSSL?=	${DESTDIR}/usr/lib/libevent_openssl.a
		LIBEVENT_PTHREADS?=	${DESTDIR}/usr/lib/libevent_pthreads.a
a1571 1
		LIBX11_XCB?=	${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
@


1.300.2.4
log
@Rebase to HEAD as of a few days ago.
@
text
@a148 5
MKCTF		If "no", do not build and install CTF tools, and also
		don't generate and manipulate CTF data of ELF binaries
		during build.
		Default: no

a195 6
MKGROFFHTMLDOC	If "no", avoid trying to use groff to generate html for
		miscellaneous articles, as this seems to sometimes want
		to run software not in base. Does not affect html man
		pages.
		Default: no

a231 4
MKKDEBUG	If "yes", force building of kernel symbol info and creation
		of netbsd.gdb in all kernel builds, independently of the
		settings for "makeoptions DEBUG" in the kernel config file.

d355 1
a355 1
MKSLJIT		If "no", disables building of sljit (stack-less platform
d466 2
a467 2
		Otherwise, build tools/pigz, set TOOL_GZIP=${TOOL_PIGZ},
		and use nbpigz to compress things.
d603 3
a611 4
GZIP_N_FLAG	Flags to pass to TOOL_GZIP to prevent it from inserting
		file names or timestamps in the compressed output.
		[-n, or -nT when TOOL_GZIP is really TOOL_PIGZ]

a788 7
TOOL_GZIP		Compression/decompression tool.  [gzip]

TOOL_GZIP_N		Same as TOOL_GZIP, plus a command line option to
			prevent it from inserting file names or timestamps
			into the compressed output.
			[${TOOL_GZIP} ${GZIP_N_FLAG}]

d793 1
a793 1
TOOL_HPPAMKBOOT		Make bootable image for hppa.  [hppa-mkboot]
a835 2
TOOL_NCDCS		Turn ELF kernel into a NCD firmware image. [ncdcs]

a882 4
For each possible value of MACHINE_CPU, MACHINES.${MACHINE_CPU} contain a
list of what ports can be built for it.  This keeps those definitions in
centralized place.

a1121 5
=-=-=-=-=   bsd.syscall.mk =-=-=-=-=

The include file <bsd.syscall.mk> contains the logic to create syscall
files for various emulations. It includes <bsd.kinc.mk> to handle the
rest of the targets.
d1142 1
a1142 2
		builds. If MKARZERO is set to "yes" (default is the
		same as MKREPRO, or "no" if MKREPRO is not defined),
a1487 1
		LIBCRTI?=	${DESTDIR}/usr/lib/crti.o
a1596 1
		LIBXCB?=	${DESTDIR}/usr/X11R7/lib/libxcb.a
a1740 69
=-=-=-=-=   bsd.x11.mk   =-=-=-=-=

The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.

It provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11's manual page source
		into an mdoc.old source file.

It sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>

LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>

MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>

CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}

LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}

X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.

X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.

X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.

X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.

X11FLAGS.SERVER		Equivalent to X11's ServerDefines.

X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.

X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.

X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.

X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.

X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'

It uses the following variables:

APPDEFS			List of app-default files to install.

CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a `.cpp' suffix, the generated files do not.

CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.

CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The following files are described here for completion, but they are not
supposed to be included directly from other Makefiles; they are used
internally by other system files.

d1743 3
a1745 4
The include file <bsd.sys.mk> is used by other system mk files and
it is not intended to be included standalone. It contains rules and
system build variables. It requires bsd.own.mk to be included first.
It contains overrides that are used when building the NetBSD source tree.
d1803 1
a1803 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzgFS]
a1810 2
MKDEPCXX	Construct Makefile dependency list for C++ files.  [mkdep]

d1864 1
a1864 1
=-=-=-=-=   bsd.host.mk  =-=-=-=-=
d1866 4
a1869 2
This file is automatically included from bsd.own.mk. It contains settings
for all the HOST_* variables that are used in host programs and libraries.
d1871 5
a1875 1
HOST_AR			The host archive processing command
d1877 1
a1877 1
HOST_CC			The host c compiler
d1879 2
a1880 1
HOST_CFLAGS		The host c compiler flags
d1882 2
a1883 1
HOST_COMPILE.c		The host c compiler line with flags
d1885 2
a1886 1
HOST_COMPILE.cc		The host c++ compiler line with flags
d1888 2
a1889 1
HOST_CPP		The host c pre-processor
d1891 2
a1892 1
HOST_CPPFLAGS		The cost c pre-processor flags
d1894 1
a1894 1
HOST_CXX		The host c++ compiler
d1896 1
a1896 1
HOST_CXXFLAGS		The host c++ compiler flags
d1898 1
a1898 1
HOST_INSTALL_DIR	The host command to install a directory
d1900 1
a1900 1
HOST_INSTALL_FILE	The host command to install a file
d1902 1
a1902 1
HOST_INSTALL_SYMLINK	The host command to install a symlink
d1904 1
a1904 1
HOST_LD			The host linker command
d1906 1
a1906 1
HOST_LDFLAGS		The host linker flags
d1908 1
a1908 1
HOST_LINK.c		The host c linker line with flags
d1910 3
a1912 1
HOST_LINK.cc		The host c++ linker line with flags
d1914 1
a1914 1
HOST_LN			The host command to link two files
d1916 1
a1916 1
HOST_MKDEP		The host command to create dependencies for c programs
d1918 3
a1920 1
HOST_MKDEPCXX		The host command to create dependencies for c++ programs
d1922 1
a1922 1
HOST_OSTYPE		The host OSNAME-RELEASE-ARCH tupple
d1924 1
a1924 1
HOST_RANLIB		The host command to create random access archives
a1925 1
HOST_SH			The host Bourne shell interpreter name (absolute path)
@


1.299
log
@Remove SHLIBINSTALLDIR and SHLINKINSTALLLIBDIR. Add rpath entries, if
SHLIBDIR differs from /usr/lib.
@
text
@d1071 3
d1078 1
a1078 1
USE_SHLIBDIR	If not "no", use ${SHLIBDIR} instead of ${LIBDIR}
d1616 4
d1624 1
a1624 1
_LIBSODIR	Set to ${SHLIBDIR} if ${USE_SHLIBDIR} is not "no",
d1627 2
@


1.298
log
@add MKRUMP by popular demand.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.297 2012/07/14 16:04:06 spz Exp $
a1070 3
SHLIBINSTALLDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
		is not "no".

d1075 1
a1075 1
USE_SHLIBDIR	If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
a1612 4
SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
		instead of ${LIBDIR} as the base path for shared library
		installation.  [/lib]

d1617 1
a1617 1
_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
a1619 2
SHLINKINSTALLDIR Base path for shared linker.  [/libexec]

@


1.297
log
@more MKCRYPTO_IDEA and MKCRYPTO_MDC2 removal (resp, adjustment to IDEA and
MBC2 now always being included)
MKCRYPTO_RC5 now builds shared libs, add the missing files to sets
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.296 2012/06/19 06:20:13 plunky Exp $
d365 4
@


1.296
log
@since we seem to have grown a WARNS=5, list it here
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.295 2012/05/25 10:48:48 wiz Exp $
d143 1
a143 7
MKCRYPTO_IDEA	If not "no", IDEA support will be built into libcrypto_idea.a.
		Default: no

MKCRYPTO_MDC2	If not "no", MDC2 support will be built into libcrypto_mdc2.a
		Default: no

MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5.a.
@


1.295
log
@Document MKREPRO here as well.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.294 2012/02/29 20:07:57 tron Exp $
d1773 1
a1773 1
WARNS		Crank up GCC warning options; the distinct levels are:
d1778 1
@


1.294
log
@Move "libexpat" from X11 into base which fixes PR lib/40346.
This change was approved by the Core Group.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.293 2012/02/17 00:00:02 joerg Exp $
d316 5
@


1.293
log
@Derive MANINSTALL from MKCATPAGES and MKHTML.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.292 2012/02/07 22:58:49 joerg Exp $
d1415 1
a1526 1
		LIBEXPAT?=	${DESTDIR}/usr/X11R7/lib/libexpat.a
@


1.292
log
@Sync with reality for MKCATPAGES and MKMANDOC.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.291 2012/01/28 21:32:13 christos Exp $
d515 1
a515 1
		[catinstall maninstall htmlinstall]
@


1.292.2.1
log
@Pull up following revision(s) (requested by joerg in ticket #5):
	share/mk/bsd.own.mk: revision 1.697
	share/mk/bsd.README: revision 1.293
Derive MANINSTALL from MKCATPAGES and MKHTML.
@
text
@d1 1
a1 1
#	$NetBSD$
d515 1
a515 1
		Default value derived from MKCATPAGES and MKHTML.
@


1.292.2.2
log
@Pull up following revision(s) (requested by tron in ticket #72):
	external/mit/xorg/lib/fontconfig/src/Makefile: revision 1.8
	distrib/sets/lists/xbase/shl.mi: revision 1.45
	distrib/sets/lists/comp/ad.mips64eb: revision 1.72
	external/mit/expat/lib/Makefile: revision 1.1
	external/mit/xorg/tools/fc-cache/Makefile: revision 1.6
	x11/lib/fontconfig/src/Makefile: revision 1.11
	distrib/sets/lists/xcomp/mi: revision 1.134
	distrib/sets/lists/base/md.amd64: revision 1.159
	distrib/sets/lists/base/ad.mips64eb: revision 1.85
	external/mit/xorg/lib/dri/dri.mk: revision 1.11
	external/mit/expat/lib/Makefile.inc: revision 1.1
	external/mit/expat/Makefile.inc: revision 1.1
	distrib/sets/lists/base/shl.mi: revision 1.619
	distrib/sets/lists/comp/shl.mi: revision 1.212
	distrib/sets/lists/man/mi: revision 1.1382
	distrib/sets/lists/comp/mi: revision 1.1743
	x11/lib/expat/Makefile: file removal
	lib/Makefile: revision 1.182
	external/mit/expat/Makefile: revision 1.1
	external/mit/Makefile: revision 1.2
	distrib/sets/lists/xcomp/shl.mi: revision 1.31
	external/mit/xorg/bin/xmlwf/Makefile: revision 1.4
	external/mit/xorg/lib/Makefile: revision 1.25
	external/mit/expat/lib/libexpat/Makefile: revision 1.1
	distrib/sets/lists/comp/ad.mips64el: revision 1.72
	x11/lib/expat/shlib_version: file removal
	external/mit/xorg/lib/expat/expat_config.h: file removal
	external/mit/expat/bin/xmlwf/Makefile: revision 1.1
	share/mk/bsd.prog.mk: revision 1.274
	distrib/sets/lists/base/ad.mips64el: revision 1.84
	x11/lib/Makefile: revision 1.11
	external/mit/xorg/lib/expat/Makefile: file removal
	external/mit/xorg/lib/expat/shlib_version: file removal
	distrib/sets/lists/comp/md.amd64: revision 1.158
	distrib/sets/lists/base/mi: revision 1.987
	distrib/sets/lists/base/md.sparc64: revision 1.150
	share/mk/bsd.README: revision 1.294
	external/mit/expat/bin/Makefile.inc: revision 1.1
	distrib/sets/lists/xbase/mi: revision 1.113
	external/mit/expat/lib/libexpat/shlib_version: revision 1.1
	external/mit/expat/lib/libexpat/expat_config.h: revision 1.1
	distrib/sets/lists/comp/md.sparc64: revision 1.141
	share/mk/bsd.hostprog.mk: revision 1.67
	external/mit/expat/bin/Makefile: revision 1.1
Move &quot;libexpat&quot; from X11 into base which fixes PR lib/40346.
This change was approved by the Core Group.
@
text
@a1414 1
		LIBEXPAT?=	${DESTDIR}/usr/lib/libexpat.a
d1526 1
@


1.292.2.2.2.1
log
@sync with netbsd-6-0-RELEASE.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.292.2.3 2012/09/17 19:00:33 riz Exp $
d143 6
d1405 2
@


1.292.2.3
log
@Pull up following revision(s) (requested by spz in ticket #557):
distrib/sets/lists/base/ad.mips64eb		1.94-1.95 via patch
distrib/sets/lists/base/ad.mips64el		1.93-1.94 via patch
distrib/sets/lists/base/md.amd64		1.169-1.170 via patch
distrib/sets/lists/base/md.sparc64		1.159-1.160 via patch
distrib/sets/lists/base/shl.mi			1.629,1.630,1.632 via patch
distrib/sets/lists/comp/ad.mips64eb		1.81-1.82 via patch
distrib/sets/lists/comp/ad.mips64el		1.821.83 via patch
distrib/sets/lists/comp/md.amd64		1.168-1.169 via patch
distrib/sets/lists/comp/md.sparc64		1.150-1.151 via patch
distrib/sets/lists/comp/mi			1.1769 via patch
distrib/sets/lists/comp/shl.mi			1.226-1.227 via patch
distrib/sets/lists/tests/mi			1.477 via patch
distrib/sets/sets.subr				1.137 via patch
etc/Makefile					1.397 via patch
share/man/man5/mk.conf.5			1.60 via patch
share/mk/bsd.README				1.297 via patch
share/mk/bsd.own.mk				1.700 via patch
tests/crypto/libcrypto/Makefile			patch
tests/crypto/libcrypto/t_ciphers.sh		1.4 via patch
tests/crypto/libcrypto/t_hashes.sh		1.2 via patch
tests/crypto/libcrypto/idea/Makefile		patch
tests/crypto/libcrypto/mdc2/Makefile		patch
usr.sbin/racoon/Makefile			1.25 via patch

	Clean up MKCRYPTO_IDEA and MKCRYPTO_MDC2 removal, so that
	a tree with MKCRYPTO_RC5=yes actually builds.
	[spz, ticket #557]

The "iso" directory never made it into this file, but now
that "iso" is "images", document it here for the edification of
folks browsing the download directories.
add crypto shared libraries
mark idea and mdc2 libraries obsolete.
remove mdc2 and idea handling
MKCRYPTO_{IDEA,MDC2} is no more
MKCRYPTO_IDEA is no more
no more CRYPTO_{IDEA,MDC2}
more MKCRYPTO_IDEA and MKCRYPTO_MDC2 removal (resp, adjustment to IDEA and
MBC2 now always being included)
MKCRYPTO_RC5 now builds shared libs, add the missing files to sets
@
text
@d143 6
d1405 2
@


1.291
log
@Provide a way to override the default objcopy flags for library modules.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.290 2011/11/05 22:56:30 christos Exp $
d131 1
a131 1
		Default: yes
d256 1
a256 1
		Default: no
@


1.290
log
@Add libtre
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289 2011/10/16 01:28:35 christos Exp $
d1734 3
@


1.289
log
@rump not rum
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.288 2011/10/16 01:14:33 christos Exp $
d1488 1
@


1.289.2.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289 2011/10/16 01:28:35 christos Exp $
a1487 1
		LIBTRE?=	${DESTDIR}/usr/lib/libtre.a
@


1.289.2.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289.2.1 2011/11/10 14:31:38 yamt Exp $
d131 1
a131 1
		Default: no
d256 1
a256 1
		Default: yes
d515 1
a515 1
		Default value derived from MKCATPAGES and MKHTML.
a1414 1
		LIBEXPAT?=	${DESTDIR}/usr/lib/libexpat.a
d1526 1
a1733 3
OBJCOPYLIBFLAGS	Flags to pass to objcopy when library objects are
		being built. [${.TARGET} =~ "*.po" ? -X : -x]

@


1.289.2.3
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289.2.2 2012/04/17 00:05:50 yamt Exp $
d134 1
a134 1
		Default: yes on amd64/mips64/sparc64, no elsewhere.
d143 7
a149 1
MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5
a165 5
MKDTRACE	If "no", do not build and install the kernel modules,
		utilities and libraries used to implement the dtrace(1)
		facility.
		Default: no

a226 3
MKKMOD		If "no", disables building of kernel modules.
		Default: yes

d292 1
a292 1
		Default: yes (for MACHINE_ARCHs that support it)
a315 5
MKREPRO         If "yes", create reproducable builds. This enables
		different switches to make two builds from the same source tree
		result in the same build results.
		Default: no

d361 2
a362 2
MKZFS		If "no", do not build and install utilities and libraries
		used to manage ZFS file system. Do not build zfs and solaris
a365 4
MKRUMP		If "no", do not build and install rump related headers,
		libraries, and programs.
		Default: yes

d409 1
a409 1
		__builtin_object_size() function to determine the buffer
d641 1
a641 1
		TOOLCHAIN_MISSING is conditionally assigned the value "yes".
d935 1
a935 1
		The source files have a `.uue' suffix, the generated files do
d1132 1
a1132 1
		well as in parent directories to cache common libraries
d1274 1
a1274 1
of suffixes, consistent with the current needs of the BSD tree.
d1768 1
a1768 1
WARNS		Crank up compiler warning options; the distinct levels are:
a1772 1
			WARNS=5
@


1.289.2.4
log
@sync with (a bit old) head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289.2.3 2012/10/30 18:59:46 yamt Exp $
a332 4
MKSLJIT		If "no", disables buildin of sljit (stack-less platform
		independent JIT compiler) private library and tests.
		Default: yes on amd64, i386 and sparc, no elsewhere.

a341 4
MKTPM		If "no" then don't build the Trusted Platform Module
		infrastructure.
		Default: no

a501 22
_NETBSD_VERSION_DEPENDS
		A list of files which contain information about
		the version of the NetBSD being built.  This is
		defined only if the current directory appears
		to be inside a NetBSD source tree.  The list of
		files includes ${NETBSDSRCDIR}/sys/sys/param.h
		(which contains the kernel version number),
		${NETBSDSRCDIR}/sys/conf/newvers.sh and
		${NETBSDSRCDIR}/sys/conf/osrelease.sh (which
		interpret the information in sys/sys/param.h), and
		${_SRC_TOP_OBJ_}/params (which is an optional file,
		created by "make build" in ${_SRC_TOP_}/Makefile,
		containing all the variables that may influence the
		build).

		Targets that depend on the NetBSD version, or on
		variables defined at build time, can declare a
		dependency on ${_NETBSD_VERSION_DEPENDS}, like this:

			version.c: ${_NETBSD_VERSION_DEPENDS}
				commands to create version.c

a600 4
MAKEDIRTARGETENV
		Environment variables passed to the child make process
		invoked by MAKEDIRTARGET.

a880 5
The files listed in CLEANFILES and CLEANDIRFILES must not be
directories, because the potential risk from running "rm -rf" commands
in bsd.clean.mk is considered too great.  If you want to recursively
delete a directory as part of "make clean" or "make cleandir" then you
need to provide your own target.
a1141 5
		The special value "_external" for LIBDO.lib makes the
		build system to assume the library comes from outside
		of the NetBSD source tree and only causes -llibname
		to be added to LDADD.

@


1.289.2.5
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.289.2.4 2013/01/16 05:32:37 yamt Exp $
d116 2
a117 5
MKATF		If "no", don't build the Automated Testing Framework (ATF),
		which includes the libatf-c, libatf-c++ and libatf-sh libraries
		and the various command line tools.  Also, because the build of
		the libraries is disabled, don't build the NetBSD test suite
		either.
a145 5
MKCTF		If "no", do not build and install CTF tools, and also
		don't generate and manipulate CTF data of ELF binaries
		during build.
		Default: no

a156 7
MKDEPINCLUDES	If "yes" issue .include statements in the .depend file
		instead of inlining the contents of the .d files. Useful
		when stale dependencies are present, to list the exact
		files that need refreshing. It is off by default because
		it is possibly slower.
		Default "no"

a221 4
MKKDEBUG	If "yes", force building of kernel symbol info and creation
		of netbsd.gdb in all kernel builds, independently of the
		settings for "makeoptions DEBUG" in the kernel config file.

a228 6
MKKYUA		If "no", don't build Kyua nor its dependent library Lutok.
		Note that setting this to "no" does not disable the build of
		the NetBSD test suite itself; the build of the tests is
		controlled by the MKATF knob.
		Default: no (until the import is done and validated)

a232 6
MKLIBCXX	If not "no", build and install libc++.
		Default: no

MKLIBSTDCXX	If not "no", build and install libstdc++.
		Default: yes

d333 1
a333 1
MKSLJIT		If "no", disables building of sljit (stack-less platform
a371 6
MKX11MOTIF:	If "yes" and ${X11FLAVOUR} is "Xorg", build the native X11
		libGLw with Motif stubs.  If Motif is not installed in the
		default location /usr/pkg, the location can be specified
		using the X11MOTIFPATH variable.
		Default: no

d438 2
a439 2
		Otherwise, build tools/pigz, set TOOL_GZIP=${TOOL_PIGZ},
		and use nbpigz to compress things.
a760 2
TOOL_GZIP		Compression/decompression tool.  [gzip]

d765 1
a765 1
TOOL_HPPAMKBOOT		Make bootable image for hppa.  [hppa-mkboot]
a799 2
TOOL_MKNOD		Make device special file.  [mknod]

a805 2
TOOL_NCDCS		Turn ELF kernel into a NCD firmware image. [ncdcs]

a852 4
For each possible value of MACHINE_CPU, MACHINES.${MACHINE_CPU} contain a
list of what ports can be built for it.  This keeps those definitions in
centralized place.

a1091 5
=-=-=-=-=   bsd.syscall.mk =-=-=-=-=

The include file <bsd.syscall.mk> contains the logic to create syscall
files for various emulations. It includes <bsd.kinc.mk> to handle the
rest of the targets.
d1112 1
a1112 2
		builds. If MKARZERO is set to "yes" (default is the
		same as MKREPRO, or "no" if MKREPRO is not defined),
a1457 1
		LIBCRTI?=	${DESTDIR}/usr/lib/crti.o
a1469 2
		LIBEVENT_OPENSSL?=	${DESTDIR}/usr/lib/libevent_openssl.a
		LIBEVENT_PTHREADS?=	${DESTDIR}/usr/lib/libevent_pthreads.a
a1496 1
		LIBLUTOK?=	${DESTDIR}/usr/lib/liblutok.a
a1559 1
		LIBX11_XCB?=	${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
a1562 1
		LIBXCB?=	${DESTDIR}/usr/X11R7/lib/libxcb.a
a1706 69
=-=-=-=-=   bsd.x11.mk   =-=-=-=-=

The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.

It provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11's manual page source
		into an mdoc.old source file.

It sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>

LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>

MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>

CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}

LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}

X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.

X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.

X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.

X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.

X11FLAGS.SERVER		Equivalent to X11's ServerDefines.

X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.

X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.

X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.

X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.

X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'

It uses the following variables:

APPDEFS			List of app-default files to install.

CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a `.cpp' suffix, the generated files do not.

CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.

CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The following files are described here for completion, but they are not
supposed to be included directly from other Makefiles; they are used
internally by other system files.

d1709 3
a1711 4
The include file <bsd.sys.mk> is used by other system mk files and
it is not intended to be included standalone. It contains rules and
system build variables. It requires bsd.own.mk to be included first.
It contains overrides that are used when building the NetBSD source tree.
d1769 1
a1769 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzgFS]
a1776 2
MKDEPCXX	Construct Makefile dependency list for C++ files.  [mkdep]

d1830 1
a1830 1
=-=-=-=-=   bsd.host.mk  =-=-=-=-=
d1832 4
a1835 2
This file is automatically included from bsd.own.mk. It contains settings
for all the HOST_* variables that are used in host programs and libraries.
d1837 5
a1841 1
HOST_AR			The host archive processing command
d1843 1
a1843 1
HOST_CC			The host c compiler
d1845 2
a1846 1
HOST_CFLAGS		The host c compiler flags
d1848 2
a1849 1
HOST_COMPILE.c		The host c compiler line with flags
d1851 2
a1852 1
HOST_COMPILE.cc		The host c++ compiler line with flags
d1854 2
a1855 1
HOST_CPP		The host c pre-processor
d1857 2
a1858 1
HOST_CPPFLAGS		The cost c pre-processor flags
d1860 3
a1862 1
HOST_CXX		The host c++ compiler
d1864 1
a1864 1
HOST_CXXFLAGS		The host c++ compiler flags
d1866 1
a1866 1
HOST_INSTALL_DIR	The host command to install a directory
d1868 1
a1868 1
HOST_INSTALL_FILE	The host command to install a file
d1870 1
a1870 1
HOST_INSTALL_SYMLINK	The host command to install a symlink
d1872 1
a1872 1
HOST_LD			The host linker command
d1874 1
a1874 1
HOST_LDFLAGS		The host linker flags
d1876 1
a1876 1
HOST_LINK.c		The host c linker line with flags
d1878 1
a1878 1
HOST_LINK.cc		The host c++ linker line with flags
d1880 1
a1880 1
HOST_LN			The host command to link two files
d1882 1
a1882 1
HOST_MKDEP		The host command to create dependencies for c programs
d1884 3
a1886 1
HOST_MKDEPCXX		The host command to create dependencies for c++ programs
d1888 1
a1888 1
HOST_OSTYPE		The host OSNAME-RELEASE-ARCH tupple
d1890 1
a1890 1
HOST_RANLIB		The host command to create random access archives
a1891 1
HOST_SH			The host Bourne shell interpreter name (absolute path)
@


1.288
log
@fix list of libraries to reflect reality.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.287 2011/10/05 12:34:04 apb Exp $
d1463 13
a1475 13
		LIBRUMFS_CD9660FS?=${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
		LIBRUMFS_EFS?=	${DESTDIR}/usr/lib/librumpfs_efs.a
		LIBRUMFS_EXT2FS?=${DESTDIR}/usr/lib/librumpfs_ext2fs.a
		LIBRUMFS_FFS?=	${DESTDIR}/usr/lib/librumpfs_ffs.a
		LIBRUMFS_HFS?=	${DESTDIR}/usr/lib/librumpfs_hfs.a
		LIBRUMFS_LFS?=	${DESTDIR}/usr/lib/librumpfs_lfs.a
		LIBRUMFS_MSDOSFS?=${DESTDIR}/usr/lib/librumpfs_msdosfs.a
		LIBRUMFS_NFS?=	${DESTDIR}/usr/lib/librumpfs_nfs.a
		LIBRUMFS_NTFS?=	${DESTDIR}/usr/lib/librumpfs_ntfs.a
		LIBRUMFS_SYSPUFFS?=${DESTDIR}/usr/lib/librumpfs_syspuffs.a
		LIBRUMFS_TMPFS?=${DESTDIR}/usr/lib/librumpfs_tmpfs.a
		LIBRUMFS_UDF?=	${DESTDIR}/usr/lib/librumpfs_udf.a
		LIBRUMFS_UFS?=	${DESTDIR}/usr/lib/librumpfs_ufs.a
@


1.287
log
@Add MKCLEANSRC and MKCLEANVERIFY variables, defaulting to "yes".
You may set them to "no" to get the old behaviour of "make clean"
and "make cleandir".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.286 2011/09/10 16:57:35 apb Exp $
d1389 1
a1389 1
		The following libraries are predefined for DPADD:
a1390 1
		LIBCRT0?=	${DESTDIR}/usr/lib/crt0.o
d1395 1
d1400 1
a1400 1
		LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
d1402 1
a1402 1
		LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
d1409 1
d1412 1
d1417 2
d1423 3
d1428 3
d1441 1
d1443 1
a1451 1
		LIBQUOTA?=	${DESTDIR}/usr/lib/libquota.a
d1454 2
d1462 16
d1480 1
d1490 1
d1495 39
@


1.286
log
@Move all "clean" and "cleandir" processing to a new bsd.clean.mk
file, as proposed in tech-toolchain.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.285 2011/09/09 10:08:14 apb Exp $
d822 38
a859 6
If ${.OBJDIR} and ${.CURDIR} are different, then the clean and cleandir
targets will delete files from both those directories.  Deleting files
from ${.OBJDIR} is the traditional behaviour.  Deleting files from
${.CURDIR} is intended to remove output files that had been left in
the source directory by an earlier build that had used ${.OBJDIR} ==
${.CURDIR}.
@


1.285
log
@Document the FILESBUILD variable, which was added in
bsd.files.mk revision 1.41 dated 2010-02-03.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.284 2011/06/30 18:13:51 matt Exp $
d812 27
d1283 2
a1679 2
	cleanx11man:
		Clean up the mdoc.old files generated by the above.
@


1.284
log
@Replace gzip with ${TOOL_GZIP} in manual compression.
Modify the description of USE_PIGZGZIP.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.283 2011/05/30 13:47:01 joerg Exp $
d860 4
@


1.283
log
@Add an alternative to NOGCCERROR for clang.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.282 2011/05/20 16:02:23 plunky Exp $
d418 1
a418 1
USE_PIGZGZIP	If "no", use the host "gzip" program to compress sets.
d420 1
a420 1
		the sets.
@


1.282
log
@simplify PCC inclusion; MKPCCDMDS is not really required
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.281 2011/05/19 14:29:27 joerg Exp $
d1626 3
@


1.281
log
@Add fine-grained compiler selection, including clang support.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.280 2011/03/24 17:05:44 bouyer Exp $
a286 4
MKPCCCMDS	If "no", don't build pcc(1), but do build the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no

@


1.280
log
@Add a new libquota library, which contains some blocks to build and/or
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@@ and tech-net@@ (long thread, but not much about
libquota itself ...)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.279 2011/02/20 20:16:01 jmmv Exp $
d449 14
@


1.279
log
@Define LIBATF_C and LIBATF_CXX to point to their corresponding .a files and
use these to properly set DPADD for test programs.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.278 2011/01/12 23:05:31 joerg Exp $
d1365 1
@


1.278
log
@USETBL no longer disables mandoc processing.
@
text
@d1 1
a1 1
#	$NetBSD: src/share/mk/bsd.README,v 1.277 2010-10-31 11:52:53 mbalmer Exp $
d1319 2
@


1.278.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD$
a1318 2
		LIBATF_C?=	${DESTDIR}/usr/lib/libatf-c.a
		LIBATF_CXX?=	${DESTDIR}/usr/lib/libatf-c++.a
@


1.277
log
@Link Lua to the build and add the resulting files to the distribution sets.
Document the addition of Lua and the change we made to the default settings.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.276 2010/08/25 15:24:29 reed Exp $
d255 1
a255 1
		if USETBL is set or NOMANDOC.${target} is set to "yes".
@


1.276
log
@For MLINKS description, remove sentence saying they
are soft-linked (as it is not accurate).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.275 2010/08/22 18:56:20 rmind Exp $
d1353 1
@


1.275
log
@Import NPF - a packet filter.  Some features:

- Designed to be fully MP-safe and highly efficient.

- Tables/IP sets (hash or red-black tree) for high performance lookups.

- Stateful filtering and Network Address Port Translation (NAPT).
  Framework for application level gateways (ALGs).

- Packet inspection engine called n-code processor - inspired by BPF -
  supporting generic RISC-like and specific CISC-like instructions for
  common patterns (e.g. IPv4 address matching).  See npf_ncode(9) manual.

- Convenient userland utility npfctl(8) with npf.conf(8).

NOTE: This is not yet a fully capable alternative to PF or IPFilter.
Further work (support for binat/rdr, return-rst/return-icmp, common ALGs,
state saving/restoring, logging, etc) is in progress.

Thanks a lot to Matt Thomas for various useful comments and code review.
Aye by: board@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.274 2010/08/15 07:27:33 mrg Exp $
d1146 1
a1146 1
		and there may be multiple pairs.  The files are soft-linked.
@


1.274
log
@add new option to build/use tools/pigz for compressing sets.  for now
USE_PIGZGZIP defaults to "no".  (it depends upon local <pthread.h> and -lz.)

you can set it to "yes" on most modern platforms just fine.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.273 2010/06/20 06:54:24 mrg Exp $
d269 3
@


1.273
log
@- note that if MKINET6 is "no", MK11 must also be "no".  we don't support
  building X11 without inet6 support.  the support to maintain patches to
  generated files and other files is too great.  PR#42856
- add TOOL_PIGZ, which defaults to the (not yet default) built tools/pigz.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.272 2010/06/19 03:50:30 mrg Exp $
d419 5
@


1.272
log
@- always install pigz.  hooary!
- kill MKPIGZ.
- add MKPIGZGZIP.  if it is "no", then only install pigz as pigz.  if it is
  not "no", don't install mrgzip, install pigz as gzip.

in all cases, the z* scripts.


i don't like the name MKPIGZGZIP so if anyone has a better name, feel free
to replace it.  i don't care enough since killing the ugly name is just
more incentive to get pigz doing .bz2, .Z and .z.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.271 2010/06/17 06:17:02 mrg Exp $
d208 2
a209 1
		(libraries and support programs).
d747 2
@


1.271
log
@default MKPIGZ to "no", for now.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.270 2010/06/08 22:22:25 riz Exp $
d307 1
a307 1
MKPIGZ		If "no", disables building of pigz and uses NetBSD gzip.
@


1.270
log
@Note that MKZFS is actually "yes" on i386/amd64.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.269 2010/06/04 08:35:09 jmmv Exp $
d307 3
@


1.269
log
@Simplify build of shell-based test cases: atf-compile is gone.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.268 2010/05/26 14:52:10 njoly Exp $
d361 1
a361 1
		Default: no
@


1.268
log
@Small typo.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.267 2010/05/26 01:10:10 uwe Exp $
a657 2
TOOL_ATF_COMPILE	Generate POSIX shell test programs.  [atf-compile]

@


1.267
log
@bsd.subdir.mk - don't mention "make subdir" where subdir is any
directory listed in ${SUBDIR} as ${dir}: all-${dir} alias was removed
from 11 years ago (revision 1.31)

PR bin/43356
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.266 2010/04/23 19:41:03 joerg Exp $
d399 1
a399 1
		stack protecion code imposes a performance penalty
@


1.266
log
@Add MKBSDTAR, defaulting to no. It switching cpio and tar to the
libarchive based frontends.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.265 2010/02/22 12:33:22 njoly Exp $
a1480 3
		There is also a default target which allows the command
		"make subdir" where subdir is any directory listed in
		${SUBDIR}.
@


1.265
log
@Change shared object file extension from .so to .pico, to avoid
conflicts with shared libaries names libXX.so; as recently seen with
MKUPDATE=yes builds for libelf and libnvpair.

All now stalled regular .so files need to be manually removed from
object directories.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.264 2010/02/03 15:34:44 roy Exp $
d122 2
a123 1
MKBINUTILS	If "no", don't build binutils (gas, ld, etc and libbfd, libopcodes)
d126 4
@


1.264
log
@Userland now builds and uses terminfo instead of termcap.

OK: core@@, jdc@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.263 2009/12/30 20:45:46 abs Exp $
d59 1
a59 1
object, and ".so" denotes a shared (position-independent) object.
@


1.263
log
@Add note on SHLIB_{MAJOR,MINOR,TEENY}
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.262 2009/12/23 18:02:25 tron Exp $
d1361 1
a1361 1
		LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
@


1.262
log
@LVM gets built by default these days.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.261 2009/12/23 18:00:38 tron Exp $
d981 4
@


1.261
log
@Fix typo.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.260 2009/11/30 16:13:23 uebayasi Exp $
d240 1
a240 1
		Default: no
@


1.260
log
@Support "extsrc", externally added programs and libraries.  Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org.  (These sets are not included as TNF releases.)
@
text
@d1 1
a1 1
#	$NetBSD$
d238 1
a238 1
MKLVM		If "no", don't build or install teh logical volume manager
@


1.259
log
@Add a period at the end of a sentence.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.258 2009/11/12 14:46:37 tron Exp $
d166 5
@


1.258
log
@Remove "USE_SSP_DEFAULT".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.257 2009/11/12 13:22:34 tron Exp $
d390 1
a390 1
		of about 5%
@


1.257
log
@Invent a new flag "USE_SSP_DEFAULT" which defines whether we want to use
SSP for building the whole source tree. Set this to "yes" for
NetBSD/amd64 and NetBSD/i386. It is now possible to get the old
behavior (build libs and certain programs with SSP) by setting
"USE_SSP_DEFAULT" to "no".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.256 2009/10/23 22:14:37 joerg Exp $
d391 1
a391 5
		Default: no, unless "USE_FORT" is set to "yes"

USE_SSP_DEFAULT	The default of "USE_SSP" for part of the tree (e.g. kernels)
		that are not compiled with "USE_FORT" set to "yes".
		Default: "yes" for amd64 and i386, "no" otherwise
@


1.256
log
@Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml.  Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.255 2009/10/10 19:05:29 apb Exp $
d388 8
a395 3
		detects stack overflows and aborts the program. This
		imposes some performance penalty.
		Default: no
d403 1
a403 1
		Default: no
@


1.255
log
@If ${NETBDSRCDIR}/../xsrc exists, then use it as the default value
of X11SRCDIR.  If it doesn't exist, then use /usr/xsrc as before.

OK mrg
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.254 2009/10/05 22:32:58 haad Exp $
d241 6
@


1.254
log
@Add zfs sets and needed veriables to hook zfs into the build. ZFS on i386
need still one fix othervise it should be ready for testing.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.253 2009/09/29 23:56:34 tsarna Exp $
d513 2
a514 1
X11SRCDIR	The path to the xsrc tree.  [/usr/xsrc]
@


1.253
log
@Multicast DNS ("Bonjour") support, based on Apple's mDNSResponder.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.252 2009/09/08 07:08:03 skrll Exp $
d342 5
@


1.252
log
@Rename MKBFD to MKBINUTILS and support HAVE_BINUTILS for set lists. This
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.

Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.

Update the sets lists and add conditionals for lib{bfd,opcodes}.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.251 2009/06/18 06:36:59 mrg Exp $
d244 4
@


1.251
log
@implement MKX11FONTS for Xorg.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.250 2009/05/12 18:07:54 plunky Exp $
d120 3
a122 2
MKBFD		If "no", don't build libbfd, libiberty, or any of the things
		that depend on them (binutils/gas/ld, gdb, dbsym, mdsetimage).
d595 1
a595 1
		If not "no", ${MKBFD}, ${MKGCC}, and ${MKGDB} are
@


1.250
log
@remove libsdp as improved functionality has been enabled in libbluetooth.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.249 2009/04/10 16:16:12 apb Exp $
d328 5
@


1.249
log
@Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links.  They have no effect except when using a
metalog, in which case the information is added to the metalog.  In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.

Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.

Reviewed by perry and joerg.  This should fix PR 24457 and PR 41155.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.248 2009/03/13 16:23:31 perry Exp $
a1320 1
		LIBSDP?=	${DESTDIR}/usr/lib/libsdp.a
@


1.248
log
@Add a MKARZERO flag, which invokes ar(1) with the new D flag when it
is set to "yes" -- defaults to "no" except for build.sh builds. This
results in a deterministic .a file rather than one that reflects
timestamps and permissions on the source files.

Also, clean up the ar flags we're using, and remove a redundant use of
ranlib that on a modern POSIX ar can be done with the "s" flag.

Discussed on tech-toolchain
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.247 2009/02/25 20:36:45 sketch Exp $
d1027 5
d1053 12
@


1.247
log
@Make grep a host tool.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.246 2009/01/22 14:04:15 christos Exp $
d941 9
@


1.246
log
@Document USE_FORT.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.245 2008/12/23 02:55:23 agc Exp $
d659 2
@


1.246.2.1
log
@Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.250 2009/05/12 18:07:54 plunky Exp $
a658 2
TOOL_GREP		Print lines matching a pattern.  [grep]

a938 9
MKARZERO	Normally, ar(1) sets the timestamps, uid, gid and
		permissions in files inside its archives to those of
		the file it was fed. This leads to non-reproduceable
		builds. If MKARZERO is set to "yes" (default is "no")
		then the "D" flag is passed to ar, causing the
		timestamp, uid and gid to be zeroed and the file
		permissions to be set to 644. This allows .a files
		from different builds to be bit identical.

a1015 5
LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
is used. The defaults may be modified by other bsd.*.mk files which
include bsd.links.mk.  In the future, these variables may be replaced
by a method for explicitly recording hard links in a metadata log.

a1036 12
LINKSOWN	Link owner.  [${BINOWN}]

LINKSGRP	Link group.  [${BINGRP}]

LINKSMODE	Link mode.  [${NONBINMODE}]

LINKSOWN_<fn>	Link owner of the specific file <fn>.

LINKSGRP_<fn>	Link group of the specific file <fn>.

LINKSMODE_<fn>	Link mode of the specific file <fn>.

d1293 1
@


1.245
log
@Explain what the MKLVM switch does
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.244 2008/12/06 19:32:05 mrg Exp $
d371 8
@


1.244
log
@add LIBISCXX.  if it is != "no", use ${CXX} instead of ${CC} to link
shared libraries.  use it for the one c++ library we have.

fixes PR#39936.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.243 2008/12/05 18:51:16 cube Exp $
d232 4
@


1.243
log
@Implement FILESBUILD_<file> to allow a FILES element to be built through a
target.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.242 2008/11/15 11:27:49 mrg Exp $
d945 5
@


1.242
log
@revert sparc back to default of XFree86 at the request of macallan.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.241 2008/11/13 20:40:11 apb Exp $
d791 4
@


1.241
log
@Add support for new MAKEVERBOSE levels 3 and 4.  The complete list is now:

 0   Minimal output ("quiet")
 1   Describe what is occurring
 2   Describe what is occurring and echo the actual command
 3   Ignore the effect of the "@@" prefix in make commands
 4   Trace shell commands using the shell's -x flag

The default remains MAKEVERBOSE=2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.240 2008/11/12 13:17:27 pooka Exp $
d373 2
a374 2
		Default: "Xorg" on amd64, i386, macppc, shark, sparc and
		sparc64, "XFree86" on everything else.
@


1.240
log
@Now that MKPUFFS is default, kill it as advertised.
While there, give puffs and refuse files sensible syspkg entries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.239 2008/11/12 12:35:54 ad Exp $
d113 2
a114 1

@


1.239
log
@Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@@.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.238 2008/11/09 23:07:22 mrg Exp $
a286 7
MKPUFFS		If "no", don't build librefuse (lib/librefuse) or
		puffs applications (usr.sbin/puffs).  NOTE: libpuffs
		is always built due to historic reasons.  This flag will
		disappear once puffs is no longer considered experimental,
		i.e. it will effectively default to "yes".
		Default: no

@


1.238
log
@fix a couple of minor errors picked up by he@@.  thanks!
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.237 2008/11/09 23:02:29 mrg Exp $
a237 11
MKMODULAR	If "no", don't build the versions of modload(8), modstat(8)
		and modunload(8) that use the new modules framework present
		in the kernel (enabled separately using 'options MODULAR'
		int the configuration file).  Also don't build any other
		stuff that may rely on this support, such as tests or kernel
		modules.
		Note: This flag will disappear when the new modules framework
		is complete enough to replace the old LKM, effectively
		switching it to "yes" by default.
		Default: no

@


1.237
log
@- retire MKXORG from public use
- introduce X11FLAVOUR to choose src/x11 vs src/external/mit/xorg
  for the X11 to build if MKX11=yes is set.  it takes the values
  of either Xorg or XFree86.
- default to Xorg on alpha, i386, macppc, shark, sparc and sparc64
- remove MKXORG_WITH_XSRC_XSERVER, unused and never useful
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236 2008/10/26 23:13:24 apb Exp $
d390 2
a391 2
		Default: "yes" on amd64, i386, macppc, shark, sparc and
		sparc64, "no" on everything else.
@


1.236
log
@Always define TOOL_* variables in bsd.own.mk, not in bsd.sys.mk.

Previously, they were defined in bsd.own.mk if USETOOLS=yes, but in
bsd.sys.mk if USETOOLS!=yes.  This caused makefiles that did this:

	.include <bsd.own.mk>
	FOO != ${TOOL_BAR} args...

to work in the USETOOLS=yes case but not in the USETOOLS!=yes case.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.235 2008/10/26 15:51:20 apb Exp $
d335 4
a338 10
MKX11		If not "no", 'make build' also descends into src/x11
		to cross-build X11R6 and automatically enables creation
		of X sets.
		Mutually exclusive to MKXORG!=no
		Default: no

MKXORG		If not "no", 'make build' also descends into
		src/external/mit/xorg to cross-build X11R7 (modular Xorg)
		and automatically enables creation of X sets.
		Mutually exclusive to MKX11!=no
d388 5
@


1.236.2.1
log
@Pull up following revision(s) (requested by mrg in ticket #64):
	distrib/sets/Makefile: revision 1.64
	external/mit/xorg/server/Makefile: revision 1.5
	share/mk/bsd.README: revision 1.237
	BUILDING: revision 1.79
	share/mk/bsd.x11.mk: revision 1.71
	share/mk/bsd.own.mk: revision 1.544
	usr.bin/ssh/Makefile.inc: revision 1.18
	distrib/sets/sets.subr: revision 1.72
	share/man/man5/mk.conf.5: revision 1.42
	doc/BUILDING.mdoc: revision 1.68
	etc/Makefile: revision 1.360
	Makefile: revision 1.263
- retire MKXORG from public use
- introduce X11FLAVOUR to choose src/x11 vs src/external/mit/xorg
  for the X11 to build if MKX11=yes is set.  it takes the values
  of either Xorg or XFree86.
- default to Xorg on alpha, i386, macppc, shark, sparc and sparc64
- remove MKXORG_WITH_XSRC_XSERVER, unused and never useful
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236 2008/10/26 23:13:24 apb Exp $
d335 10
a344 4
MKX11		If not "no", depending on the value of ${X11FLAVOUR},
		'make build' also descends into either src/x11 (XFree86) or
		src/external/mit/xorg (modular Xorg) to cross-build X11 and
		automatically enables creation of X sets.
a393 5
X11FLAVOUR	Set to "Xorg" or "XFree86", depending on whether to build
		XFree86 or modular Xorg.  Only matters if MKX11!=no.
		Default: "yes" on amd64, i386, macppc, shark, sparc and
		sparc64, "no" on everything else.

@


1.236.2.2
log
@Pull up following revision(s) (requested by mrg in ticket #64):
	share/mk/bsd.README: revision 1.238
	distrib/sets/sets.subr: revision 1.73
fix a couple of minor errors picked up by he@@.  thanks!
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.1 2008/11/15 22:05:12 snj Exp $
d390 2
a391 2
		Default: "Xorg" on amd64, i386, macppc, shark, sparc and
		sparc64, "XFree86" on everything else.
@


1.236.2.3
log
@Pull up following revision(s) (requested by mrg in ticket #64):
	share/man/man5/mk.conf.5: revision 1.46
	share/mk/bsd.own.mk: revision 1.550
	doc/BUILDING.mdoc: revision 1.70
	BUILDING: revision 1.81
	share/mk/bsd.README: revision 1.242
revert sparc back to default of XFree86 at the request of macallan.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.2 2008/11/15 22:07:03 snj Exp $
d390 2
a391 2
		Default: "Xorg" on amd64, i386, macppc, shark and sparc64,
		"XFree86" on everything else.
@


1.236.2.4
log
@Pull up following revision(s) (requested by cube in ticket #168):
	share/mk/bsd.README: revision 1.243
	share/mk/bsd.files.mk: revision 1.40
Implement FILESBUILD_<file> to allow a FILES element to be built through a
target.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.3 2008/11/15 22:10:33 snj Exp $
a807 4
FILESBUILD_<fn>	A value different from "no" will add the file to the list of
		targets to be built by `realall'.  Users of that variable
		should provide a target to build the file.

@


1.236.2.5
log
@Pull up following revision(s) (requested by mrg in ticket #242):
	external/mit/xorg/lib/libGLU/Makefile: revision 1.3
	share/mk/bsd.README: revision 1.244
	share/mk/bsd.lib.mk: revision 1.291
add LIBISCXX.  if it is != "no", use ${CXX} instead of ${CC} to link
shared libraries.  use it for the one c++ library we have.
fixes PR#39936.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.4 2008/12/06 21:58:43 snj Exp $
a961 5
LIBISCXX	If not "no", Use ${CXX} instead of ${CC} to link
		shared libraries.
		This is useful for C++ libraries.
		Default: no

@


1.236.2.6
log
@Apply patch, requested by pooka in ticket 259:
	distrib/sets/sets.subr			patch
	distrib/sets/lists/base/lkm.mi		patch
	distrib/sets/lists/base/md.amd64	patch
	distrib/sets/lists/base/md.sparc64	patch
	distrib/sets/lists/base/mi		patch
	distrib/sets/lists/base/shl.elf		patch
	distrib/sets/lists/base/shl.mi		patch
	distrib/sets/lists/comp/md.amd64	patch
	distrib/sets/lists/comp/md.sparc64	patch
	distrib/sets/lists/comp/mi		patch
	distrib/sets/lists/comp/shl.mi		patch
	distrib/sets/lists/man/mi		patch
	lib/Makefile				patch
	share/man/man5/mk.conf.5		patch
	share/mk/bsd.README			patch
	share/mk/bsd.own.mk			patch
	sys/lkm/vfs/Makefile			patch
	usr.sbin/Makefile			patch
Now that MKPUFFS is default, kill it as advertised.
While there, give puffs and refuse files sensible syspkg entries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.5 2009/01/09 03:35:50 snj Exp $
d298 7
@


1.236.2.7
log
@Pull up following revision(s) (requested by christos in ticket #309):
	share/mk/bsd.README: revision 1.246
Document USE_FORT.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.6 2009/01/16 21:41:10 bouyer Exp $
a376 8
USE_FORT 	If "yes" turns on substitute wrappers for commonly used
		functions that do not do bounds checking regularly, but
		they could in some cases by using the gcc
		__builtin_object_size() function to determine the buffer 
		size where it is known and detect buffer overflows.
		These substitute functions are in /usr/include/ssp.
		Default: no

@


1.236.2.7.2.1
log
@Pull up following revision(s) (requested by snj in ticket #790):
	share/mk/bsd.lib.mk: revision 1.298
	share/mk/bsd.man.mk: revision 1.100
	share/mk/bsd.hostprog.mk: revision 1.55
	distrib/sets/maketars: revision 1.66
	share/zoneinfo/Makefile: revision 1.43
	share/mk/bsd.kmodule.mk: revision 1.19
	usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
	share/mk/bsd.prog.mk: revision 1.241
	share/dict/Makefile: revision 1.17
	share/mk/bsd.README: revision 1.249
	distrib/common/parselist.awk: revision 1.16
	share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
  args were explicitly specified on the command line, then believe them,
  but do not implicitly believe uname/gname/mode/flags from the file
  system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links.  They have no effect except when using a
metalog, in which case the information is added to the metalog.  In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.
Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.
Reviewed by perry and joerg.  This should fix PR 24457 and PR 41155.
@
text
@d1 1
a1 1
#	$NetBSD$
a1021 5
LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
is used. The defaults may be modified by other bsd.*.mk files which
include bsd.links.mk.  In the future, these variables may be replaced
by a method for explicitly recording hard links in a metadata log.

a1042 12
LINKSOWN	Link owner.  [${BINOWN}]

LINKSGRP	Link group.  [${BINGRP}]

LINKSMODE	Link mode.  [${NONBINMODE}]

LINKSOWN_<fn>	Link owner of the specific file <fn>.

LINKSGRP_<fn>	Link group of the specific file <fn>.

LINKSMODE_<fn>	Link mode of the specific file <fn>.

@


1.236.2.7.2.1.2.1
log
@sync to netbsd-5
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.8 2009/06/06 22:10:12 bouyer Exp $
@


1.236.2.8
log
@Pull up following revision(s) (requested by snj in ticket #790):
	share/mk/bsd.lib.mk: revision 1.298
	share/mk/bsd.man.mk: revision 1.100
	share/mk/bsd.hostprog.mk: revision 1.55
	distrib/sets/maketars: revision 1.66
	share/zoneinfo/Makefile: revision 1.43
	share/mk/bsd.kmodule.mk: revision 1.19
	usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
	share/mk/bsd.prog.mk: revision 1.241
	share/dict/Makefile: revision 1.17
	share/mk/bsd.README: revision 1.249
	distrib/common/parselist.awk: revision 1.16
	share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
  args were explicitly specified on the command line, then believe them,
  but do not implicitly believe uname/gname/mode/flags from the file
  system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links.  They have no effect except when using a
metalog, in which case the information is added to the metalog.  In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.
Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.
Reviewed by perry and joerg.  This should fix PR 24457 and PR 41155.
@
text
@d1 1
a1 1
#	$NetBSD$
a1021 5
LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
is used. The defaults may be modified by other bsd.*.mk files which
include bsd.links.mk.  In the future, these variables may be replaced
by a method for explicitly recording hard links in a metadata log.

a1042 12
LINKSOWN	Link owner.  [${BINOWN}]

LINKSGRP	Link group.  [${BINGRP}]

LINKSMODE	Link mode.  [${NONBINMODE}]

LINKSOWN_<fn>	Link owner of the specific file <fn>.

LINKSGRP_<fn>	Link group of the specific file <fn>.

LINKSMODE_<fn>	Link mode of the specific file <fn>.

@


1.236.2.9
log
@Pull up following revision(s) (requested by tls in ticket #1338):
	share/mk/bsd.README: revision 1.265
	share/mk/bsd.lib.mk: revision 1.304
Change shared object file extension from .so to .pico, to avoid
conflicts with shared libaries names libXX.so; as recently seen with
MKUPDATE=yes builds for libelf and libnvpair.
All now stalled regular .so files need to be manually removed from
object directories.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.236.2.8 2009/06/06 22:10:12 bouyer Exp $
d59 1
a59 1
object, and ".pico" denotes a shared (position-independent) object.
@


1.235
log
@Set HOST_SH?=/bin/sh unconditionally.  Previously, it was conditionally
set to /usr/bin/bash if HOST_CYGWIN was defined, but now build.sh
tries to set HOST_SH appropriately.

Remove the HOST_CYGWIN variable, which was not used for any other purpose.

Document that HOST_SH should be an absolute path.

THis was proposed in tech-toolchain.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.234 2008/10/26 07:09:11 mrg Exp $
d619 138
a1528 139
The following variables are defined to commands to perform the
appropriate operation, with the default in [brackets].
(Note that these are overridden in <bsd.own.mk> if USETOOLS == "yes"):

TOOL_AMIGAAOUT2BB	aout to Amiga bootblock converter.  [amiga-aout2bb]

TOOL_AMIGAELF2BB	ELF to Amiga bootblock converter.  [amiga-elf2bb]

TOOL_AMIGATXLT		Amige assembly language format translator.  [amiga-txlt]

TOOL_ASN1_COMPILE	ASN1 compiler.  [asn1_compile]

TOOL_ATF_COMPILE	Generate POSIX shell test programs.  [atf-compile]

TOOL_AWK		Pattern-directed scanning/processing language.  [awk]

TOOL_CAP_MKDB		Create capability database.  [cap_mkdb]

TOOL_CAT		Concatenate and print files.  [cat]

TOOL_CKSUM		Display file checksums.  [cksum]

TOOL_COMPILE_ET		Error table compiler.  [compile_et]

TOOL_CONFIG		Build kernel compilation directories.  [config]

TOOL_CRUNCHGEN		Generate crunched binary build environment.  [crunchgen]

TOOL_CTAGS		Create a tags file.  [ctags]

TOOL_DB			Manipulate db(3) databases.  [db]

TOOL_DISKLABEL		Read and write disk pack label.  [disklabel]

TOOL_EQN		Format equations for groff.  [eqn]

TOOL_FDISK		MS-DOS partition maintenance program.  [fdisk]

TOOL_FGEN		IEEE 1275 Open Firmware FCode Tokenizer.  [fgen]

TOOL_GENASSYM		Generate constants for assembly files.  [genassym]

TOOL_GENCAT		Generate NLS message catalogs.  [gencat]

TOOL_GMAKE		GNU make utility.  [gmake]

TOOL_GROFF		Front end for groff document formatting system.  [groff]

TOOL_HEXDUMP		Ascii, decimal, hexadecimal, octal dump.  [hexdump]

TOOL_HP300MKBOOT	Make bootable image for hp300.  [hp300-mkboot]

TOOL_HP700MKBOOT	Make bootable image for hp700.  [hp700-mkboot]

TOOL_INDXBIB		Make bibliographic database's inverted index.  [indxbib]

TOOL_INSTALLBOOT	Install disk bootstrap software.  [installboot]

TOOL_INSTALL_INFO	Update info/dir entries.  [install-info]

TOOL_JOIN		Relational database operator.  [join]

TOOL_M4			M4 macro language processor.  [m4]

TOOL_MACPPCFIXCOFF	Fix up xcoff headers for macppc.  [macppc-fixcoff]

TOOL_MAKEFS		Create file system image from directory tree.  [makefs]

TOOL_MAKEINFO		Translate Texinfo documents.  [makeinfo]

TOOL_MAKEWHATIS		Create a whatis.db database.  [makewhatis]

TOOL_MDSETIMAGE		Set kernel RAM disk image.  [mdsetimage]

TOOL_MENUC		Menu compiler.  [menuc]

TOOL_MIPSELF2ECOFF	Convert ELF-format executable to ECOFF for mips.
			[mips-elf2ecoff]

TOOL_MKCSMAPPER		Make charset mapping table.  [mkcsmapper]

TOOL_MKESDB		Make encoding scheme database.  [mkesdb]

TOOL_MKLOCALE		Make LC_CTYPE locale files.  [mklocale]

TOOL_MKMAGIC		Create database for file(1).  [file]

TOOL_MKTEMP		Make (unique) temporary file name.  [mktemp]

TOOL_MSGC		Simple message list compiler.  [msgc]

TOOL_MTREE		Map a directory hierarchy.  [mtree]

TOOL_PAX		Manipulate file archives and copy directories.  [pax]

TOOL_PIC		Compile pictures for groff.  [pic]

TOOL_POWERPCMKBOOTIMAGE	Make bootable image for powerpc.  [powerpc-mkbootimage]

TOOL_PWD_MKDB		Generate the password databases.  [pwd_mkdb]

TOOL_REFER		Preprocess bibliographic references for groff.  [refer]

TOOL_ROFF_ASCII		Generate ASCII groff output.  [nroff]

TOOL_ROFF_DVI		Generate DVI groff output.  [${TOOL_GROFF} -Tdvi]

TOOL_ROFF_HTML		Generate HTML groff output.
			[${TOOL_GROFF} -Tlatin1 -mdoc2html]

TOOL_ROFF_PS		Generate PS groff output.  [${TOOL_GROFF} -Tps]

TOOL_ROFF_RAW		Generate "raw" groff output.  [${TOOL_GROFF} -Z]

TOOL_RPCGEN		Remote Procedure Call (RPC) protocol compiler.  [rpcgen]

TOOL_SED		Stream editor.  [sed]

TOOL_SOELIM		Eliminate .so's from groff input.  [soelim]

TOOL_SPARKCRC		Generate a crc suitable for use in a sparkive file.
			[sparkcrc]

TOOL_STAT		Display file status.  [stat]

TOOL_STRFILE		Create a random access file for storing strings.
			[strfile]

TOOL_SUNLABEL		Read or modify a SunOS disk label.  [sunlabel]

TOOL_TBL		Format tables for groff.  [tbl]

TOOL_UUDECODE		Uudecode a binary file.  [uudecode]

TOOL_VGRIND		Grind nice listings of programs.  [vgrind -f]

TOOL_ZIC		Time zone compiler.  [zic]


@


1.234
log
@add MKCOMPAT, to build 32 bit libs.  default to no for now for everyone.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.233 2008/10/25 14:58:00 apb Exp $
d1333 3
a1373 2
SHELL		Shell.  [sh]

@


1.233
log
@Add a NOSUBDIR variable for bsd.subdir.mk.  If NOSUBDIR is defined
then SUBDIR is ignored.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.232 2008/10/19 19:44:47 apb Exp $
d126 3
@


1.232
log
@Define TOOL_AWK.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.231 2008/10/17 15:04:18 apb Exp $
d1265 18
a1282 10
clean, cleandir, depend, includes, install, lint, and tags.  For all of
the directories listed in ${SUBDIR}, the specified directory will be
visited and the target made.  There is also a default target which allows
the command "make subdir" where subdir is any directory listed in ${SUBDIR}.

As a special case, the use of a token .WAIT as an entry in SUBDIR acts
as a synchronization barrier when multiple make jobs are run; subdirs
before the .WAIT must complete before any subdirs after .WAIT are
started.  See make(1) for some caveats on use of .WAIT and other
special sources.
@


1.231
log
@Document the HOST_xxx and TOOL_xxx variable naming convention.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.230 2008/10/13 18:24:21 apb Exp $
d1393 2
@


1.230
log
@Add missing TOOL_* variables to bsd.sys.mk and document them in
bsd.README.  Previously, several of these variables were present in
bsd.own.mk but not in bsd.sys.mk or bsd.README.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.229 2008/10/13 15:29:22 apb Exp $
d69 4
d92 5
@


1.229
log
@In bsd.sys.mk and bsd.own.mk, sort lists of TOOL_* variables.
In bsd.README, document all TOOL_* variables that are set in bsd.sys.mk.

There are several TOOL_* variables that are set in bsd.own.mk, but not
set in bsd.sys.mk and not documented in bsd.README.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.228 2008/10/05 20:17:16 apb Exp $
d1374 6
d1382 1
a1382 1
TOOL_ATF_COMPILE	Generates POSIX shell test programs.  [atf-compile]
d1400 2
d1404 2
d1412 2
d1418 4
d1432 2
d1444 3
d1465 1
a1465 1
TOOL_POWERPCMKBOOTIMAGE	powerpc-mkbootimage (XXXBUILDSH).  [powerpc-mkbootimage]
@


1.228
log
@Document TOOL_SED, which has been defined in bsd.sys.mk for more than
two years.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.227 2008/10/02 17:54:53 joerg Exp $
d1376 2
d1463 2
d1467 3
a1471 2
TOOL_SED		Stream editor.  [sed]

@


1.227
log
@Hook up libfetch and pkg_install update.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.226 2008/09/26 18:23:09 apb Exp $
d1465 2
@


1.226
log
@Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
  regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
  databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.225 2008/09/09 11:54:19 joerg Exp $
d1106 1
@


1.225
log
@Add MKSTRIPIDENT to remove the RCS IDs from binary programs and shared
libraries for space-constraint systems. The description is based on the
feedback of hubertf@@, the logic on input from lukem@@

This obsoletes the removal of LIBC_SCCS and SYSLIBC_SCCS for libc builds.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.224 2008/09/05 22:26:28 lukem Exp $
d1464 3
@


1.224
log
@refer to mk.conf(5) in a couple of places
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.223 2008/08/31 05:40:15 christos Exp $
d180 3
@


1.223
log
@remove NVI; it is the default now.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.222 2008/08/31 01:21:41 lukem Exp $
d74 1
a74 1
		command-line override of a mk.conf or <bsd.own.mk>
d90 2
a91 2
the user to define in MAKECONF (see <bsd.own.mk>, below) or on the make(1)
command line:
@


1.222
log
@Enable MKHTML by default; we now install the HTML version of the man
pages as well as the source & catman versions.
Add "htmlinstall" to default MANINSTALL, so MKHTML will operate correctly.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.221 2008/08/28 07:53:53 mrg Exp $
a237 4
MKNVI		If "no", don't build or install the experimental new version
		of nvi (/usr/bin/nvi et cetera).
		Default: yes

@


1.221
log
@add a bunch of more variable documentation wrt xorg
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.220 2008/08/28 07:21:49 lukem Exp $
d173 2
a174 2
MKHTML		If "no", don't build or install the html man pages.
		Default: no
d454 3
a456 2
MANINSTALL	Manual installation type: maninstall, catinstall, or both
		[maninstall catinstall]
d891 1
a891 1
It has a two targets:
d893 4
a898 2
	catinstall:
		Install the preformatted manual pages and their links.
@


1.220
log
@Improve support for MKXORG!=no to enable builds into external/mit/xorg.
This will be mutually exclusive to MKX11!=no.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.219 2008/08/27 00:16:09 lukem Exp $
d494 1
a494 1
X11SRCDIR.xc	The path to the X11R6 xc src tree.  [${X11SRCDIR}/xfree/xc]
d496 1
a496 1
X11SRCDIR.local	The path to the local X11R6 src tree.  [${X11SRCDIR}/local]
d498 7
a504 1
X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6]
d1489 1
a1489 1
cross-building X11R6 from ${X11SRCDIR.xc}.
d1496 1
a1496 1
		these rules convert from X11R6's manual page source
d1518 1
a1518 1
X11FLAGS.CONNECTION	Equivalent to X11R6's CONNECTION_FLAGS.
d1520 1
a1520 1
X11FLAGS.EXTENSION	Equivalent to X11R6's EXT_DEFINES.
d1522 1
a1522 1
X11FLAGS.LOADABLE	Equivalent to X11R6's LOADABLE.
d1524 1
a1524 1
X11FLAGS.OS_DEFINES	Equivalent to X11R6's OS_DEFINES.
d1526 1
a1526 1
X11FLAGS.SERVER		Equivalent to X11R6's ServerDefines.
d1528 1
a1528 1
X11FLAGS.THREADLIB	Equivalent to X11R6's THREADS_DEFINES for libraries.
d1530 1
a1530 1
X11FLAGS.THREADS	Equivalent to X11R6's THREADS_DEFINES.
d1534 2
@


1.219
log
@expand on the behaviour of MKDEBUGLIB
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.218 2008/08/10 09:25:04 lukem Exp $
d325 1
a325 1
		to cross build X11R6 and automatically enables creation
d327 1
d331 3
a333 3
		src/external/mit/xorg to cross build modular Xorg and
		automatically enables creation of X sets.  Overrides
		MKX11.
@


1.218
log
@Implement LIBISMODULE:
	If not "no", install as ${LIB}.so (without the "lib" prefix),
	and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
	MKPROFILE=no MKSTATICLIB=no".
	Default: no
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.217 2008/08/04 16:02:25 joerg Exp $
d140 2
a141 1
MKDEBUGLIB	Build debugging libraries.
@


1.217
log
@When compiling C++ sources and BUILDSEED is set, pass down
-frandom-seed with a reduced version of .ALLSRC and .TARGET
as argument.  This allows bit-identical builds of C++ files.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.216 2008/07/29 04:40:14 mrg Exp $
d791 5
@


1.216
log
@begin to add support for cross-built Xorg:

- add MKXORG
- default to DRI-on for Xorg
- add paths for 192 Xorg packages that will exist in
  xsrc/external/mit/<package>/dist
- add some more X11FLAGS.* variables if MKXORG.

this is somewhat based on the xorg work rtr@@ did a couple of years ago.

XXX: seriously need to fix the XORG_RELEASE value, it is still set to
XXX: 6.8.1 from when rtr was working on this.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.215 2008/07/22 21:09:52 dyoung Exp $
d1270 7
@


1.215
log
@Document MKNVI.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.214 2008/07/22 08:01:54 wiz Exp $
d328 6
@


1.214
log
@Consistent spelling.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.213 2008/07/21 23:39:55 lukem Exp $
d237 4
@


1.213
log
@Rewrite the introduction.
NOGCCERROR also prevents -Wa,--fatal-warnings.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.212 2008/07/21 23:23:42 lukem Exp $
d75 1
a75 1
		setting is required whilst still honouring a particular
d527 1
a527 1
make configuration file to modify the behaviour of the system build
d1031 1
a1031 1
PAXCTL_FLAGS	If defined, run paxctl(1) on the program binarry after link
@


1.212
log
@Document NOGCCERROR.
Improve PAXCTL_FLAGS & WARNS.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.211 2008/07/21 12:12:57 lukem Exp $
d4 3
a6 3
This is the README file for the new (as of 1993) make "include" files
for the BSD source tree.  The files are installed in /usr/share/mk, and
are, by convention, named with the suffix ".mk".
d1445 4
a1448 1
NOGCCERROR	If defined, prevents passing -Werror to GCC via ${CFLAGS}.
@


1.211
log
@AFLAGS is actually options to ${CC} (not ${AS}) when compiling .s/.S files.
(For gcc, this means that flags to as(1) need to be passed as -Wa,flag)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.210 2008/07/12 12:15:43 gmcgarry Exp $
d1031 2
a1032 2
PAXCTL_FLAGS	If defined then paxctl(1) is ran on binary after link
		time, with the value of the variable as args to it.
d1445 3
a1447 1
WARNS		Crank up gcc warning options; the distinct levels are:
@


1.210
log
@Add and document knobs to turn off building ATF and libm complex support.
Also add knobs for PCC which parallel GCC ones.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.209 2008/05/28 11:23:26 lukem Exp $
d781 2
a782 2
LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no MKPROFILE=no",
		and don't install the (.a) library.
d1257 2
a1258 1
AFLAGS		Options to ${AS}.  []
@


1.209
log
@add LIBLDAR_R (for completeness)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.208 2008/05/22 13:40:30 lukem Exp $
d106 4
d117 3
d248 8
@


1.208
log
@Add MKLDAP, USE_LDAP, LIBLBER, LIBLDAP
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.207 2008/05/03 14:48:31 lukem Exp $
d1081 1
@


1.207
log
@Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.206 2008/05/02 11:45:19 lukem Exp $
d183 1
a183 1
MKISCSI		If "no", don't build or install iscsi library or applications
d191 4
d333 4
d1079 2
@


1.207.2.1
log
@Sync w/ -current. 34 merge conflicts to follow.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.207 2008/05/03 14:48:31 lukem Exp $
d183 1
a183 1
MKISCSI		If "no", don't build or install iSCSI library or applications
a190 4
MKLDAP		If "no", disables building of LDAP infrastructure
		(libraries and support programs).
		Default: yes

a328 4
USE_LDAP	If "no", disables building LDAP support into various
		system utilities/libraries that support it.
		If ${MKLDAP} is "no", USE_LDAP will also be forced to "no".

a1070 3
		LIBLBER?=	${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=	${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=	${DESTDIR}/usr/lib/libldap_r.a
@


1.207.2.2
log
@Sync with wrstuden-revivesa-base-2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.207.2.1 2008/06/23 04:30:03 wrstuden Exp $
d4 3
a6 3
This is the README file for the make "include" files for the NetBSD
source tree.  The files are installed in /usr/share/mk, and are,
by convention, named with the suffix ".mk".
d74 2
a75 2
		command-line override of a mk.conf(5) or <bsd.own.mk>
		setting is required whilst still honoring a particular
d90 2
a91 2
the user to define in MAKECONF (see <bsd.own.mk>, below, or mk.conf(5))
or on the make(1) command line:
a105 4
MKATF		If "no", don't build libatf-c, libatf-c++ libraries associated
		with the Automated Testing Framework (ATF).
		Default: yes

a112 3
MKCOMPLEX	If "no", don't build libm support for <complex.h>
		Default: yes

d133 1
a133 2
MKDEBUGLIB	Build *_g.a debugging libraries, which are compiled
		with -DDEBUG.
d165 2
a166 2
MKHTML		If "no", don't build or install the HTML man pages.
		Default: yes
a240 8
MKPCC		If "no", don't build pcc(1) or any of the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no

MKPCCCMDS	If "no", don't build pcc(1), but do build the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no

d305 1
a305 1
		to cross-build X11R6 and automatically enables creation
a306 7
		Mutually exclusive to MKXORG!=no
		Default: no

MKXORG		If not "no", 'make build' also descends into
		src/external/mit/xorg to cross-build X11R7 (modular Xorg)
		and automatically enables creation of X sets.
		Mutually exclusive to MKX11!=no
d427 2
a428 3
MANINSTALL	Manual installation type.  Space separated list:
			catinstall, htmlinstall, maninstall
		[catinstall maninstall htmlinstall]
d467 1
a467 3
X11SRCDIR.xc	The path to the (old) X11 xc src tree.  [${X11SRCDIR}/xfree/xc]

X11SRCDIR.local	The path to the local X11 src tree.  [${X11SRCDIR}/local]
d469 1
a469 4
X11SRCDIR.lib<package>
X11SRCDIR.<package>
		The path to the xorg src tree for the specificed package>.
		[${X11SRCDIR}/external/mit/xorg/<package>/dist]
d471 1
a471 2
X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6 or
		[/usr/X11R7]
d512 1
a512 1
make configuration file to modify the behavior of the system build
d766 2
a767 7
LIBISMODULE	If not "no", install as ${LIB}.so (without the "lib" prefix),
		and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
		MKPROFILE=no MKSTATICLIB=no".
		Default: no

LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no
		MKPROFILE=no", and don't install the (.a) library.
d852 1
a852 1
It has a three targets:
d854 2
a857 4
	htmlinstall:
		Install the HTML manual pages and their links.
	maninstall:
		Install the manual page sources and their links.
d1016 2
a1017 2
PAXCTL_FLAGS	If defined, run paxctl(1) on the program binary after link
		time, with the value of this variable as args to paxctl(1).
d1242 1
a1242 9
AFLAGS		Options to ${CC} when compiling or linking .s or .S
		assembly source files.  []

BUILDSEED	GCC uses random numbers when compiling C++ code.
		If this option is present, seed the random number
		generator based on the value, source file names and
		the output file name to make builds more deterministic.
		Additional information is available in the GCC
		documentation of -frandom-seed.
d1429 1
a1429 6
NOGCCERROR	If defined, prevents passing certain ${CFLAGS} to GCC
		that cause warnings to be fatal, such as:
			-Werror -Wa,--fatal-warnings
		(The latter being for as(1).)

WARNS		Crank up GCC warning options; the distinct levels are:
d1438 1
a1438 1
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
d1445 1
a1445 1
		these rules convert from X11's manual page source
d1467 1
a1467 1
X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.
d1469 1
a1469 1
X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.
d1471 1
a1471 1
X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.
d1473 1
a1473 1
X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.
d1475 1
a1475 1
X11FLAGS.SERVER		Equivalent to X11's ServerDefines.
d1477 1
a1477 1
X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.
d1479 1
a1479 1
X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.
a1482 2
X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.

@


1.207.2.3
log
@Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.207.2.2 2008/09/18 04:38:09 wrstuden Exp $
a179 3
MKSTRIPIDENT	Strip the RCS IDs from program binaries and shared libraries.
		Default: no

@


1.206
log
@Explicitly set MKLINT=no if MKLINKLIB==no, rather than just acting that way.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.205 2008/04/30 21:15:33 garbled Exp $
d758 1
a758 1
MKPRIVATELIB	If not "no", act as "MKLINT=no MKPIC=no MKPROFILE=no",
@


1.205
log
@Convert prep to use the new unified mkbootimage rather than it's own.  This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this.  Needs someone to test.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.204 2008/03/31 02:42:27 lukem Exp $
d191 1
a191 1
MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
d758 1
a758 1
MKPRIVATELIB	If not "no", act as "MKPROFILE=no MKPIC=no MKLINT=no",
@


1.204
log
@Change USE_SKEY default to "no"; we have had USE_PAM=yes as the default
for a long time, and there's no point having custom S/Key support in the
applications given that pam_skey.so is now in /etc/pam.d/*
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.203 2008/03/28 06:04:40 dholland Exp $
d1382 1
a1382 1
TOOL_PREPMKBOOTIMAGE	prep-mkbootimage (XXXBUILDSH).  [prep-mkbootimage]
@


1.204.2.1
log
@file bsd.README was added on branch mjf-devfs2 on 2008-06-02 13:21:42 +0000
@
text
@d1 1487
@


1.204.2.2
log
@Sync with HEAD.
@
text
@a0 1498
#	$NetBSD: bsd.README,v 1.204.2.1 2008/06/02 13:21:42 mjf Exp $
#	@@(#)bsd.README	8.2 (Berkeley) 4/2/94

This is the README file for the new (as of 1993) make "include" files
for the BSD source tree.  The files are installed in /usr/share/mk, and
are, by convention, named with the suffix ".mk".

Note, this file is not intended to replace reading through the .mk
files for anything tricky.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

RANDOM THINGS WORTH KNOWING:

The files are simply C-style #include files, and pretty much behave like
you'd expect.  The syntax is slightly different in that a single '.' is
used instead of the hash mark, i.e. ".include <bsd.prog.mk>".

One difference that will save you lots of debugging time is that inclusion
of the file is normally done at the *end* of the Makefile.  The reason for
this is because .mk files often modify variables and behavior based on the
values of variables set in the Makefile.  To make this work, remember that
the FIRST target found is the target that is used, i.e. if the Makefile has:

	a:
		echo a
	a:
		echo a number two

the command "make a" will echo "a".  To make things confusing, the SECOND
variable assignment is the overriding one, i.e. if the Makefile has:

	a=	foo
	a=	bar

	b:
		echo ${a}

the command "make b" will echo "bar".  This is for compatibility with the
way the V7 make behaved.

It's fairly difficult to make the BSD .mk files work when you're building
multiple programs in a single directory.  It's a lot easier to split up the
programs than to deal with the problem.  Most of the agony comes from making
the "obj" directory stuff work right, not because we switched to a new version
of make.  So, don't get mad at us, figure out a better way to handle multiple
architectures so we can quit using the symbolic link stuff.  (Imake doesn't
count.)

The file .depend in the source directory is expected to contain dependencies
for the source files.  This file is read automatically by make after reading
the Makefile.

The variable DESTDIR works as before.  It's not set anywhere but will change
the tree where the file gets installed.

The profiled libraries are no longer built in a different directory than
the regular libraries.  A new suffix, ".po", is used to denote a profiled
object, and ".so" denotes a shared (position-independent) object.

There are various make variables used during the build.

Many variables support a (case sensitive) value of "no" or "yes",
and are tested with  ${VAR} == "no"  and  ${VAR} != "no" .


The basic rule for the variable naming scheme is as follows:

MKxxx		Can be set to "no" to disable functionality, or
		"yes" to enable it.
		Usually defaults to "yes", although some variables
		default to "no".
		Due to make(1) implementation issues, if a temporary
		command-line override of a mk.conf or <bsd.own.mk>
		setting is required whilst still honouring a particular
		Makefile's setting of MKxxx, use
			env MKxxx=value make
		instead of
			make MKxxx=value

NOxxx		If defined, disables a feature.
		Not intended for users.
		This is to allow Makefiles to disable functionality
		that they don't support (such as missing man pages).
		NOxxx variables must be defined before <bsd.own.mk>
		is included.

The following variables that control how things are made/installed that
are not set by default. These should not be set by Makefiles; they're for
the user to define in MAKECONF (see <bsd.own.mk>, below) or on the make(1)
command line:

BUILD 		If defined, 'make install' checks that the targets in the
		source directories are up-to-date and remakes them if they
                are out of date, instead of blindly trying to install
                out of date or non-existent targets.

MAKEVERBOSE	Control how "verbose" the standard make(1) rules are.
		Default: 2
		Supported values:
		    0	Minimal output ("quiet")
		    1	Describe what is occurring
		    2	Describe what is occurring and echo the actual command


MKBFD		If "no", don't build libbfd, libiberty, or any of the things
		that depend on them (binutils/gas/ld, gdb, dbsym, mdsetimage).
		Default: yes

MKCATPAGES	If "no", don't build or install the catman pages.
		Default: yes

MKCRYPTO	If "no", no cryptography support will be built into the system,
		and also acts as "MKKERBEROS=no".
		Default: yes

MKCRYPTO_IDEA	If not "no", IDEA support will be built into libcrypto_idea.a.
		Default: no

MKCRYPTO_MDC2	If not "no", MDC2 support will be built into libcrypto_mdc2.a
		Default: no

MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5.a.
		Default: no

MKCVS		If "no", don't build or install cvs(1).
		Default: yes

MKDEBUG		If "no", don't build and install separate debugging symbols
		into /usr/libdata/debug.
		Default: no

MKDEBUGLIB	Build debugging libraries.
		Default: no

MKDOC		If "no", don't build or install the documentation.
		Default: yes

MKDYNAMICROOT	If "no", build programs in /bin and /sbin statically,
		don't install certain libraries in /lib, and don't
		install the shared linker into /libexec.
		Default: yes

MKGCC		If "no", don't build gcc(1) or any of the GCC-related
		libraries (libgcc, libobjc, libstdc++).
		Default: yes

MKGCCCMDS	If "no", don't build gcc(1), but do build the GCC-related
		libraries (libgcc, libobjc, libstdc++).
		Default: yes

MKGDB		If "no", don't build gdb(1).
		Default: yes

MKHESIOD	If "no", disables building of Hesiod infrastructure
		(libraries and support programs).
		Default: yes

MKHOSTOBJ	If not "no", for programs intended to be run on the compile
		host, the name, release, and architecture of the host
		operating system will be suffixed to the name of the object
		directory created by "make obj".
		Default: no

MKHTML		If "no", don't build or install the html man pages.
		Default: no

MKIEEEFP	If "no", don't add code for IEEE754/IEC60559 conformance.
		Has no effect on most platforms.
		Default: yes

MKINET6		If "no", disables building of INET6 (IPv6) infrastructure
		(libraries and support programs).
		Default: yes

MKINFO		If "no", don't build or install Info documentation from
		Texinfo source files.
		Default: yes

MKIPFILTER	If "no", don't build or install the IP Filter programs and LKM.
		Default: yes

MKISCSI		If "no", don't build or install iSCSI library or applications
		(depends on libpthread.)
		Default: yes

MKKERBEROS	If "no", disables building of Kerberos v5
		infrastructure (libraries and support programs).
		Default: yes

MKLDAP		If "no", disables building of LDAP infrastructure
		(libraries and support programs).
		Default: yes

MKLINKLIB	If "no", act as "MKLINT=no MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).
		Default: yes

MKLINT		If "no", don't build or install the lint libraries.
		Default: yes

MKMAN		If "no", don't build or install the man or catman pages,
		and also acts as "MKCATPAGES=no MKHTML=no".
		Default: yes

MKMANZ		If not "no", compress manual pages at installation time.
		Default: no

MKMODULAR	If "no", don't build the versions of modload(8), modstat(8)
		and modunload(8) that use the new modules framework present
		in the kernel (enabled separately using 'options MODULAR'
		int the configuration file).  Also don't build any other
		stuff that may rely on this support, such as tests or kernel
		modules.
		Note: This flag will disappear when the new modules framework
		is complete enough to replace the old LKM, effectively
		switching it to "yes" by default.
		Default: no

MKNLS		If "no", don't build or install the NLS files and locale
		definition files.
		Default: yes

MKOBJ		If "no", don't enable the rule which creates objdirs,
		and also acts as "MKOBJDIRS=no".
		Default: yes

MKOBJDIRS	If "no", don't create objdirs during a "make build".
		Default: no

MKPAM		If "no", disables building of PAM authentication
		infrastructure (libraries and support programs).
		Default: yes

MKPF		If "no", don't build or install the pf programs and LKM.
		Default: yes

MKPIC		If "no", don't build or install shared libraries, and
		also acts as "MKPICLIB=no"
		Default: yes (for MACHINE_ARCHs that support it) 

MKPICINSTALL	If "no", don't install the *_pic.a libraries.
		Default: yes

MKPICLIB	If "no", don't build *_pic.a libraries, and build the
		shared object libraries from the .a libraries.
		A symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.
		Default: yes

MKPIE		If "no", create regular executables. Otherwise create
		PIE (Position Independent Executables).
		Default: no

MKPOSTFIX	If "no", don't build or install postfix(1).
		Default: yes

MKPROFILE	If "no", don't build or install the profiling (*_p.a) libraries.
		Default: yes

MKPUFFS		If "no", don't build librefuse (lib/librefuse) or
		puffs applications (usr.sbin/puffs).  NOTE: libpuffs
		is always built due to historic reasons.  This flag will
		disappear once puffs is no longer considered experimental,
		i.e. it will effectively default to "yes".
		Default: no

MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
		MKMAN=no MKNLS=no".
		I.e, don't build catman pages, documentation, Info
		documentation, man pages, NLS files, ...
		Default: yes

MKSKEY		If "no", disables building of S/key authentication
		infrastructure (libraries and support programs).
		Default: yes

MKSOFTFLOAT	If not "no", build with options to enable the compiler to
		generate output containing library calls for floating
		point and possibly soft-float library support.
		Default: no

MKSTATICLIB	If "no", don't build or install the normal static (*.a)
		libraries.
		Default: yes

MKUNPRIVED	If not "no", don't set the owner/group/mode when installing
		files or directories, and keep a metadata log of what
		the owner/group/mode should be.  This allows a
		non-root "make install".
		Default: no

MKUPDATE 	If not "no", 'make install' only installs targets that are
		more recently modified in the source directories that their
		installed counterparts.
		Default: no

MKX11		If not "no", 'make build' also descends into src/x11
		to cross build X11R6 and automatically enables creation
		of X sets.
		Default: no

MKYP		If "no", disables building of YP (NIS)
		infrastructure (libraries and support programs).
		Default: yes

USE_HESIOD	If "no", disables building Hesiod support into
		various system utilities/libraries that support it.
		If ${MKHESIOD} is "no", USE_HESIOD will also be
		forced to "no".

USE_INET6	If "no", disables building INET6 (IPv6) support into
		various system utilities/libraries that support it.
		If ${MKINET6} is "no", USE_INET6 will also be
		forced to "no".

USE_JEMALLOC	If "no", disables building the "jemalloc" allocator
		designed for improved performance with threaded
		applications.  The "phkmalloc" allocator as used up
		before NetBSD-5.0 will be substituted.

USE_KERBEROS	If "no", disables building Kerberos v5
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS} is "no", USE_KERBEROS
		will also be forced to "no".

USE_LDAP	If "no", disables building LDAP support into various
		system utilities/libraries that support it.
		If ${MKLDAP} is "no", USE_LDAP will also be forced to "no".

USE_PAM		If "no", disables building PAM authentication support
		into various system utilities/libraries that support it.
		If ${MKPAM} is "no", USE_PAM will also be forced to "no".

USE_SKEY	If "no", disables building S/key authentication
		support into various system utilities/libraries that
		support it.  If ${MKSKEY} is "no", USE_SKEY will
		also be forced to "no".
		Default: no

USE_SSP		If "no", disables GCC stack protection code, which
		detects stack overflows and aborts the program. This
		imposes some performance penalty.
		Default: no

USE_YP		If "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.
		If ${MKYP} is "no", USE_YP will also be forced to "no".

COPTS.lib<lib>
OBJCOPTS.lib<lib>
LDADD.lib<lib>
CPPFLAGS.lib<lib>
CXXFLAGS.lib<lib>
COPTS.<prog>
OBJCCOPTS.<prog>
LDADD.<prog>
CPPFLAGS.<prog>
CXXFLAGS.<prog>	These provide a way to specify additions to the associated
		variables in a way that applies only to a particular library
		or program.  <lib> corresponds to the LIB variable set in
		the library's makefile.  <prog> corresponds to either PROG
		or PROG_CXX (if set).  For example, if COPTS.libcrypto is
		set to "-g", "-g" will be added to COPTS only when compiling
		the crypto library.

=-=-=-=-=   sys.mk   =-=-=-=-=

The include file <sys.mk> has the default rules for all makes, in the BSD
environment or otherwise.  You probably don't want to touch this file.

=-=-=-=-=   bsd.own.mk   =-=-=-=-=

The include file <bsd.own.mk> contains source tree configuration parameters,
such as the owners, groups, etc. for both manual pages and binaries, and
a few global "feature configuration" parameters.

It has no targets.

To get system-specific configuration parameters, <bsd.own.mk> will try to
include the file specified by the "MAKECONF" variable.  If MAKECONF is not
set, or no such file exists, the system make configuration file, /etc/mk.conf
is included.  These files may define any of the variables described below.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

NETBSDSRCDIR	Top of the NetBSD source tree.
		If _SRC_TOP_ != "", that will be used as the default,
		otherwise BSDSRCDIR will be used as the default.
		Various makefiles within the NetBSD source tree will
		use this to reference the top level of the source tree.

_SRC_TOP_	Top of the system source tree, as determined by <bsd.own.mk>
		based on the presence of tools/ and build.sh.  This variable
		is "internal" to <bsd.own.mk>, although its value is only
		determined once and then propagated to all sub-makes.

BSDSRCDIR	The real path to the system sources, so that 'make obj'
		will work correctly.  [/usr/src]

BSDOBJDIR	The real path to the system 'obj' tree, so that 'make obj'
		will work correctly.  [/usr/obj]

BINGRP		Binary group.  [wheel]

BINOWN		Binary owner.  [root]

BINMODE		Binary mode.  [555]

NONBINMODE	Mode for non-executable files.  [444]

MANDIR		Base path for manual installation.  [/usr/share/man/cat]

MANGRP		Manual group.  [wheel]

MANOWN		Manual owner.  [root]

MANMODE		Manual mode.  [${NONBINMODE}]

MANINSTALL	Manual installation type: maninstall, catinstall, or both
		[maninstall catinstall]

LDSTATIC	Control program linking; if set blank, link everything
		dynamically.  If set to "-static", link everything statically.
		If not set, programs link according to their makefile.

LIBDIR		Base path for library installation.  [/usr/lib]

LINTLIBDIR	Base path for lint(1) library installation.  [/usr/libdata/lint]

LIBGRP		Library group.  [${BINGRP}]

LIBOWN		Library owner.  [${BINOWN}]

LIBMODE		Library mode.  [${NONBINMODE}]

DOCDIR		Base path for system documentation (e.g. PSD, USD, etc.)
	        installation.  [/usr/share/doc]

HTMLDOCDIR	Base path for html system documentation installation.
		[/usr/share/doc/html]

DOCGRP		Documentation group.  [wheel]

DOCOWN		Documentation owner.  [root]

DOCMODE		Documentation mode.  [${NONBINMODE}]

NLSDIR		Base path for Native Language Support files installation.
		[/usr/share/nls]

NLSGRP		Native Language Support files group.  [wheel]

NLSOWN		Native Language Support files owner.  [root]

NLSMODE		Native Language Support files mode.  [${NONBINMODE}]

X11SRCDIR	The path to the xsrc tree.  [/usr/xsrc]

X11SRCDIR.xc	The path to the X11R6 xc src tree.  [${X11SRCDIR}/xfree/xc]

X11SRCDIR.local	The path to the local X11R6 src tree.  [${X11SRCDIR}/local]

X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6]

X11BINDIR	X11 bin directory.  [${X11ROOTDIR}/bin]

X11FONTDIR	X11 font directory.  [${X11ROOTDIR}/lib/X11/fonts]

X11INCDIR	X11 include directory.  [${X11ROOTDIR}/include]

X11LIBDIR	X11 lib/x11 (config) directory.  [${X11ROOTDIR}/lib/X11]

X11MANDIR	X11 manual directory.  [${X11ROOTDIR}/man]

X11USRLIBDIR	X11 library directory.  [${X11ROOTDIR}/lib]

STRIPFLAG	The flag passed to the install program to cause the binary
		to be stripped.  This is to be used when building your
		own install script so that the entire system can be made
		stripped/not-stripped using a single knob.  []

COPY		The flag passed to the install program to cause the binary
		to be copied rather than moved.  This is to be used when
		building our own install script so that the entire system
		can either be installed with copies, or with moves using
		a single knob.  [-c]

MAKEDIRTARGET dir target [params]
		Runs "cd $${dir} && ${MAKE} [params] $${target}",
		displaying a "pretty" message whilst doing so.

RELEASEMACHINEDIR
		Subdirectory used below RELEASEDIR when building
		a release.  [${MACHINE}]

RELEASEMACHINE	Subdirectory or path component used for the following
		paths:
			distrib/${RELEASEMACHINE}
			distrib/notes/${RELEASEMACHINE}
			etc/etc.${RELEASEMACHINE}
		Used when building a release.  [${MACHINE}]

Additionally, the following variables may be set by <bsd.own.mk> or in a
make configuration file to modify the behaviour of the system build
process (default values are in brackets along with comments, if set by
<bsd.own.mk>):

USETOOLS	Indicates whether the tools specified by ${TOOLDIR} should
		be used as part of a build in progress.
		Supported values:

		yes	Use the tools from TOOLDIR.
			Must be set to this if cross-compiling.

		no	Do not use the tools from TOOLDIR, but refuse to
			build native compilation tool components that are
			version-specific for that tool.

		never	Do not use the tools from TOOLDIR, even when
			building native tool components.  This is similar to
			the traditional NetBSD build method, but does not
			verify that the compilation tools in use are
			up-to-date enough in order to build the tree
			successfully.  This may cause build or runtime
			problems when building the whole NetBSD source tree.

		Default: "yes" if building all or part of a whole NetBSD
		source tree (detected automatically); "no" otherwise
		(to preserve traditional semantics of the <bsd.*.mk>
		make(1) include files).

OBJECT_FMT	Object file format.  [set to "ELF" on architectures that
		use ELF -- currently all architectures].

TOOLCHAIN_MISSING
		If not "no", this indicates that the platform being built
		does not have a working in-tree toolchain.  If the
		${MACHINE_ARCH} in question falls into this category,
		TOOLCHAIN_MISSING is conditionally assigned the value "yes". 
		Otherwise, the variable is unconditionally assigned the
		value "no".
		If not "no", ${MKBFD}, ${MKGCC}, and ${MKGDB} are
		unconditionally assigned the value "no".

EXTERNAL_TOOLCHAIN
		This variable is not directly set by <bsd.own.mk>, but
		including <bsd.own.mk> is the canonical way to gain
		access to this variable.  The variable should be defined
		either in the user's environment or in the user's mk.conf
		file.  If defined, this variable indicates the root of
		an external toolchain which will be used to build the
		tree.  For example, if a platform is a ${TOOLCHAIN_MISSING}
		platform, EXTERNAL_TOOLCHAIN can be used to re-enable the
		cross-compile framework.

		If EXTERNAL_TOOLCHAIN is defined, ${MKGCC} is unconditionally
		assigned the value "no", since the external version of the
		compiler may not be able to build the library components of
		the in-tree compiler.

		NOTE: This variable is not yet used in as many places as
		it should be.  Expect the exact semantics of this variable
		to change in the short term as parts of the cross-compile
		framework continue to be cleaned up.

<bsd.own.mk> is generally useful when building your own Makefiles so that
they use the same default owners etc. as the rest of the tree.


=-=-=-=-=   bsd.dep.mk   =-=-=-=-=

The include file <bsd.dep.mk> contains the default targets for building
.depend files.  It creates .d files from entries in SRCS and DPSRCS
that are C, C++, or Objective C source files, and builds .depend from the
.d files.  All other files in SRCS and all of DPSRCS will be used as
dependencies for the .d files.  In order for this to function correctly,
it should be .included after all other .mk files and directives that may
modify SRCS or DPSRCS.  It uses the following variables:

SRCS		List of source files to build the program.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.


=-=-=-=-=   bsd.files.mk   =-=-=-=-=

The include file <bsd.files.mk> handles the FILES variables and is included
from <bsd.lib.mk> and <bsd.prog.mk>, and uses the following variables:

FILES		The list of files to install.

CONFIGFILES	Similar semantics to FILES, except that the files
		are installed by the `configinstall' target,
		not the `install' target.
		The FILES* variables documented below also apply.

FILESOWN	File owner.  [${BINOWN}]

FILESGRP	File group.  [${BINGRP}]

FILESMODE	File mode.  [${NONBINMODE}]

FILESDIR	The location to install the files.

FILESNAME	Optional name to install each file as.

FILESOWN_<fn>	File owner of the specific file <fn>.

FILESGRP_<fn>	File group of the specific file <fn>.

FILESMODE_<fn>	File mode of the specific file <fn>.

FILESDIR_<fn>	The location to install the specific file <fn>.

FILESNAME_<fn>	Optional name to install <fn> as.


BUILDSYMLINKS	List of two word items:
			lnsrc lntgt
		For each lnsrc item, create a symlink named lntgt.
		The lntgt symlinks are removed by the cleandir target.

UUDECODE_FILES	List of files which are stored as <file>.uue in the source
		tree. Each one will be decoded with ${TOOL_UUDECODE}.
		The source files have a `.uue' suffix, the generated files do 
		not.

UUDECODE_FILES_RENAME_<fn>
		Rename the output from the decode to the provided name.
		
		*NOTE: These files are simply decoded, with no install or other
		       rule applying implicitly except being added to the clean
		       target.

=-=-=-=-=   bsd.gcc.mk   =-=-=-=-=

The include file <bsd.gcc.mk> computes various parameters related to GCC
support libraries.  It defines no targets.  <bsd.own.mk> MUST be included
before <bsd.gcc.mk>.

The primary users of <bsd.gcc.mk> are <bsd.prog.mk> and <bsd.lib.mk>, each
of which need to know where to find certain GCC support libraries.

The behavior of <bsd.gcc.mk> is influenced by the EXTERNAL_TOOLCHAIN variable,
which is generally set by the user.  If EXTERNAL_TOOLCHAIN it set, then
the compiler is asked where to find the support libraries, otherwise the
support libraries are found in ${DESTDIR}/usr/lib.

<bsd.gcc.mk> sets the following variables:

_GCC_CRTBEGIN	The full path name to crtbegin.o.

_GCC_CRTBEGINS	The full path name to crtbeginS.o.

_GCC_CRTEND	The full path name to crtend.o.

_GCC_CRTENDS	The full path name to crtendS.o.

_GCC_LIBGCCDIR	The directory where libgcc.a is located.


=-=-=-=-=   bsd.inc.mk   =-=-=-=-=

The include file <bsd.inc.mk> defines the includes target and uses the
variables:

INCS		The list of include files.

INCSDIR		The location to install the include files.

INCSNAME	Target name of the include file, if only one; same as
		FILESNAME, but for include files.

INCSYMLINKS	Similar to SYMLINKS in <bsd.links.mk>, except that these
		are installed in the 'includes' target and not the
		(much later) 'install' target.

INCSNAME_<file>	The name file <file> should be installed as, if not <file>,
		same as FILESNAME_<file>, but for include files.


=-=-=-=-=   bsd.info.mk   =-=-=-=-=

The include file <bsd.info.mk> is used to generate and install GNU Info
documentation from respective Texinfo source files.  It defines three
implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
following variables:

TEXINFO		List of Texinfo source files.  Info documentation will
		consist of single files with the extension replaced by
		.info.

INFOFLAGS	Flags to pass to makeinfo.  []


=-=-=-=-=   bsd.kernobj.mk   =-=-=-=-=

The include file <bsd.kernobj.mk> defines variables related to the
location of kernel sources and object directories.

KERNSRCDIR	Is the location of the top of the kernel src.
		[${_SRC_TOP_}/sys]

KERNARCHDIR	Is the location of the machine dependent kernel sources.
		[arch/${MACHINE}]

KERNCONFDIR	Is where the configuration files for kernels are found.
		[${KERNSRCDIR}/${KERNARCHDIR}/conf]

KERNOBJDIR	Is the kernel build directory.  The kernel GENERIC for
		instance will be compiled in ${KERNOBJDIR}/GENERIC.
		The default value is
		${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile
		if it exists or the target 'obj' is being made.
		Otherwise the default is
		${KERNSRCDIR}/${KERNARCHDIR}/compile.

It is important that Makefiles (such as those under src/distrib) that
wish to find compiled kernels use <bsd.kernobj.mk> and ${KERNOBJDIR}
rather than make assumptions about the location of the compiled kernel.


=-=-=-=-=   bsd.kinc.mk   =-=-=-=-=

The include file <bsd.kinc.mk> defines the many targets (includes,
subdirectories, etc.), and is used by kernel makefiles to handle
include file installation.  It is intended to be included alone, by
kernel Makefiles.  It uses similar variables to <bsd.inc.mk>.
Please see <bsd.kinc.mk> for more details, and keep the documentation
in that file up to date.


=-=-=-=-=   bsd.lib.mk   =-=-=-=-=

The include file <bsd.lib.mk> has support for building libraries.  It has
the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
includes, install, lint, and tags.  Additionally, it has a checkver target
which checks for installed shared object libraries whose version is greater
that the version of the source. It has a limited number of suffixes,
consistent with the current needs of the BSD tree.  <bsd.lib.mk> includes
<bsd.shlib.mk> to get shared library parameters.

It sets/uses the following variables:

LIB		The name of the library to build.

LIBDIR		Target directory for libraries.

SHLIBINSTALLDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
		is not "no".

USE_SHLIBDIR	If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
		as the path to install shared libraries to.
		USE_SHLIBDIR must be defined before <bsd.own.mk> is included.
		Default: no

LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no MKPROFILE=no",
		and don't install the (.a) library.
		This is useful for "build only" helper libraries.
		Default: no

LINTLIBDIR	Target directory for lint libraries.

LIBGRP		Library group.

LIBOWN		Library owner.

LIBMODE		Library mode.

LDADD		Additional loader objects.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

NOCHECKVER_<library>
NOCHECKVER	If set, disables checking for installed shared object
		libraries with versions greater than the source.  A
		particular library name, without the "lib" prefix, may
		be appended to the variable name to disable the check for
		only that library.

SRCS		List of source files to build the library.  Suffix types
		.s, .c, and .f are supported.  Note, .s files are preferred
		to .c files of the same name.  (This is not the default for
		versions of make.)

LIBDPLIBS	A list of the tuples:
			libname  path-to-srcdir-of-libname

		For each tuple;
		     *	LIBDO.libname contains the .OBJDIR of the library
			`libname', and if it is not set it is determined
			from the srcdir and added to MAKEOVERRIDES (the
			latter is to allow for build time optimization).
		     *	LDADD gets  -L${LIBDO.libname} -llibname    added.
		     *	DPADD gets  ${LIBDO.libname}/liblibname.so  or
				    ${LIBDO.libname}/liblibname.a   added.

		This variable may be used for individual libraries, as
		well as in parent directories to cache common libraries 
		as a build-time optimization.

The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

It has rules for building profiled objects; profiled libraries are
built by default.

Libraries are ranlib'd when made.


=-=-=-=-=   bsd.links.mk   =-=-=-=-=

The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
and is included from from <bsd.lib.mk> and <bsd.prog.mk>.

LINKS		The list of hard links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is prepended to both paths before linking.
		For example, to link /bin/test and /bin/[, use:
			LINKS=/bin/test /bin/[

CONFIGLINKS	Similar semantics to LINKS, except that the links
		are installed by the `configinstall' target,
		not the `install' target.

SYMLINKS	The list of symbolic links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is only prepended to target-file before linking.
		For example, to symlink /usr/bin/tar to /bin/tar resulting
		in ${DESTDIR}/usr/bin/tar -> /bin/tar:
			SYMLINKS=/bin/tar /usr/bin/tar

CONFIGSYMLINKS	Similar semantics to SYMLINKS, except that the symbolic links
		are installed by the `configinstall' target,
		not the `install' target.


=-=-=-=-=   bsd.man.mk   =-=-=-=-=

The include file <bsd.man.mk> handles installing manual pages and their
links.

It has a two targets:

	maninstall:
		Install the manual page sources and their links.
	catinstall:
		Install the preformatted manual pages and their links.

It sets/uses the following variables:

MANDIR		Base path for manual installation.

MANGRP		Manual group.

MANOWN		Manual owner.

MANMODE		Manual mode.

MANSUBDIR	Subdirectory under the manual page section, i.e. "/vax"
		or "/tahoe" for machine specific manual pages.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

MLINKS		List of manual page links (using a .1 - .9 suffix).  The
		linked-to file must come first, the linked file second,
		and there may be multiple pairs.  The files are soft-linked.

The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
it exists.


=-=-=-=-=   bsd.obj.mk   =-=-=-=-=

The include file <bsd.obj.mk> defines targets related to the creation
and use of separated object and source directories.

If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses
${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if
it exists.  Otherwise make(1) looks for the existence of a
subdirectory (or a symlink to a directory) of the source directory
into which built targets should be placed.  If an environment variable
named MAKEOBJDIR is set, make(1) uses its value as the name of the
object directory; failing that, make first looks for a subdirectory
named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj".

Object directories are not created automatically by make(1) if they
don't exist; you need to run a separate "make obj".  (This will happen
during a top-level build if "MKOBJDIRS" is set to a value other than
"no").  When the source directory is a subdirectory of ${BSDSRCDIR} --
and this is determined by a simple string prefix comparison -- object
directories are created in a separate object directory tree, and a
symlink to the object directory in that tree is created in the source
directory; otherwise, "make obj" assumes that you're not in the main
source tree and that it's not safe to use a separate object tree.

Several variables used by <bsd.obj.mk> control exactly what
directories and links get created during a "make obj":

MAKEOBJDIR	If set, this is the component name of the object
		directory.

OBJMACHINE	If this is set but MAKEOBJDIR is not set, creates
		object directories or links named "obj.${MACHINE}";
		otherwise, just creates ones named "obj".

USR_OBJMACHINE  If set, and the current directory is a subdirectory of
		${BSDSRCDIR}, create object directory in the
		corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
		otherwise, create it in the corresponding subdirectory
		of ${BSDOBJDIR}

BUILDID		If set, the contents of this variable are appended
		to the object directory name.  If OBJMACHINE is also
		set, ".${BUILDID}" is added after ".${MACHINE}".


=-=-=-=-=   bsd.prog.mk   =-=-=-=-=

The include file <bsd.prog.mk> handles building programs from one or
more source files, along with their manual pages.  It has a limited number
of suffixes, consistent with the current needs of the BSD tree. 
<bsd.prog.mk> includes <bsd.shlib.mk> to get shared library parameters.

It has eight targets:

	all:
		build the program and its manual page.  This also
		creates a GDB initialization file (.gdbinit) in
		the objdir.  The .gdbinit file sets the shared library
		prefix to ${DESTDIR} to facilitate cross-debugging.
	clean:
		remove the program, any object files and the files a.out,
		Errs, errs, mklog, and ${PROG}.core.
	cleandir:
		remove all of the files removed by the target clean, as
		well as .depend, tags, and any manual pages.
		`distclean' is a synonym for `cleandir'.
	depend:
		make the dependencies for the source files, and store
		them in the file .depend.
	includes:
		install any header files.
	install:
		install the program and its manual pages; if the Makefile
		does not itself define the target install, the targets
		beforeinstall and afterinstall may also be used to cause
		actions immediately before and after the install target
		is executed.
	lint:
		run lint on the source files
	tags:
		create a tags file for the source files.

It sets/uses the following variables:

BINGRP		Binary group.

BINOWN		Binary owner.

BINMODE		Binary mode.

CLEANFILES	Additional files to remove for the clean and cleandir targets.

COPTS		Additional flags to the compiler when creating C objects.

COPTS.<fn>	Additional flags to the compiler when creating the
		C objects for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPUFLAGS	Additional flags to the compiler/assembler to select
		CPU instruction set options, CPU tuning options, etc.

CPUFLAGS.<fn>	Additional flags to the compiler/assembler for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPPFLAGS	Additional flags to the C pre-processor.

CPPFLAGS.<fn>	Additional flags to the C pre-processor for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

GDBINIT		List of GDB initialization files to add to "source"
		directives in the .gdbinit file that is created in the
		objdir.

LDADD		Additional loader objects.  Usually used for libraries.
		For example, to load with the compatibility and utility
		libraries, use:

			LDADD+=-lutil -lcompat

LDFLAGS		Additional linker flags (passed to ${CC} during link).

LINKS		See <bsd.links.mk>

OBJCOPTS	Additional flags to the compiler when creating ObjC objects.

OBJCOPTS.<fn>	Additional flags to the compiler when creating the
		ObjC objects for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

SYMLINKS	See <bsd.links.mk>

MAN		Manual pages (should end in .1 - .9).  If no MAN variable is
		defined, "MAN=${PROG}.1" is assumed.

PAXCTL_FLAGS	If defined then paxctl(1) is ran on binary after link
		time, with the value of the variable as args to it.

PAXCTL_FLAGS.${PROG} Custom override for PAXCTL_FLAGS.

PROG		The name of the program to build.  If not supplied, nothing
		is built.

PROG_CXX	If defined, the name of the program to build.  Also
		causes <bsd.prog.mk> to link the program with the C++
		compiler rather than the C compiler.  PROG_CXX overrides
		the value of PROG if PROG is also set.

PROGNAME	The name that the above program will be installed as, if
		different from ${PROG}.

SRCS		List of source files to build the program.  If SRCS is not
		defined, it's assumed to be ${PROG}.c.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.

DPADD		Additional dependencies for the program.  Usually used for
		libraries.  For example, to depend on the compatibility and
		utility libraries use:

			DPADD+=${LIBCOMPAT} ${LIBUTIL}

		The following libraries are predefined for DPADD:

		LIBCRT0?=	${DESTDIR}/usr/lib/crt0.o
		LIBARCHIVE?=	${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=	${DESTDIR}/usr/lib/libasn1.a
		LIBBLUETOOTH?=	${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=	${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
		LIBC?=		${DESTDIR}/usr/lib/libc.a
		LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
		LIBCOM_ERR?=	${DESTDIR}/usr/lib/libcom_err.a
		LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
		LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=	${DESTDIR}/usr/lib/libcrypto.a
		LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a
		LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a
		LIBCRYPTO_RC5?=	${DESTDIR}/usr/lib/libcrypto_rc5.a
		LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
		LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
		LIBDES?=	${DESTDIR}/usr/lib/libdes.a
		LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=	${DESTDIR}/usr/lib/libevent.a
		LIBFORM?=	${DESTDIR}/usr/lib/libform.a
		LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
		LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=	${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=	${DESTDIR}/usr/lib/libhdb.a
		LIBINTL?=	${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=	${DESTDIR}/usr/lib/libipsec.a
		LIBKADM5CLNT?=	${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=	${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=	${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=	${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
		LIBL?=		${DESTDIR}/usr/lib/libl.a
		LIBLBER?=	${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=	${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=	${DESTDIR}/usr/lib/libldap_r.a
		LIBM?=		${DESTDIR}/usr/lib/libm.a
		LIBMENU?=	${DESTDIR}/usr/lib/libmenu.a
		LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=	${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=	${DESTDIR}/usr/lib/libpam.a
		LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=	${DESTDIR}/usr/lib/libpci.a
		LIBPMC?=	${DESTDIR}/usr/lib/libpmc.a
		LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=	${DESTDIR}/usr/lib/libpthread.a
		LIBPTHREAD_DBG?=${DESTDIR}/usr/lib/libpthread_dbg.a
		LIBRADIUS?=	${DESTDIR}/usr/lib/libradius.a
		LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=	${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=	${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=		${DESTDIR}/usr/lib/librt.a
		LIBSDP?=	${DESTDIR}/usr/lib/libsdp.a
		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
		LIBSL?=		${DESTDIR}/usr/lib/libsl.a
		LIBSS?=		${DESTDIR}/usr/lib/libss.a
		LIBSSH?=	${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=	${DESTDIR}/usr/lib/libssl.a
		LIBSSP?=	${DESTDIR}/usr/lib/libssp.a
		LIBSTDCXX?=	${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=	${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
		LIBUSBHID?=	${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
		LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
		LIBY?=		${DESTDIR}/usr/lib/liby.a
		LIBZ?=		${DESTDIR}/usr/lib/libz.a

SHAREDSTRINGS	If defined, a new .c.o rule is used that results in shared
		strings, using xstr(1). Note that this will not work with
		parallel makes.

STRIPFLAG	The flag passed to the install program to cause the binary
		to be stripped.

SUBDIR		A list of subdirectories that should be built as well.
		Each of the targets will execute the same target in the
		subdirectories.

SCRIPTS		A list of interpreter scripts [file.{sh,csh,pl,awk,...}].
		These are installed exactly like programs.

SCRIPTSDIR	The location to install the scripts.  Each script can be
		installed to a separate path by setting SCRIPTSDIR_<script>.

SCRIPTSNAME	The name that the above program will be installed as, if
		different from ${SCRIPTS}. These can be further specialized
		by setting SCRIPTSNAME_<script>.

FILES		See description of <bsd.files.mk>.

SHLINKDIR	Target directory for shared linker.  See description of
		<bsd.own.mk> for additional information about this variable.

The include file <bsd.prog.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

Some simple examples:

To build foo from foo.c with a manual page foo.1, use:

	PROG=	foo

	.include <bsd.prog.mk>

To build foo from foo.c with a manual page foo.2, add the line:

	MAN=	foo.2

If foo does not have a manual page at all, add the line:

	MKMAN=	no

If foo has multiple source files, add the line:

	SRCS=	a.c b.c c.c d.c


=-=-=-=-=   bsd.rpc.mk   =-=-=-=-=

The include file <bsd.rpc.mk> contains a makefile fragment used to
construct source files built by rpcgen.

The following macros may be defined in makefiles which include
<bsd.rpc.mk> in order to control which files get built and how they
are to be built:

RPC_INCS:	construct .h file from .x file
RPC_XDRFILES:	construct _xdr.c from .x file
		(for marshalling/unmarshalling data types)
RPC_SVCFILES:	construct _svc.c from .x file
		(server-side stubs)
RPC_SVCFLAGS:	Additional flags passed to builds of RPC_SVCFILES.

RPC_XDIR:	Directory containing .x/.h files


=-=-=-=-=   bsd.shlib.mk   =-=-=-=-=

The include file <bsd.shlib.mk> computes parameters for shared library
installation and use.  It defines no targets.  <bsd.own.mk> MUST be
included before <bsd.shlib.mk>.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
		instead of ${LIBDIR} as the base path for shared library
		installation.  [/lib]

SHLIBDIR	The path to USE_SHLIBDIR shared libraries to use when building
		a program.  [/lib for programs in /bin and /sbin, /usr/lib
		for all others.]

_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
		otherwise set to ${LIBDIR}

SHLINKINSTALLDIR Base path for shared linker.  [/libexec]

SHLINKDIR	Path to use for shared linker when building a program.
		[/libexec for programs in /bin and /sbin, /usr/libexec for
		all others.]


=-=-=-=-=   bsd.subdir.mk   =-=-=-=-=

The include file <bsd.subdir.mk> contains the default targets for building
subdirectories.  It has the same eight targets as <bsd.prog.mk>: all,
clean, cleandir, depend, includes, install, lint, and tags.  For all of
the directories listed in ${SUBDIR}, the specified directory will be
visited and the target made.  There is also a default target which allows
the command "make subdir" where subdir is any directory listed in ${SUBDIR}.

As a special case, the use of a token .WAIT as an entry in SUBDIR acts
as a synchronization barrier when multiple make jobs are run; subdirs
before the .WAIT must complete before any subdirs after .WAIT are
started.  See make(1) for some caveats on use of .WAIT and other
special sources.


=-=-=-=-=   bsd.sys.mk   =-=-=-=-=

The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
<bsd.lib.mk>.  It contains overrides that are used when building
the NetBSD source tree.

The following variables control how various files are compiled/built.
(Note that these may be overridden in <bsd.own.mk> if USETOOLS == "yes"):

AR		Create, modify, and extract from archives.  [ar]

ARFLAGS		Options to ${AR}.  [rl]

AS		Assembler.  [as]

AFLAGS		Options to ${AS}.  []

CC		C compiler.  [cc]

CFLAGS		Options to ${CC}.  [Usually -O or -O2]

CPP		C Pre-Processor.  [cpp]

CPPFLAGS	Options to ${CPP}.  []

CPUFLAGS	Optimization flags for ${CC}.  []

CXX		C++ compiler.  [c++]

CXXFLAGS	Options to ${CXX}.  [${CFLAGS}]

ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]

FC		Fortran compiler.  [f77]

FFLAGS		Options to {$FC}.  [-O]

INSTALL		install(1) command.  [install]

LEX		Lexical analyzer.  [lex]

LFLAGS		Options to ${LEX}.  []

LPREFIX		Symbol prefix for ${LEX} (see -P option in lex(1)) [yy]

LD		Linker.  [ld]

LDFLAGS		Options to ${CC} during the link process.  []

LINT		C program verifier.  [lint]

LINTFLAGS	Options to ${LINT}.  [-chapbxzFS]

LORDER		List dependencies for object files.  [lorder]

MAKE		make(1).  [make]

MKDEP		Construct Makefile dependency list.  [mkdep]

NM		List symbols from object files.  [nm]

PC		Pascal compiler.  [pc]  (Not present)

PFLAGS		Options to ${PC}.  []

OBJC		Objective C compiler.  [${CC}]

OBJCFLAGS	Options to ${OBJC}.  [${CFLAGS}]

OBJCOPY		Copy and translate object files.  [objcopy]

OBJDUMP		Display information from object files.  [objdump]

RANLIB		Generate index to archive.  [ranlib]

SHELL		Shell.  [sh]

SIZE		List section sizes and total size.  [size]

STRIP		Discard symbols from object files.  [strip]

TSORT		Topological sort of a directed graph.  [tsort -q]

YACC		LALR(1) parser generator.  [yacc]

YFLAGS		Options to ${YACC}.  []

YHEADER		If defined, add "-d" to YFLAGS, and add dependencies
		from <file>.y to <file>.h and <file>.c, and add
		<foo>.h to CLEANFILES.

YPREFIX		If defined, add "-p ${YPREFIX}" to YFLAGS.


The following variables are defined to commands to perform the
appropriate operation, with the default in [brackets].
(Note that these are overridden in <bsd.own.mk> if USETOOLS == "yes"):

TOOL_ASN1_COMPILE	ASN1 compiler.  [asn1_compile]

TOOL_CAP_MKDB		Create capability database.  [cap_mkdb]

TOOL_CAT		Concatenate and print files.  [cat]

TOOL_CKSUM		Display file checksums.  [cksum]

TOOL_COMPILE_ET		Error table compiler.  [compile_et]

TOOL_CONFIG		Build kernel compilation directories.  [config]

TOOL_CRUNCHGEN		Generate crunched binary build environment.  [crunchgen]

TOOL_CTAGS		Create a tags file.  [ctags]

TOOL_DB			Manipulate db(3) databases.  [db]

TOOL_EQN		Format equations for groff.  [eqn]

TOOL_FGEN		IEEE 1275 Open Firmware FCode Tokenizer.  [fgen]

TOOL_GENASSYM		Generate constants for assembly files.  [genassym]

TOOL_GENCAT		Generate NLS message catalogs.  [gencat]

TOOL_GROFF		Front end for groff document formatting system.  [groff]

TOOL_HEXDUMP		Ascii, decimal, hexadecimal, octal dump.  [hexdump]

TOOL_INDXBIB		Make bibliographic database's inverted index.  [indxbib]

TOOL_INSTALLBOOT	Install disk bootstrap software.  [installboot]

TOOL_INSTALL_INFO	Update info/dir entries.  [install-info]

TOOL_JOIN		Relational database operator.  [join]

TOOL_M4			M4 macro language processor.  [m4]

TOOL_MAKEFS		Create file system image from directory tree.  [makefs]

TOOL_MAKEINFO		Translate Texinfo documents.  [makeinfo]

TOOL_MAKEWHATIS		Create a whatis.db database.  [makewhatis]

TOOL_MDSETIMAGE		Set kernel RAM disk image.  [mdsetimage]

TOOL_MENUC		Menu compiler.  [menuc]

TOOL_MKCSMAPPER		Make charset mapping table.  [mkcsmapper]

TOOL_MKESDB		Make encoding scheme database.  [mkesdb]

TOOL_MKLOCALE		Make LC_CTYPE locale files.  [mklocale]

TOOL_MKMAGIC		Create database for file(1).  [file]

TOOL_MKTEMP		Make (unique) temporary file name.  [mktemp]

TOOL_MSGC		Simple message list compiler.  [msgc]

TOOL_MTREE		Map a directory hierarchy.  [mtree]

TOOL_PAX		Manipulate file archives and copy directories.  [pax]

TOOL_PIC		Compile pictures for groff.  [pic]

TOOL_POWERPCMKBOOTIMAGE	powerpc-mkbootimage (XXXBUILDSH).  [powerpc-mkbootimage]

TOOL_PWD_MKDB		Generate the password databases.  [pwd_mkdb]

TOOL_REFER		Preprocess bibliographic references for groff.  [refer]

TOOL_ROFF_ASCII		Generate ASCII groff output.  [nroff]

TOOL_ROFF_DVI		Generate DVI groff output.  [${TOOL_GROFF} -Tdvi]

TOOL_ROFF_HTML		Generate HTML groff output.
			[${TOOL_GROFF} -Tlatin1 -mdoc2html]

TOOL_ROFF_PS		Generate PS groff output.  [${TOOL_GROFF} -Tps]

TOOL_ROFF_RAW		Generate "raw" groff output.  [${TOOL_GROFF} -Z]

TOOL_RPCGEN		Remote Procedure Call (RPC) protocol compiler.  [rpcgen]

TOOL_SOELIM		Eliminate .so's from groff input.  [soelim]

TOOL_STAT		Display file status.  [stat]

TOOL_SUNLABEL		Read or modify a SunOS disk label.  [sunlabel]

TOOL_TBL		Format tables for groff.  [tbl]

TOOL_UUDECODE		Uudecode a binary file.  [uudecode]

TOOL_VGRIND		Grind nice listings of programs.  [vgrind -f]

TOOL_ZIC		Time zone compiler.  [zic]


Other variables of note (incomplete list):

WARNS		Crank up gcc warning options; the distinct levels are:
			WARNS=1
			WARNS=2
			WARNS=3
			WARNS=4

=-=-=-=-=   bsd.x11.mk   =-=-=-=-=

The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11R6 from ${X11SRCDIR.xc}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.

It provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11R6's manual page source
		into an mdoc.old source file.
	cleanx11man:
		Clean up the mdoc.old files generated by the above.

It sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>

LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>

MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>

CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}

LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}

X11FLAGS.CONNECTION	Equivalent to X11R6's CONNECTION_FLAGS.

X11FLAGS.EXTENSION	Equivalent to X11R6's EXT_DEFINES.

X11FLAGS.LOADABLE	Equivalent to X11R6's LOADABLE.

X11FLAGS.OS_DEFINES	Equivalent to X11R6's OS_DEFINES.

X11FLAGS.SERVER		Equivalent to X11R6's ServerDefines.

X11FLAGS.THREADLIB	Equivalent to X11R6's THREADS_DEFINES for libraries.

X11FLAGS.THREADS	Equivalent to X11R6's THREADS_DEFINES.

X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.

X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'

It uses the following variables:

APPDEFS			List of app-default files to install.

CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a `.cpp' suffix, the generated files do not.

CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.

CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@


1.204.2.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.204.2.2 2008/10/05 20:11:24 mjf Exp $
d4 3
a6 3
This is the README file for the make "include" files for the NetBSD
source tree.  The files are installed in /usr/share/mk, and are,
by convention, named with the suffix ".mk".
d74 2
a75 2
		command-line override of a mk.conf(5) or <bsd.own.mk>
		setting is required whilst still honoring a particular
d90 2
a91 2
the user to define in MAKECONF (see <bsd.own.mk>, below, or mk.conf(5))
or on the make(1) command line:
a105 4
MKATF		If "no", don't build libatf-c, libatf-c++ libraries associated
		with the Automated Testing Framework (ATF).
		Default: yes

a112 3
MKCOMPLEX	If "no", don't build libm support for <complex.h>
		Default: yes

d133 1
a133 2
MKDEBUGLIB	Build *_g.a debugging libraries, which are compiled
		with -DDEBUG.
d165 2
a166 2
MKHTML		If "no", don't build or install the HTML man pages.
		Default: yes
a171 3
MKSTRIPIDENT	Strip the RCS IDs from program binaries and shared libraries.
		Default: no

a240 8
MKPCC		If "no", don't build pcc(1) or any of the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no

MKPCCCMDS	If "no", don't build pcc(1), but do build the PCC-related
		libraries (libpcc, libpccsoftfloat).
		Default: no

d305 1
a305 1
		to cross-build X11R6 and automatically enables creation
a306 7
		Mutually exclusive to MKXORG!=no
		Default: no

MKXORG		If not "no", 'make build' also descends into
		src/external/mit/xorg to cross-build X11R7 (modular Xorg)
		and automatically enables creation of X sets.
		Mutually exclusive to MKX11!=no
d427 2
a428 3
MANINSTALL	Manual installation type.  Space separated list:
			catinstall, htmlinstall, maninstall
		[catinstall maninstall htmlinstall]
d467 1
a467 3
X11SRCDIR.xc	The path to the (old) X11 xc src tree.  [${X11SRCDIR}/xfree/xc]

X11SRCDIR.local	The path to the local X11 src tree.  [${X11SRCDIR}/local]
d469 1
a469 4
X11SRCDIR.lib<package>
X11SRCDIR.<package>
		The path to the xorg src tree for the specificed package>.
		[${X11SRCDIR}/external/mit/xorg/<package>/dist]
d471 1
a471 2
X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6 or
		[/usr/X11R7]
d512 1
a512 1
make configuration file to modify the behavior of the system build
d766 2
a767 7
LIBISMODULE	If not "no", install as ${LIB}.so (without the "lib" prefix),
		and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
		MKPROFILE=no MKSTATICLIB=no".
		Default: no

LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no
		MKPROFILE=no", and don't install the (.a) library.
d852 1
a852 1
It has a three targets:
d854 2
a857 4
	htmlinstall:
		Install the HTML manual pages and their links.
	maninstall:
		Install the manual page sources and their links.
d1016 2
a1017 2
PAXCTL_FLAGS	If defined, run paxctl(1) on the program binary after link
		time, with the value of this variable as args to paxctl(1).
a1065 1
		LIBFETCH?=	${DESTDIR}/usr/lib/libfetch.a
d1242 1
a1242 9
AFLAGS		Options to ${CC} when compiling or linking .s or .S
		assembly source files.  []

BUILDSEED	GCC uses random numbers when compiling C++ code.
		If this option is present, seed the random number
		generator based on the value, source file names and
		the output file name to make builds more deterministic.
		Additional information is available in the GCC
		documentation of -frandom-seed.
a1415 3
TOOL_STRFILE		Create a random access file for storing strings.
			[strfile]

d1429 1
a1429 6
NOGCCERROR	If defined, prevents passing certain ${CFLAGS} to GCC
		that cause warnings to be fatal, such as:
			-Werror -Wa,--fatal-warnings
		(The latter being for as(1).)

WARNS		Crank up GCC warning options; the distinct levels are:
d1438 1
a1438 1
cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
d1445 1
a1445 1
		these rules convert from X11's manual page source
d1467 1
a1467 1
X11FLAGS.CONNECTION	Equivalent to X11's CONNECTION_FLAGS.
d1469 1
a1469 1
X11FLAGS.EXTENSION	Equivalent to X11's EXT_DEFINES.
d1471 1
a1471 1
X11FLAGS.LOADABLE	Equivalent to X11's LOADABLE.
d1473 1
a1473 1
X11FLAGS.OS_DEFINES	Equivalent to X11's OS_DEFINES.
d1475 1
a1475 1
X11FLAGS.SERVER		Equivalent to X11's ServerDefines.
d1477 1
a1477 1
X11FLAGS.THREADLIB	Equivalent to X11's THREADS_DEFINES for libraries.
d1479 1
a1479 1
X11FLAGS.THREADS	Equivalent to X11's THREADS_DEFINES.
a1482 2
X11FLAGS.DIX		Equivalent to X11's DIX_DEFINES.

@


1.204.4.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.204 2008/03/31 02:42:27 lukem Exp $
d191 1
a191 1
MKLINKLIB	If "no", act as "MKLINT=no MKPICINSTALL=no MKPROFILE=no".
d758 1
a758 1
LIBISPRIVATE	If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no MKPROFILE=no",
d1382 1
a1382 1
TOOL_POWERPCMKBOOTIMAGE	powerpc-mkbootimage (XXXBUILDSH).  [powerpc-mkbootimage]
@


1.204.4.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.204.4.1 2008/05/18 12:31:18 yamt Exp $
d183 1
a183 1
MKISCSI		If "no", don't build or install iSCSI library or applications
a190 4
MKLDAP		If "no", disables building of LDAP infrastructure
		(libraries and support programs).
		Default: yes

a328 4
USE_LDAP	If "no", disables building LDAP support into various
		system utilities/libraries that support it.
		If ${MKLDAP} is "no", USE_LDAP will also be forced to "no".

a1070 3
		LIBLBER?=	${DESTDIR}/usr/lib/liblber.a
		LIBLDAP?=	${DESTDIR}/usr/lib/libldap.a
		LIBLDAP_R?=	${DESTDIR}/usr/lib/libldap_r.a
@


1.203
log
@Correct documentation of default value of FILESMODE.
PR bin/38059 from Aleksey Cheusov.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.202 2008/03/11 13:33:16 uwe Exp $
d337 1
@


1.202
log
@Use angle brackets in UUDECODE_FILES_RENAME_<fn> as we do for other
file-specific variables.  Start description on new line.

While here correct s/<fn>>/<fn>./ typo in a nearby item.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.201 2008/02/27 00:36:00 lukem Exp $
d601 1
a601 1
FILESMODE	File mode.  [${BINMODE}]
@


1.201
log
@Use "GCC" instead of "gcc".
Highlight that MKGCCCMDS still does build the GCC libraries.
Suggested by Lloyd Parkes on tech-toolchain@@
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.200 2008/02/09 19:31:36 jmmv Exp $
d613 1
a613 1
FILESDIR_<fn>	The location to install the specific file <fn>>
d628 2
a629 1
UUDECODE_FILES_RENAME_fn Rename the output from the decode to the provided name.
@


1.200
log
@Add a MKMODULAR build-time option, defaulting to no, to enable the new
kernel modules framework.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.199 2008/01/09 11:26:14 simonb Exp $
d144 1
a144 1
MKGCC		If "no", don't build gcc(1) or any of the gcc-related
d148 2
a149 1
MKGCCCMDS	If "no", don't build gcc(1).
d338 1
a338 1
USE_SSP		If "no", disables gcc stack protection code, which
@


1.200.2.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.202 2008/03/11 13:33:16 uwe Exp $
d144 1
a144 1
MKGCC		If "no", don't build gcc(1) or any of the GCC-related
d148 1
a148 2
MKGCCCMDS	If "no", don't build gcc(1), but do build the GCC-related
		libraries (libgcc, libobjc, libstdc++).
d337 1
a337 1
USE_SSP		If "no", disables GCC stack protection code, which
d612 1
a612 1
FILESDIR_<fn>	The location to install the specific file <fn>.
d627 1
a627 2
UUDECODE_FILES_RENAME_<fn>
		Rename the output from the decode to the provided name.
@


1.199
log
@Remove support for NetBSD/pc532.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.198 2007/12/28 21:35:45 christos Exp $
d210 11
@


1.198
log
@add MKPIE
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.197 2007/10/06 00:21:44 ad Exp $
d520 1
a520 2
		use ELF -- currently all architectures but ns32k, set to
		"a.out" on ns32k].
@


1.197
log
@Add USE_JEMALLOC.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.196 2007/07/29 17:06:01 joerg Exp $
d241 4
@


1.196
log
@Add build glue for libarchive and update the various sets.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.195 2007/06/06 06:18:39 rillig Exp $
d303 5
@


1.196.6.1
log
@file bsd.README was added on branch matt-mips64 on 2007-07-29 17:06:02 +0000
@
text
@d1 1465
@


1.196.6.2
log
@Add build glue for libarchive and update the various sets.
@
text
@a0 1465
#	$NetBSD: bsd.README,v 1.196 2007/07/29 17:06:01 joerg Exp $
#	@@(#)bsd.README	8.2 (Berkeley) 4/2/94

This is the README file for the new (as of 1993) make "include" files
for the BSD source tree.  The files are installed in /usr/share/mk, and
are, by convention, named with the suffix ".mk".

Note, this file is not intended to replace reading through the .mk
files for anything tricky.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

RANDOM THINGS WORTH KNOWING:

The files are simply C-style #include files, and pretty much behave like
you'd expect.  The syntax is slightly different in that a single '.' is
used instead of the hash mark, i.e. ".include <bsd.prog.mk>".

One difference that will save you lots of debugging time is that inclusion
of the file is normally done at the *end* of the Makefile.  The reason for
this is because .mk files often modify variables and behavior based on the
values of variables set in the Makefile.  To make this work, remember that
the FIRST target found is the target that is used, i.e. if the Makefile has:

	a:
		echo a
	a:
		echo a number two

the command "make a" will echo "a".  To make things confusing, the SECOND
variable assignment is the overriding one, i.e. if the Makefile has:

	a=	foo
	a=	bar

	b:
		echo ${a}

the command "make b" will echo "bar".  This is for compatibility with the
way the V7 make behaved.

It's fairly difficult to make the BSD .mk files work when you're building
multiple programs in a single directory.  It's a lot easier to split up the
programs than to deal with the problem.  Most of the agony comes from making
the "obj" directory stuff work right, not because we switched to a new version
of make.  So, don't get mad at us, figure out a better way to handle multiple
architectures so we can quit using the symbolic link stuff.  (Imake doesn't
count.)

The file .depend in the source directory is expected to contain dependencies
for the source files.  This file is read automatically by make after reading
the Makefile.

The variable DESTDIR works as before.  It's not set anywhere but will change
the tree where the file gets installed.

The profiled libraries are no longer built in a different directory than
the regular libraries.  A new suffix, ".po", is used to denote a profiled
object, and ".so" denotes a shared (position-independent) object.

There are various make variables used during the build.

Many variables support a (case sensitive) value of "no" or "yes",
and are tested with  ${VAR} == "no"  and  ${VAR} != "no" .


The basic rule for the variable naming scheme is as follows:

MKxxx		Can be set to "no" to disable functionality, or
		"yes" to enable it.
		Usually defaults to "yes", although some variables
		default to "no".
		Due to make(1) implementation issues, if a temporary
		command-line override of a mk.conf or <bsd.own.mk>
		setting is required whilst still honouring a particular
		Makefile's setting of MKxxx, use
			env MKxxx=value make
		instead of
			make MKxxx=value

NOxxx		If defined, disables a feature.
		Not intended for users.
		This is to allow Makefiles to disable functionality
		that they don't support (such as missing man pages).
		NOxxx variables must be defined before <bsd.own.mk>
		is included.

The following variables that control how things are made/installed that
are not set by default. These should not be set by Makefiles; they're for
the user to define in MAKECONF (see <bsd.own.mk>, below) or on the make(1)
command line:

BUILD 		If defined, 'make install' checks that the targets in the
		source directories are up-to-date and remakes them if they
                are out of date, instead of blindly trying to install
                out of date or non-existent targets.

MAKEVERBOSE	Control how "verbose" the standard make(1) rules are.
		Default: 2
		Supported values:
		    0	Minimal output ("quiet")
		    1	Describe what is occurring
		    2	Describe what is occurring and echo the actual command


MKBFD		If "no", don't build libbfd, libiberty, or any of the things
		that depend on them (binutils/gas/ld, gdb, dbsym, mdsetimage).
		Default: yes

MKCATPAGES	If "no", don't build or install the catman pages.
		Default: yes

MKCRYPTO	If "no", no cryptography support will be built into the system,
		and also acts as "MKKERBEROS=no".
		Default: yes

MKCRYPTO_IDEA	If not "no", IDEA support will be built into libcrypto_idea.a.
		Default: no

MKCRYPTO_MDC2	If not "no", MDC2 support will be built into libcrypto_mdc2.a
		Default: no

MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5.a.
		Default: no

MKCVS		If "no", don't build or install cvs(1).
		Default: yes

MKDEBUG		If "no", don't build and install separate debugging symbols
		into /usr/libdata/debug.
		Default: no

MKDEBUGLIB	Build debugging libraries.
		Default: no

MKDOC		If "no", don't build or install the documentation.
		Default: yes

MKDYNAMICROOT	If "no", build programs in /bin and /sbin statically,
		don't install certain libraries in /lib, and don't
		install the shared linker into /libexec.
		Default: yes

MKGCC		If "no", don't build gcc(1) or any of the gcc-related
		libraries (libgcc, libobjc, libstdc++).
		Default: yes

MKGCCCMDS	If "no", don't build gcc(1).
		Default: yes

MKGDB		If "no", don't build gdb(1).
		Default: yes

MKHESIOD	If "no", disables building of Hesiod infrastructure
		(libraries and support programs).
		Default: yes

MKHOSTOBJ	If not "no", for programs intended to be run on the compile
		host, the name, release, and architecture of the host
		operating system will be suffixed to the name of the object
		directory created by "make obj".
		Default: no

MKHTML		If "no", don't build or install the html man pages.
		Default: no

MKIEEEFP	If "no", don't add code for IEEE754/IEC60559 conformance.
		Has no effect on most platforms.
		Default: yes

MKINET6		If "no", disables building of INET6 (IPv6) infrastructure
		(libraries and support programs).
		Default: yes

MKINFO		If "no", don't build or install Info documentation from
		Texinfo source files.
		Default: yes

MKIPFILTER	If "no", don't build or install the IP Filter programs and LKM.
		Default: yes

MKISCSI		If "no", don't build or install iscsi library or applications
		(depends on libpthread.)
		Default: yes

MKKERBEROS	If "no", disables building of Kerberos v5
		infrastructure (libraries and support programs).
		Default: yes

MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).
		Default: yes

MKLINT		If "no", don't build or install the lint libraries.
		Default: yes

MKMAN		If "no", don't build or install the man or catman pages,
		and also acts as "MKCATPAGES=no MKHTML=no".
		Default: yes

MKMANZ		If not "no", compress manual pages at installation time.
		Default: no

MKNLS		If "no", don't build or install the NLS files and locale
		definition files.
		Default: yes

MKOBJ		If "no", don't enable the rule which creates objdirs,
		and also acts as "MKOBJDIRS=no".
		Default: yes

MKOBJDIRS	If "no", don't create objdirs during a "make build".
		Default: no

MKPAM		If "no", disables building of PAM authentication
		infrastructure (libraries and support programs).
		Default: yes

MKPF		If "no", don't build or install the pf programs and LKM.
		Default: yes

MKPIC		If "no", don't build or install shared libraries, and
		also acts as "MKPICLIB=no"
		Default: yes (for MACHINE_ARCHs that support it) 

MKPICINSTALL	If "no", don't install the *_pic.a libraries.
		Default: yes

MKPICLIB	If "no", don't build *_pic.a libraries, and build the
		shared object libraries from the .a libraries.
		A symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.
		Default: yes

MKPOSTFIX	If "no", don't build or install postfix(1).
		Default: yes

MKPROFILE	If "no", don't build or install the profiling (*_p.a) libraries.
		Default: yes

MKPUFFS		If "no", don't build librefuse (lib/librefuse) or
		puffs applications (usr.sbin/puffs).  NOTE: libpuffs
		is always built due to historic reasons.  This flag will
		disappear once puffs is no longer considered experimental,
		i.e. it will effectively default to "yes".
		Default: no

MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
		MKMAN=no MKNLS=no".
		I.e, don't build catman pages, documentation, Info
		documentation, man pages, NLS files, ...
		Default: yes

MKSKEY		If "no", disables building of S/key authentication
		infrastructure (libraries and support programs).
		Default: yes

MKSOFTFLOAT	If not "no", build with options to enable the compiler to
		generate output containing library calls for floating
		point and possibly soft-float library support.
		Default: no

MKSTATICLIB	If "no", don't build or install the normal static (*.a)
		libraries.
		Default: yes

MKUNPRIVED	If not "no", don't set the owner/group/mode when installing
		files or directories, and keep a metadata log of what
		the owner/group/mode should be.  This allows a
		non-root "make install".
		Default: no

MKUPDATE 	If not "no", 'make install' only installs targets that are
		more recently modified in the source directories that their
		installed counterparts.
		Default: no

MKX11		If not "no", 'make build' also descends into src/x11
		to cross build X11R6 and automatically enables creation
		of X sets.
		Default: no

MKYP		If "no", disables building of YP (NIS)
		infrastructure (libraries and support programs).
		Default: yes

USE_HESIOD	If "no", disables building Hesiod support into
		various system utilities/libraries that support it.
		If ${MKHESIOD} is "no", USE_HESIOD will also be
		forced to "no".

USE_INET6	If "no", disables building INET6 (IPv6) support into
		various system utilities/libraries that support it.
		If ${MKINET6} is "no", USE_INET6 will also be
		forced to "no".

USE_KERBEROS	If "no", disables building Kerberos v5
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS} is "no", USE_KERBEROS
		will also be forced to "no".

USE_PAM		If "no", disables building PAM authentication support
		into various system utilities/libraries that support it.
		If ${MKPAM} is "no", USE_PAM will also be forced to "no".

USE_SKEY	If "no", disables building S/key authentication
		support into various system utilities/libraries that
		support it.  If ${MKSKEY} is "no", USE_SKEY will
		also be forced to "no".

USE_SSP		If "no", disables gcc stack protection code, which
		detects stack overflows and aborts the program. This
		imposes some performance penalty.
		Default: no

USE_YP		If "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.
		If ${MKYP} is "no", USE_YP will also be forced to "no".

COPTS.lib<lib>
OBJCOPTS.lib<lib>
LDADD.lib<lib>
CPPFLAGS.lib<lib>
CXXFLAGS.lib<lib>
COPTS.<prog>
OBJCCOPTS.<prog>
LDADD.<prog>
CPPFLAGS.<prog>
CXXFLAGS.<prog>	These provide a way to specify additions to the associated
		variables in a way that applies only to a particular library
		or program.  <lib> corresponds to the LIB variable set in
		the library's makefile.  <prog> corresponds to either PROG
		or PROG_CXX (if set).  For example, if COPTS.libcrypto is
		set to "-g", "-g" will be added to COPTS only when compiling
		the crypto library.

=-=-=-=-=   sys.mk   =-=-=-=-=

The include file <sys.mk> has the default rules for all makes, in the BSD
environment or otherwise.  You probably don't want to touch this file.

=-=-=-=-=   bsd.own.mk   =-=-=-=-=

The include file <bsd.own.mk> contains source tree configuration parameters,
such as the owners, groups, etc. for both manual pages and binaries, and
a few global "feature configuration" parameters.

It has no targets.

To get system-specific configuration parameters, <bsd.own.mk> will try to
include the file specified by the "MAKECONF" variable.  If MAKECONF is not
set, or no such file exists, the system make configuration file, /etc/mk.conf
is included.  These files may define any of the variables described below.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

NETBSDSRCDIR	Top of the NetBSD source tree.
		If _SRC_TOP_ != "", that will be used as the default,
		otherwise BSDSRCDIR will be used as the default.
		Various makefiles within the NetBSD source tree will
		use this to reference the top level of the source tree.

_SRC_TOP_	Top of the system source tree, as determined by <bsd.own.mk>
		based on the presence of tools/ and build.sh.  This variable
		is "internal" to <bsd.own.mk>, although its value is only
		determined once and then propagated to all sub-makes.

BSDSRCDIR	The real path to the system sources, so that 'make obj'
		will work correctly.  [/usr/src]

BSDOBJDIR	The real path to the system 'obj' tree, so that 'make obj'
		will work correctly.  [/usr/obj]

BINGRP		Binary group.  [wheel]

BINOWN		Binary owner.  [root]

BINMODE		Binary mode.  [555]

NONBINMODE	Mode for non-executable files.  [444]

MANDIR		Base path for manual installation.  [/usr/share/man/cat]

MANGRP		Manual group.  [wheel]

MANOWN		Manual owner.  [root]

MANMODE		Manual mode.  [${NONBINMODE}]

MANINSTALL	Manual installation type: maninstall, catinstall, or both
		[maninstall catinstall]

LDSTATIC	Control program linking; if set blank, link everything
		dynamically.  If set to "-static", link everything statically.
		If not set, programs link according to their makefile.

LIBDIR		Base path for library installation.  [/usr/lib]

LINTLIBDIR	Base path for lint(1) library installation.  [/usr/libdata/lint]

LIBGRP		Library group.  [${BINGRP}]

LIBOWN		Library owner.  [${BINOWN}]

LIBMODE		Library mode.  [${NONBINMODE}]

DOCDIR		Base path for system documentation (e.g. PSD, USD, etc.)
	        installation.  [/usr/share/doc]

HTMLDOCDIR	Base path for html system documentation installation.
		[/usr/share/doc/html]

DOCGRP		Documentation group.  [wheel]

DOCOWN		Documentation owner.  [root]

DOCMODE		Documentation mode.  [${NONBINMODE}]

NLSDIR		Base path for Native Language Support files installation.
		[/usr/share/nls]

NLSGRP		Native Language Support files group.  [wheel]

NLSOWN		Native Language Support files owner.  [root]

NLSMODE		Native Language Support files mode.  [${NONBINMODE}]

X11SRCDIR	The path to the xsrc tree.  [/usr/xsrc]

X11SRCDIR.xc	The path to the X11R6 xc src tree.  [${X11SRCDIR}/xfree/xc]

X11SRCDIR.local	The path to the local X11R6 src tree.  [${X11SRCDIR}/local]

X11ROOTDIR	Root directory of the X11 installation.  [/usr/X11R6]

X11BINDIR	X11 bin directory.  [${X11ROOTDIR}/bin]

X11FONTDIR	X11 font directory.  [${X11ROOTDIR}/lib/X11/fonts]

X11INCDIR	X11 include directory.  [${X11ROOTDIR}/include]

X11LIBDIR	X11 lib/x11 (config) directory.  [${X11ROOTDIR}/lib/X11]

X11MANDIR	X11 manual directory.  [${X11ROOTDIR}/man]

X11USRLIBDIR	X11 library directory.  [${X11ROOTDIR}/lib]

STRIPFLAG	The flag passed to the install program to cause the binary
		to be stripped.  This is to be used when building your
		own install script so that the entire system can be made
		stripped/not-stripped using a single knob.  []

COPY		The flag passed to the install program to cause the binary
		to be copied rather than moved.  This is to be used when
		building our own install script so that the entire system
		can either be installed with copies, or with moves using
		a single knob.  [-c]

MAKEDIRTARGET dir target [params]
		Runs "cd $${dir} && ${MAKE} [params] $${target}",
		displaying a "pretty" message whilst doing so.

RELEASEMACHINEDIR
		Subdirectory used below RELEASEDIR when building
		a release.  [${MACHINE}]

RELEASEMACHINE	Subdirectory or path component used for the following
		paths:
			distrib/${RELEASEMACHINE}
			distrib/notes/${RELEASEMACHINE}
			etc/etc.${RELEASEMACHINE}
		Used when building a release.  [${MACHINE}]

Additionally, the following variables may be set by <bsd.own.mk> or in a
make configuration file to modify the behaviour of the system build
process (default values are in brackets along with comments, if set by
<bsd.own.mk>):

USETOOLS	Indicates whether the tools specified by ${TOOLDIR} should
		be used as part of a build in progress.
		Supported values:

		yes	Use the tools from TOOLDIR.
			Must be set to this if cross-compiling.

		no	Do not use the tools from TOOLDIR, but refuse to
			build native compilation tool components that are
			version-specific for that tool.

		never	Do not use the tools from TOOLDIR, even when
			building native tool components.  This is similar to
			the traditional NetBSD build method, but does not
			verify that the compilation tools in use are
			up-to-date enough in order to build the tree
			successfully.  This may cause build or runtime
			problems when building the whole NetBSD source tree.

		Default: "yes" if building all or part of a whole NetBSD
		source tree (detected automatically); "no" otherwise
		(to preserve traditional semantics of the <bsd.*.mk>
		make(1) include files).

OBJECT_FMT	Object file format.  [set to "ELF" on architectures that
		use ELF -- currently all architectures but ns32k, set to
		"a.out" on ns32k].

TOOLCHAIN_MISSING
		If not "no", this indicates that the platform being built
		does not have a working in-tree toolchain.  If the
		${MACHINE_ARCH} in question falls into this category,
		TOOLCHAIN_MISSING is conditionally assigned the value "yes". 
		Otherwise, the variable is unconditionally assigned the
		value "no".
		If not "no", ${MKBFD}, ${MKGCC}, and ${MKGDB} are
		unconditionally assigned the value "no".

EXTERNAL_TOOLCHAIN
		This variable is not directly set by <bsd.own.mk>, but
		including <bsd.own.mk> is the canonical way to gain
		access to this variable.  The variable should be defined
		either in the user's environment or in the user's mk.conf
		file.  If defined, this variable indicates the root of
		an external toolchain which will be used to build the
		tree.  For example, if a platform is a ${TOOLCHAIN_MISSING}
		platform, EXTERNAL_TOOLCHAIN can be used to re-enable the
		cross-compile framework.

		If EXTERNAL_TOOLCHAIN is defined, ${MKGCC} is unconditionally
		assigned the value "no", since the external version of the
		compiler may not be able to build the library components of
		the in-tree compiler.

		NOTE: This variable is not yet used in as many places as
		it should be.  Expect the exact semantics of this variable
		to change in the short term as parts of the cross-compile
		framework continue to be cleaned up.

<bsd.own.mk> is generally useful when building your own Makefiles so that
they use the same default owners etc. as the rest of the tree.


=-=-=-=-=   bsd.dep.mk   =-=-=-=-=

The include file <bsd.dep.mk> contains the default targets for building
.depend files.  It creates .d files from entries in SRCS and DPSRCS
that are C, C++, or Objective C source files, and builds .depend from the
.d files.  All other files in SRCS and all of DPSRCS will be used as
dependencies for the .d files.  In order for this to function correctly,
it should be .included after all other .mk files and directives that may
modify SRCS or DPSRCS.  It uses the following variables:

SRCS		List of source files to build the program.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.


=-=-=-=-=   bsd.files.mk   =-=-=-=-=

The include file <bsd.files.mk> handles the FILES variables and is included
from <bsd.lib.mk> and <bsd.prog.mk>, and uses the following variables:

FILES		The list of files to install.

CONFIGFILES	Similar semantics to FILES, except that the files
		are installed by the `configinstall' target,
		not the `install' target.
		The FILES* variables documented below also apply.

FILESOWN	File owner.  [${BINOWN}]

FILESGRP	File group.  [${BINGRP}]

FILESMODE	File mode.  [${BINMODE}]

FILESDIR	The location to install the files.

FILESNAME	Optional name to install each file as.

FILESOWN_<fn>	File owner of the specific file <fn>.

FILESGRP_<fn>	File group of the specific file <fn>.

FILESMODE_<fn>	File mode of the specific file <fn>.

FILESDIR_<fn>	The location to install the specific file <fn>>

FILESNAME_<fn>	Optional name to install <fn> as.


BUILDSYMLINKS	List of two word items:
			lnsrc lntgt
		For each lnsrc item, create a symlink named lntgt.
		The lntgt symlinks are removed by the cleandir target.

UUDECODE_FILES	List of files which are stored as <file>.uue in the source
		tree. Each one will be decoded with ${TOOL_UUDECODE}.
		The source files have a `.uue' suffix, the generated files do 
		not.

UUDECODE_FILES_RENAME_fn Rename the output from the decode to the provided name.
		
		*NOTE: These files are simply decoded, with no install or other
		       rule applying implicitly except being added to the clean
		       target.

=-=-=-=-=   bsd.gcc.mk   =-=-=-=-=

The include file <bsd.gcc.mk> computes various parameters related to GCC
support libraries.  It defines no targets.  <bsd.own.mk> MUST be included
before <bsd.gcc.mk>.

The primary users of <bsd.gcc.mk> are <bsd.prog.mk> and <bsd.lib.mk>, each
of which need to know where to find certain GCC support libraries.

The behavior of <bsd.gcc.mk> is influenced by the EXTERNAL_TOOLCHAIN variable,
which is generally set by the user.  If EXTERNAL_TOOLCHAIN it set, then
the compiler is asked where to find the support libraries, otherwise the
support libraries are found in ${DESTDIR}/usr/lib.

<bsd.gcc.mk> sets the following variables:

_GCC_CRTBEGIN	The full path name to crtbegin.o.

_GCC_CRTBEGINS	The full path name to crtbeginS.o.

_GCC_CRTEND	The full path name to crtend.o.

_GCC_CRTENDS	The full path name to crtendS.o.

_GCC_LIBGCCDIR	The directory where libgcc.a is located.


=-=-=-=-=   bsd.inc.mk   =-=-=-=-=

The include file <bsd.inc.mk> defines the includes target and uses the
variables:

INCS		The list of include files.

INCSDIR		The location to install the include files.

INCSNAME	Target name of the include file, if only one; same as
		FILESNAME, but for include files.

INCSYMLINKS	Similar to SYMLINKS in <bsd.links.mk>, except that these
		are installed in the 'includes' target and not the
		(much later) 'install' target.

INCSNAME_<file>	The name file <file> should be installed as, if not <file>,
		same as FILESNAME_<file>, but for include files.


=-=-=-=-=   bsd.info.mk   =-=-=-=-=

The include file <bsd.info.mk> is used to generate and install GNU Info
documentation from respective Texinfo source files.  It defines three
implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
following variables:

TEXINFO		List of Texinfo source files.  Info documentation will
		consist of single files with the extension replaced by
		.info.

INFOFLAGS	Flags to pass to makeinfo.  []


=-=-=-=-=   bsd.kernobj.mk   =-=-=-=-=

The include file <bsd.kernobj.mk> defines variables related to the
location of kernel sources and object directories.

KERNSRCDIR	Is the location of the top of the kernel src.
		[${_SRC_TOP_}/sys]

KERNARCHDIR	Is the location of the machine dependent kernel sources.
		[arch/${MACHINE}]

KERNCONFDIR	Is where the configuration files for kernels are found.
		[${KERNSRCDIR}/${KERNARCHDIR}/conf]

KERNOBJDIR	Is the kernel build directory.  The kernel GENERIC for
		instance will be compiled in ${KERNOBJDIR}/GENERIC.
		The default value is
		${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile
		if it exists or the target 'obj' is being made.
		Otherwise the default is
		${KERNSRCDIR}/${KERNARCHDIR}/compile.

It is important that Makefiles (such as those under src/distrib) that
wish to find compiled kernels use <bsd.kernobj.mk> and ${KERNOBJDIR}
rather than make assumptions about the location of the compiled kernel.


=-=-=-=-=   bsd.kinc.mk   =-=-=-=-=

The include file <bsd.kinc.mk> defines the many targets (includes,
subdirectories, etc.), and is used by kernel makefiles to handle
include file installation.  It is intended to be included alone, by
kernel Makefiles.  It uses similar variables to <bsd.inc.mk>.
Please see <bsd.kinc.mk> for more details, and keep the documentation
in that file up to date.


=-=-=-=-=   bsd.lib.mk   =-=-=-=-=

The include file <bsd.lib.mk> has support for building libraries.  It has
the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
includes, install, lint, and tags.  Additionally, it has a checkver target
which checks for installed shared object libraries whose version is greater
that the version of the source. It has a limited number of suffixes,
consistent with the current needs of the BSD tree.  <bsd.lib.mk> includes
<bsd.shlib.mk> to get shared library parameters.

It sets/uses the following variables:

LIB		The name of the library to build.

LIBDIR		Target directory for libraries.

SHLIBINSTALLDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
		is not "no".

USE_SHLIBDIR	If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
		as the path to install shared libraries to.
		USE_SHLIBDIR must be defined before <bsd.own.mk> is included.
		Default: no

MKPRIVATELIB	If not "no", act as "MKPROFILE=no MKPIC=no MKLINT=no",
		and don't install the (.a) library.
		This is useful for "build only" helper libraries.
		Default: no

LINTLIBDIR	Target directory for lint libraries.

LIBGRP		Library group.

LIBOWN		Library owner.

LIBMODE		Library mode.

LDADD		Additional loader objects.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

NOCHECKVER_<library>
NOCHECKVER	If set, disables checking for installed shared object
		libraries with versions greater than the source.  A
		particular library name, without the "lib" prefix, may
		be appended to the variable name to disable the check for
		only that library.

SRCS		List of source files to build the library.  Suffix types
		.s, .c, and .f are supported.  Note, .s files are preferred
		to .c files of the same name.  (This is not the default for
		versions of make.)

LIBDPLIBS	A list of the tuples:
			libname  path-to-srcdir-of-libname

		For each tuple;
		     *	LIBDO.libname contains the .OBJDIR of the library
			`libname', and if it is not set it is determined
			from the srcdir and added to MAKEOVERRIDES (the
			latter is to allow for build time optimization).
		     *	LDADD gets  -L${LIBDO.libname} -llibname    added.
		     *	DPADD gets  ${LIBDO.libname}/liblibname.so  or
				    ${LIBDO.libname}/liblibname.a   added.

		This variable may be used for individual libraries, as
		well as in parent directories to cache common libraries 
		as a build-time optimization.

The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

It has rules for building profiled objects; profiled libraries are
built by default.

Libraries are ranlib'd when made.


=-=-=-=-=   bsd.links.mk   =-=-=-=-=

The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
and is included from from <bsd.lib.mk> and <bsd.prog.mk>.

LINKS		The list of hard links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is prepended to both paths before linking.
		For example, to link /bin/test and /bin/[, use:
			LINKS=/bin/test /bin/[

CONFIGLINKS	Similar semantics to LINKS, except that the links
		are installed by the `configinstall' target,
		not the `install' target.

SYMLINKS	The list of symbolic links, consisting of pairs of paths:
			source-file target-file
		${DESTDIR} is only prepended to target-file before linking.
		For example, to symlink /usr/bin/tar to /bin/tar resulting
		in ${DESTDIR}/usr/bin/tar -> /bin/tar:
			SYMLINKS=/bin/tar /usr/bin/tar

CONFIGSYMLINKS	Similar semantics to SYMLINKS, except that the symbolic links
		are installed by the `configinstall' target,
		not the `install' target.


=-=-=-=-=   bsd.man.mk   =-=-=-=-=

The include file <bsd.man.mk> handles installing manual pages and their
links.

It has a two targets:

	maninstall:
		Install the manual page sources and their links.
	catinstall:
		Install the preformatted manual pages and their links.

It sets/uses the following variables:

MANDIR		Base path for manual installation.

MANGRP		Manual group.

MANOWN		Manual owner.

MANMODE		Manual mode.

MANSUBDIR	Subdirectory under the manual page section, i.e. "/vax"
		or "/tahoe" for machine specific manual pages.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

MLINKS		List of manual page links (using a .1 - .9 suffix).  The
		linked-to file must come first, the linked file second,
		and there may be multiple pairs.  The files are soft-linked.

The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
it exists.


=-=-=-=-=   bsd.obj.mk   =-=-=-=-=

The include file <bsd.obj.mk> defines targets related to the creation
and use of separated object and source directories.

If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses
${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if
it exists.  Otherwise make(1) looks for the existence of a
subdirectory (or a symlink to a directory) of the source directory
into which built targets should be placed.  If an environment variable
named MAKEOBJDIR is set, make(1) uses its value as the name of the
object directory; failing that, make first looks for a subdirectory
named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj".

Object directories are not created automatically by make(1) if they
don't exist; you need to run a separate "make obj".  (This will happen
during a top-level build if "MKOBJDIRS" is set to a value other than
"no").  When the source directory is a subdirectory of ${BSDSRCDIR} --
and this is determined by a simple string prefix comparison -- object
directories are created in a separate object directory tree, and a
symlink to the object directory in that tree is created in the source
directory; otherwise, "make obj" assumes that you're not in the main
source tree and that it's not safe to use a separate object tree.

Several variables used by <bsd.obj.mk> control exactly what
directories and links get created during a "make obj":

MAKEOBJDIR	If set, this is the component name of the object
		directory.

OBJMACHINE	If this is set but MAKEOBJDIR is not set, creates
		object directories or links named "obj.${MACHINE}";
		otherwise, just creates ones named "obj".

USR_OBJMACHINE  If set, and the current directory is a subdirectory of
		${BSDSRCDIR}, create object directory in the
		corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
		otherwise, create it in the corresponding subdirectory
		of ${BSDOBJDIR}

BUILDID		If set, the contents of this variable are appended
		to the object directory name.  If OBJMACHINE is also
		set, ".${BUILDID}" is added after ".${MACHINE}".


=-=-=-=-=   bsd.prog.mk   =-=-=-=-=

The include file <bsd.prog.mk> handles building programs from one or
more source files, along with their manual pages.  It has a limited number
of suffixes, consistent with the current needs of the BSD tree. 
<bsd.prog.mk> includes <bsd.shlib.mk> to get shared library parameters.

It has eight targets:

	all:
		build the program and its manual page.  This also
		creates a GDB initialization file (.gdbinit) in
		the objdir.  The .gdbinit file sets the shared library
		prefix to ${DESTDIR} to facilitate cross-debugging.
	clean:
		remove the program, any object files and the files a.out,
		Errs, errs, mklog, and ${PROG}.core.
	cleandir:
		remove all of the files removed by the target clean, as
		well as .depend, tags, and any manual pages.
		`distclean' is a synonym for `cleandir'.
	depend:
		make the dependencies for the source files, and store
		them in the file .depend.
	includes:
		install any header files.
	install:
		install the program and its manual pages; if the Makefile
		does not itself define the target install, the targets
		beforeinstall and afterinstall may also be used to cause
		actions immediately before and after the install target
		is executed.
	lint:
		run lint on the source files
	tags:
		create a tags file for the source files.

It sets/uses the following variables:

BINGRP		Binary group.

BINOWN		Binary owner.

BINMODE		Binary mode.

CLEANFILES	Additional files to remove for the clean and cleandir targets.

COPTS		Additional flags to the compiler when creating C objects.

COPTS.<fn>	Additional flags to the compiler when creating the
		C objects for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPUFLAGS	Additional flags to the compiler/assembler to select
		CPU instruction set options, CPU tuning options, etc.

CPUFLAGS.<fn>	Additional flags to the compiler/assembler for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

CPPFLAGS	Additional flags to the C pre-processor.

CPPFLAGS.<fn>	Additional flags to the C pre-processor for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

GDBINIT		List of GDB initialization files to add to "source"
		directives in the .gdbinit file that is created in the
		objdir.

LDADD		Additional loader objects.  Usually used for libraries.
		For example, to load with the compatibility and utility
		libraries, use:

			LDADD+=-lutil -lcompat

LDFLAGS		Additional linker flags (passed to ${CC} during link).

LINKS		See <bsd.links.mk>

OBJCOPTS	Additional flags to the compiler when creating ObjC objects.

OBJCOPTS.<fn>	Additional flags to the compiler when creating the
		ObjC objects for <fn>.
		For <fn>.[ly], "<fn>.c" must be used.

SYMLINKS	See <bsd.links.mk>

MAN		Manual pages (should end in .1 - .9).  If no MAN variable is
		defined, "MAN=${PROG}.1" is assumed.

PAXCTL_FLAGS	If defined then paxctl(1) is ran on binary after link
		time, with the value of the variable as args to it.

PAXCTL_FLAGS.${PROG} Custom override for PAXCTL_FLAGS.

PROG		The name of the program to build.  If not supplied, nothing
		is built.

PROG_CXX	If defined, the name of the program to build.  Also
		causes <bsd.prog.mk> to link the program with the C++
		compiler rather than the C compiler.  PROG_CXX overrides
		the value of PROG if PROG is also set.

PROGNAME	The name that the above program will be installed as, if
		different from ${PROG}.

SRCS		List of source files to build the program.  If SRCS is not
		defined, it's assumed to be ${PROG}.c.

DPSRCS		List of source files which are needed for generating
		dependencies, but are not needed in ${SRCS}.

DPADD		Additional dependencies for the program.  Usually used for
		libraries.  For example, to depend on the compatibility and
		utility libraries use:

			DPADD+=${LIBCOMPAT} ${LIBUTIL}

		The following libraries are predefined for DPADD:

		LIBCRT0?=	${DESTDIR}/usr/lib/crt0.o
		LIBARCHIVE?=	${DESTDIR}/usr/lib/libarchive.a
		LIBASN1?=	${DESTDIR}/usr/lib/libasn1.a
		LIBBLUETOOTH?=	${DESTDIR}/usr/lib/libbluetooth.a
		LIBBSDMALLOC?=	${DESTDIR}/usr/lib/libbsdmalloc.a
		LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
		LIBC?=		${DESTDIR}/usr/lib/libc.a
		LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
		LIBCOM_ERR?=	${DESTDIR}/usr/lib/libcom_err.a
		LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
		LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
		LIBCRYPTO?=	${DESTDIR}/usr/lib/libcrypto.a
		LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a
		LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a
		LIBCRYPTO_RC5?=	${DESTDIR}/usr/lib/libcrypto_rc5.a
		LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
		LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
		LIBDES?=	${DESTDIR}/usr/lib/libdes.a
		LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
		LIBEVENT?=	${DESTDIR}/usr/lib/libevent.a
		LIBFORM?=	${DESTDIR}/usr/lib/libform.a
		LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
		LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
		LIBGSSAPI?=	${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=	${DESTDIR}/usr/lib/libhdb.a
		LIBINTL?=	${DESTDIR}/usr/lib/libintl.a
		LIBIPSEC?=	${DESTDIR}/usr/lib/libipsec.a
		LIBKADM5CLNT?=	${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=	${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=	${DESTDIR}/usr/lib/libkafs.a
		LIBKRB5?=	${DESTDIR}/usr/lib/libkrb5.a
		LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
		LIBL?=		${DESTDIR}/usr/lib/libl.a
		LIBM?=		${DESTDIR}/usr/lib/libm.a
		LIBMENU?=	${DESTDIR}/usr/lib/libmenu.a
		LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=	${DESTDIR}/usr/lib/libossaudio.a
		LIBPAM?=	${DESTDIR}/usr/lib/libpam.a
		LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
		LIBPCI?=	${DESTDIR}/usr/lib/libpci.a
		LIBPMC?=	${DESTDIR}/usr/lib/libpmc.a
		LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
		LIBPTHREAD?=	${DESTDIR}/usr/lib/libpthread.a
		LIBPTHREAD_DBG?=${DESTDIR}/usr/lib/libpthread_dbg.a
		LIBRADIUS?=	${DESTDIR}/usr/lib/libradius.a
		LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
		LIBRMT?=	${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=	${DESTDIR}/usr/lib/libroken.a
		LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
		LIBRT?=		${DESTDIR}/usr/lib/librt.a
		LIBSDP?=	${DESTDIR}/usr/lib/libsdp.a
		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
		LIBSL?=		${DESTDIR}/usr/lib/libsl.a
		LIBSS?=		${DESTDIR}/usr/lib/libss.a
		LIBSSH?=	${DESTDIR}/usr/lib/libssh.a
		LIBSSL?=	${DESTDIR}/usr/lib/libssl.a
		LIBSSP?=	${DESTDIR}/usr/lib/libssp.a
		LIBSTDCXX?=	${DESTDIR}/usr/lib/libstdc++.a
		LIBSUPCXX?=	${DESTDIR}/usr/lib/libsupc++.a
		LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
		LIBUSBHID?=	${DESTDIR}/usr/lib/libusbhid.a
		LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
		LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
		LIBY?=		${DESTDIR}/usr/lib/liby.a
		LIBZ?=		${DESTDIR}/usr/lib/libz.a

SHAREDSTRINGS	If defined, a new .c.o rule is used that results in shared
		strings, using xstr(1). Note that this will not work with
		parallel makes.

STRIPFLAG	The flag passed to the install program to cause the binary
		to be stripped.

SUBDIR		A list of subdirectories that should be built as well.
		Each of the targets will execute the same target in the
		subdirectories.

SCRIPTS		A list of interpreter scripts [file.{sh,csh,pl,awk,...}].
		These are installed exactly like programs.

SCRIPTSDIR	The location to install the scripts.  Each script can be
		installed to a separate path by setting SCRIPTSDIR_<script>.

SCRIPTSNAME	The name that the above program will be installed as, if
		different from ${SCRIPTS}. These can be further specialized
		by setting SCRIPTSNAME_<script>.

FILES		See description of <bsd.files.mk>.

SHLINKDIR	Target directory for shared linker.  See description of
		<bsd.own.mk> for additional information about this variable.

The include file <bsd.prog.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

Some simple examples:

To build foo from foo.c with a manual page foo.1, use:

	PROG=	foo

	.include <bsd.prog.mk>

To build foo from foo.c with a manual page foo.2, add the line:

	MAN=	foo.2

If foo does not have a manual page at all, add the line:

	MKMAN=	no

If foo has multiple source files, add the line:

	SRCS=	a.c b.c c.c d.c


=-=-=-=-=   bsd.rpc.mk   =-=-=-=-=

The include file <bsd.rpc.mk> contains a makefile fragment used to
construct source files built by rpcgen.

The following macros may be defined in makefiles which include
<bsd.rpc.mk> in order to control which files get built and how they
are to be built:

RPC_INCS:	construct .h file from .x file
RPC_XDRFILES:	construct _xdr.c from .x file
		(for marshalling/unmarshalling data types)
RPC_SVCFILES:	construct _svc.c from .x file
		(server-side stubs)
RPC_SVCFLAGS:	Additional flags passed to builds of RPC_SVCFILES.

RPC_XDIR:	Directory containing .x/.h files


=-=-=-=-=   bsd.shlib.mk   =-=-=-=-=

The include file <bsd.shlib.mk> computes parameters for shared library
installation and use.  It defines no targets.  <bsd.own.mk> MUST be
included before <bsd.shlib.mk>.

<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):

SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
		instead of ${LIBDIR} as the base path for shared library
		installation.  [/lib]

SHLIBDIR	The path to USE_SHLIBDIR shared libraries to use when building
		a program.  [/lib for programs in /bin and /sbin, /usr/lib
		for all others.]

_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
		otherwise set to ${LIBDIR}

SHLINKINSTALLDIR Base path for shared linker.  [/libexec]

SHLINKDIR	Path to use for shared linker when building a program.
		[/libexec for programs in /bin and /sbin, /usr/libexec for
		all others.]


=-=-=-=-=   bsd.subdir.mk   =-=-=-=-=

The include file <bsd.subdir.mk> contains the default targets for building
subdirectories.  It has the same eight targets as <bsd.prog.mk>: all,
clean, cleandir, depend, includes, install, lint, and tags.  For all of
the directories listed in ${SUBDIR}, the specified directory will be
visited and the target made.  There is also a default target which allows
the command "make subdir" where subdir is any directory listed in ${SUBDIR}.

As a special case, the use of a token .WAIT as an entry in SUBDIR acts
as a synchronization barrier when multiple make jobs are run; subdirs
before the .WAIT must complete before any subdirs after .WAIT are
started.  See make(1) for some caveats on use of .WAIT and other
special sources.


=-=-=-=-=   bsd.sys.mk   =-=-=-=-=

The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
<bsd.lib.mk>.  It contains overrides that are used when building
the NetBSD source tree.

The following variables control how various files are compiled/built.
(Note that these may be overridden in <bsd.own.mk> if USETOOLS == "yes"):

AR		Create, modify, and extract from archives.  [ar]

ARFLAGS		Options to ${AR}.  [rl]

AS		Assembler.  [as]

AFLAGS		Options to ${AS}.  []

CC		C compiler.  [cc]

CFLAGS		Options to ${CC}.  [Usually -O or -O2]

CPP		C Pre-Processor.  [cpp]

CPPFLAGS	Options to ${CPP}.  []

CPUFLAGS	Optimization flags for ${CC}.  []

CXX		C++ compiler.  [c++]

CXXFLAGS	Options to ${CXX}.  [${CFLAGS}]

ELF2ECOFF	Convert ELF-format executable to ECOFF.  [elf2ecoff]

FC		Fortran compiler.  [f77]

FFLAGS		Options to {$FC}.  [-O]

INSTALL		install(1) command.  [install]

LEX		Lexical analyzer.  [lex]

LFLAGS		Options to ${LEX}.  []

LPREFIX		Symbol prefix for ${LEX} (see -P option in lex(1)) [yy]

LD		Linker.  [ld]

LDFLAGS		Options to ${CC} during the link process.  []

LINT		C program verifier.  [lint]

LINTFLAGS	Options to ${LINT}.  [-chapbxzFS]

LORDER		List dependencies for object files.  [lorder]

MAKE		make(1).  [make]

MKDEP		Construct Makefile dependency list.  [mkdep]

NM		List symbols from object files.  [nm]

PC		Pascal compiler.  [pc]  (Not present)

PFLAGS		Options to ${PC}.  []

OBJC		Objective C compiler.  [${CC}]

OBJCFLAGS	Options to ${OBJC}.  [${CFLAGS}]

OBJCOPY		Copy and translate object files.  [objcopy]

OBJDUMP		Display information from object files.  [objdump]

RANLIB		Generate index to archive.  [ranlib]

SHELL		Shell.  [sh]

SIZE		List section sizes and total size.  [size]

STRIP		Discard symbols from object files.  [strip]

TSORT		Topological sort of a directed graph.  [tsort -q]

YACC		LALR(1) parser generator.  [yacc]

YFLAGS		Options to ${YACC}.  []

YHEADER		If defined, add "-d" to YFLAGS, and add dependencies
		from <file>.y to <file>.h and <file>.c, and add
		<foo>.h to CLEANFILES.

YPREFIX		If defined, add "-p ${YPREFIX}" to YFLAGS.


The following variables are defined to commands to perform the
appropriate operation, with the default in [brackets].
(Note that these are overridden in <bsd.own.mk> if USETOOLS == "yes"):

TOOL_ASN1_COMPILE	ASN1 compiler.  [asn1_compile]

TOOL_CAP_MKDB		Create capability database.  [cap_mkdb]

TOOL_CAT		Concatenate and print files.  [cat]

TOOL_CKSUM		Display file checksums.  [cksum]

TOOL_COMPILE_ET		Error table compiler.  [compile_et]

TOOL_CONFIG		Build kernel compilation directories.  [config]

TOOL_CRUNCHGEN		Generate crunched binary build environment.  [crunchgen]

TOOL_CTAGS		Create a tags file.  [ctags]

TOOL_DB			Manipulate db(3) databases.  [db]

TOOL_EQN		Format equations for groff.  [eqn]

TOOL_FGEN		IEEE 1275 Open Firmware FCode Tokenizer.  [fgen]

TOOL_GENASSYM		Generate constants for assembly files.  [genassym]

TOOL_GENCAT		Generate NLS message catalogs.  [gencat]

TOOL_GROFF		Front end for groff document formatting system.  [groff]

TOOL_HEXDUMP		Ascii, decimal, hexadecimal, octal dump.  [hexdump]

TOOL_INDXBIB		Make bibliographic database's inverted index.  [indxbib]

TOOL_INSTALLBOOT	Install disk bootstrap software.  [installboot]

TOOL_INSTALL_INFO	Update info/dir entries.  [install-info]

TOOL_JOIN		Relational database operator.  [join]

TOOL_M4			M4 macro language processor.  [m4]

TOOL_MAKEFS		Create file system image from directory tree.  [makefs]

TOOL_MAKEINFO		Translate Texinfo documents.  [makeinfo]

TOOL_MAKEWHATIS		Create a whatis.db database.  [makewhatis]

TOOL_MDSETIMAGE		Set kernel RAM disk image.  [mdsetimage]

TOOL_MENUC		Menu compiler.  [menuc]

TOOL_MKCSMAPPER		Make charset mapping table.  [mkcsmapper]

TOOL_MKESDB		Make encoding scheme database.  [mkesdb]

TOOL_MKLOCALE		Make LC_CTYPE locale files.  [mklocale]

TOOL_MKMAGIC		Create database for file(1).  [file]

TOOL_MKTEMP		Make (unique) temporary file name.  [mktemp]

TOOL_MSGC		Simple message list compiler.  [msgc]

TOOL_MTREE		Map a directory hierarchy.  [mtree]

TOOL_PAX		Manipulate file archives and copy directories.  [pax]

TOOL_PIC		Compile pictures for groff.  [pic]

TOOL_PREPMKBOOTIMAGE	prep-mkbootimage (XXXBUILDSH).  [prep-mkbootimage]

TOOL_PWD_MKDB		Generate the password databases.  [pwd_mkdb]

TOOL_REFER		Preprocess bibliographic references for groff.  [refer]

TOOL_ROFF_ASCII		Generate ASCII groff output.  [nroff]

TOOL_ROFF_DVI		Generate DVI groff output.  [${TOOL_GROFF} -Tdvi]

TOOL_ROFF_HTML		Generate HTML groff output.
			[${TOOL_GROFF} -Tlatin1 -mdoc2html]

TOOL_ROFF_PS		Generate PS groff output.  [${TOOL_GROFF} -Tps]

TOOL_ROFF_RAW		Generate "raw" groff output.  [${TOOL_GROFF} -Z]

TOOL_RPCGEN		Remote Procedure Call (RPC) protocol compiler.  [rpcgen]

TOOL_SOELIM		Eliminate .so's from groff input.  [soelim]

TOOL_STAT		Display file status.  [stat]

TOOL_SUNLABEL		Read or modify a SunOS disk label.  [sunlabel]

TOOL_TBL		Format tables for groff.  [tbl]

TOOL_UUDECODE		Uudecode a binary file.  [uudecode]

TOOL_VGRIND		Grind nice listings of programs.  [vgrind -f]

TOOL_ZIC		Time zone compiler.  [zic]


Other variables of note (incomplete list):

WARNS		Crank up gcc warning options; the distinct levels are:
			WARNS=1
			WARNS=2
			WARNS=3
			WARNS=4

=-=-=-=-=   bsd.x11.mk   =-=-=-=-=

The include file <bsd.x11.mk> contains parameters and targets for
cross-building X11R6 from ${X11SRCDIR.xc}.
It should be included after the general Makefile contents but before
the include files such as <bsd.prog.mk> and <bsd.lib.mk>.

It provides the following targets:
	.man.1 .man.3 .man.4 .man.5 .man.7:
		If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
		these rules convert from X11R6's manual page source
		into an mdoc.old source file.
	cleanx11man:
		Clean up the mdoc.old files generated by the above.

It sets the following variables:

BINDIR			Set to ${X11BINDIR}.
			To override, define after including <bsd.x11.mk>

LIBDIR			Set to ${X11USRLIBDIR}.
			To override, define after including <bsd.x11.mk>

MANDIR			Set to ${X11MANDIR}.
			To override, define after including <bsd.x11.mk>

CPPFLAGS		Appended with definitions to include from
			${DESTDIR}${X11INCDIR}

LDFLAGS			Appended with definitions to link from
			${DESTDIR}${X11USRLIBDIR}

X11FLAGS.CONNECTION	Equivalent to X11R6's CONNECTION_FLAGS.

X11FLAGS.EXTENSION	Equivalent to X11R6's EXT_DEFINES.

X11FLAGS.LOADABLE	Equivalent to X11R6's LOADABLE.

X11FLAGS.OS_DEFINES	Equivalent to X11R6's OS_DEFINES.

X11FLAGS.SERVER		Equivalent to X11R6's ServerDefines.

X11FLAGS.THREADLIB	Equivalent to X11R6's THREADS_DEFINES for libraries.

X11FLAGS.THREADS	Equivalent to X11R6's THREADS_DEFINES.

X11FLAGS.VERSION	cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.

X11TOOL_UNXCOMM		Commandline to convert `XCOMM' comments to `#'

It uses the following variables:

APPDEFS			List of app-default files to install.

CPPSCRIPTS		List of files/scripts to run through cpp(1)
			and then ${X11TOOL_UNXCOMM}.  The source files
			have a `.cpp' suffix, the generated files do not.

CPPSCRIPTFLAGS		Additional flags to cpp(1) when building CPPSCRIPTS.

CPPSCRIPTFLAGS_<fn>	Additional flags to cpp(1) when building CPPSCRIPT <fn>.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@


1.196.4.1
log
@sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.197 2007/10/06 00:21:44 ad Exp $
a302 5
USE_JEMALLOC	If "no", disables building the "jemalloc" allocator
		designed for improved performance with threaded
		applications.  The "phkmalloc" allocator as used up
		before NetBSD-5.0 will be substituted.

@


1.196.4.2
log
@sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD$
a240 4
MKPIE		If "no", create regular executables. Otherwise create
		PIE (Position Independent Executables).
		Default: no

@


1.196.4.3
log
@sync with HEAD
@
text
@d1 1
a1 1
#	bsd.README,v 1.196.4.2 2008/01/09 01:39:25 matt Exp
d144 1
a144 1
MKGCC		If "no", don't build gcc(1) or any of the GCC-related
d148 1
a148 2
MKGCCCMDS	If "no", don't build gcc(1), but do build the GCC-related
		libraries (libgcc, libobjc, libstdc++).
a209 11
MKMODULAR	If "no", don't build the versions of modload(8), modstat(8)
		and modunload(8) that use the new modules framework present
		in the kernel (enabled separately using 'options MODULAR'
		int the configuration file).  Also don't build any other
		stuff that may rely on this support, such as tests or kernel
		modules.
		Note: This flag will disappear when the new modules framework
		is complete enough to replace the old LKM, effectively
		switching it to "yes" by default.
		Default: no

d326 1
a326 1
USE_SSP		If "no", disables GCC stack protection code, which
d520 2
a521 1
		use ELF -- currently all architectures].
d602 1
a602 1
FILESDIR_<fn>	The location to install the specific file <fn>.
d617 1
a617 2
UUDECODE_FILES_RENAME_<fn>
		Rename the output from the decode to the provided name.
@


1.195
log
@Explained the word "new" in the first paragraph.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.194 2007/02/24 18:53:34 pooka Exp $
d1017 1
@


1.194
log
@update and fix description of MKPUFFS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.193 2007/01/25 23:04:28 perry Exp $
d4 3
a6 3
This is the README file for the new make "include" files for the BSD
source tree.  The files are installed in /usr/share/mk, and are, by
convention, named with the suffix ".mk".
@


1.193
log
@Before I completely forget the issue, convert "PROG_PAX" to the
better-named "PAXCTL_FLAGS".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.192 2007/01/14 16:19:55 apb Exp $
d247 5
a251 2
MKPUFFS		If "no", don't build libpuffs (lib/libpuffs) or
		puffs applications (usr.sbin/puffs).
@


1.192
log
@Define TOOL_JOIN.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.191 2006/12/30 04:45:13 rumble Exp $
d983 5
a995 5
PROG_PAX	If defined then paxctl(1) is ran on binary after link
		time, with the value of the variable as args to it.

PROG_PAX.${PROG} Custom override for PROG_PAX.

@


1.191
log
@Fix a typo, tweak wording, and maintain consistency.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.190 2006/12/29 15:52:20 pooka Exp $
d1324 2
@


1.190
log
@if MKPUFFS=yes is given, build & install mount_psshfs (default: no)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.189 2006/11/12 02:44:51 christos Exp $
d314 4
a317 4
USE_SSP		If "yes", it turns of the gcc stack protection code
		where stack overflows are detected and the program
		aborts. This imposes some performance penalty. Defaults
		to "no".
@


1.189
log
@more uucp removal.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.188 2006/11/10 17:13:15 christos Exp $
d247 4
@


1.188
log
@if ${PROG_PAX} is defined, run paxctl on the binary after linking with
the value of the variable. This way, if you set:

    PROG_PAX=+M

in /etc/mk.conf, you get what you deserve.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.187 2006/11/09 17:06:54 christos Exp $
a276 3
MKUUCP		If "no", don't build or install uucp(1).
		Default: yes

@


1.187
log
@Add ssp glue.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.186 2006/10/09 08:32:11 mrg Exp $
d990 5
@


1.186
log
@- clean up some comments to reality.
- retire LIBDCK, LIBG2C and (long broken) USE_LIBSTDCXX
- in bsd.hostprog.mk's LIBSTDCPP -> LIBSTDCC
- add LIBSUPCXX
- don't default USE_LIBSTDCXX or USE_GCC4 since they are
  not used in the tree any where
- same with USE_XF86_4; retire it
- remove _SUPCXX handling in bsd.prog.mk

inspired by PR#26714.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.185 2006/10/08 17:16:51 elad Exp $
d313 5
d1062 1
@


1.185
log
@PR/28368: Peter Postma: unrecognized option `-Wnetbsd-format-audit'

Apply patch from rivo nurges in #NetBSD-code, thanks!
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.184 2006/07/23 11:41:27 lukem Exp $
d145 1
a145 1
		libraries (libg2c, libgcc, libobjc, libstdc++).
a1008 1
		LIBCDK?=	${DESTDIR}/usr/lib/libcdk.a
a1021 1
		LIBG2C?=	${DESTDIR}/usr/lib/libg2c.a
d1058 1
a1091 4
USE_LIBSTDCXX	If "no", the support libraries needed for C++ programs
		are set to `-lsupc++ -lm', rather than `-lstdc++ -lm'.
		Default: yes

@


1.184
log
@Implement MKDEBUG:
	If "no", don't build and install separate debugging symbols
	into /usr/libdata/debug.
	Default: no
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.183 2006/07/22 05:29:03 lukem Exp $
a1388 11
FORMAT_AUDIT	If FORMAT_AUDIT is set, and WFORMAT is set and > 1, turn on
WFORMAT 	-Wnetbsd-format-audit for extra-stringent format checking.
		WFORMAT belongs in individual makefiles and/or
		Makefile.inc files.  (set WFORMAT=1 in individual
		makefiles if a program is not security critical and is
		doing bizarre things with format strings which would
		be even uglier if rewritten) FORMAT_AUDIT should go in
		mk.conf if you're doing format-string auditing.
		FORMAT_AUDIT may go away in time.


@


1.183
log
@Rename MKDEBUG to MKDEBUGLIB.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.182 2006/07/14 21:37:10 peter Exp $
d129 4
@


1.182
log
@MKPAM default is "yes".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.181 2006/06/24 05:14:01 mrg Exp $
d129 1
a129 1
MKDEBUG		Build debugging libraries.
@


1.181
log
@add support for MKISCSI=no.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.180 2006/06/19 15:44:44 gdamore Exp $
d219 1
a219 1
		Default: no
@


1.180
log
@Initial import of bluetooth stack on behalf of Iain Hibbert.  (plunky@@,
NetBSD Foundation Membership still pending.)  This stack was written by
Iain under sponsorship from Itronix Inc.

The stack includes support for rfcomm networking (networking via your
bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.

Drivers for both PCMCIA and USB bluetooth controllers are included.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.179 2006/05/30 00:52:11 christos Exp $
d178 4
@


1.179
log
@Remove sendmail.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.178 2006/05/12 04:29:08 lukem Exp $
d996 1
d1045 1
@


1.178
log
@LDFLAGS is for CC not LD.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.177 2006/05/11 23:47:34 mrg Exp $
a238 3
MKSENDMAIL	If "no", don't build or install sendmail(8).
		Default: yes

@


1.177
log
@add support for ${OBJCOPTS} and ${OBJCOPTS}.<lib|prog|fn>.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.176 2006/04/09 01:52:06 christos Exp $
d957 1
a957 1
LDFLAGS		Additional loader flags.
d1223 1
a1223 1
LDFLAGS		Options to ${LD}.  []
@


1.176
log
@Add MKDEBUG and the ability to build debugging versions of the libraries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.175 2006/03/20 21:25:31 christos Exp $
d313 1
d318 1
d961 6
@


1.175
log
@more Kerberos4 cleanup.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.174 2006/03/20 04:03:23 christos Exp $
d129 3
@


1.174
log
@Goodbye KerberosIV
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.173 2005/12/25 18:34:23 perry Exp $
d291 1
a291 1
USE_KERBEROS	If "no", disables building Kerberos v4 or v5)
a1012 1
		LIBKADM?=	${DESTDIR}/usr/lib/libkadm.a
a1015 2
		LIBKDB?=	${DESTDIR}/usr/lib/libkdb.a
		LIBKRB?=	${DESTDIR}/usr/lib/libkrb.a
a1016 1
		LIBKSTREAM?=	${DESTDIR}/usr/lib/libkstream.a
@


1.173
log
@add "S" to LINTFLAGS so that "inline" is accepted by lint
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.172 2005/12/22 02:54:01 hubertf Exp $
d114 1
a114 1
		and also acts as "MKKERBEROS=no MKKERBEROS4=no".
a174 4
MKKERBEROS4	If "no", disables building of Kerberos v4
		infrastructure (libraries and support programs).
		Default: yes

a290 5
USE_KERBEROS4	If "no", disables building Kerberos v4
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS4} is "no", USE_KERBEROS4
		will also be forced to "no".

@


1.172
log
@Back out previous attempt at cleaning up the mess,
let someone else resolve this.

Requested by uwe.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.170 2005/06/27 20:32:40 peter Exp $
d1229 1
a1229 1
LINTFLAGS	Options to ${LINT}.  [-chapbxzF]
@


1.171
log
@At least try to be consistent about where to document (most...)
user-settable MKxxx and USE_xxx variables, and put them into mk.conf(5).
Sort alphabetically.

OK: christos, lukem
@
text
@a65 2
Please see mk.conf(5) for documentation of all the possible
variables that can be set!
d67 265
d476 23
a498 1
USETOOLS	Documented in mk.conf(5)
@


1.170
log
@Remove (pf)spamd. Its right to exist in NetBSD has been questioned since it
appeared and whether it's really part of pf or not is still unclear. Looking
at the other *BSDs it seems that they have left out spamd when importing pf,
and now we do that too. Also, the name conflicted with another more popular
used tool, after the rename to pfspamd it was left with completely unusable
documentation which apparently no-one wanted to fix.

A port of the latest spamd will be imported into pkgsrc soon.

Suggested by several people, no objections on last proposal on tech-userlevel.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.169 2005/05/31 02:25:36 thorpej Exp $
d66 2
a68 265
The basic rule for the variable naming scheme is as follows:

MKxxx		Can be set to "no" to disable functionality, or
		"yes" to enable it.
		Usually defaults to "yes", although some variables
		default to "no".
		Due to make(1) implementation issues, if a temporary
		command-line override of a mk.conf or <bsd.own.mk>
		setting is required whilst still honouring a particular
		Makefile's setting of MKxxx, use
			env MKxxx=value make
		instead of
			make MKxxx=value

NOxxx		If defined, disables a feature.
		Not intended for users.
		This is to allow Makefiles to disable functionality
		that they don't support (such as missing man pages).
		NOxxx variables must be defined before <bsd.own.mk>
		is included.

The following variables that control how things are made/installed that
are not set by default. These should not be set by Makefiles; they're for
the user to define in MAKECONF (see <bsd.own.mk>, below) or on the make(1)
command line:

BUILD 		If defined, 'make install' checks that the targets in the
		source directories are up-to-date and remakes them if they
                are out of date, instead of blindly trying to install
                out of date or non-existent targets.

MAKEVERBOSE	Control how "verbose" the standard make(1) rules are.
		Default: 2
		Supported values:
		    0	Minimal output ("quiet")
		    1	Describe what is occurring
		    2	Describe what is occurring and echo the actual command


MKBFD		If "no", don't build libbfd, libiberty, or any of the things
		that depend on them (binutils/gas/ld, gdb, dbsym, mdsetimage).
		Default: yes

MKCATPAGES	If "no", don't build or install the catman pages.
		Default: yes

MKCRYPTO	If "no", no cryptography support will be built into the system,
		and also acts as "MKKERBEROS=no MKKERBEROS4=no".
		Default: yes

MKCRYPTO_IDEA	If not "no", IDEA support will be built into libcrypto_idea.a.
		Default: no

MKCRYPTO_MDC2	If not "no", MDC2 support will be built into libcrypto_mdc2.a
		Default: no

MKCRYPTO_RC5	If not "no", RC5 support will be built into libcrypto_rc5.a.
		Default: no

MKCVS		If "no", don't build or install cvs(1).
		Default: yes

MKDOC		If "no", don't build or install the documentation.
		Default: yes

MKDYNAMICROOT	If "no", build programs in /bin and /sbin statically,
		don't install certain libraries in /lib, and don't
		install the shared linker into /libexec.
		Default: yes

MKGCC		If "no", don't build gcc(1) or any of the gcc-related
		libraries (libg2c, libgcc, libobjc, libstdc++).
		Default: yes

MKGCCCMDS	If "no", don't build gcc(1).
		Default: yes

MKGDB		If "no", don't build gdb(1).
		Default: yes

MKHESIOD	If "no", disables building of Hesiod infrastructure
		(libraries and support programs).
		Default: yes

MKHOSTOBJ	If not "no", for programs intended to be run on the compile
		host, the name, release, and architecture of the host
		operating system will be suffixed to the name of the object
		directory created by "make obj".
		Default: no

MKHTML		If "no", don't build or install the html man pages.
		Default: no

MKIEEEFP	If "no", don't add code for IEEE754/IEC60559 conformance.
		Has no effect on most platforms.
		Default: yes

MKINET6		If "no", disables building of INET6 (IPv6) infrastructure
		(libraries and support programs).
		Default: yes

MKINFO		If "no", don't build or install Info documentation from
		Texinfo source files.
		Default: yes

MKIPFILTER	If "no", don't build or install the IP Filter programs and LKM.
		Default: yes

MKKERBEROS4	If "no", disables building of Kerberos v4
		infrastructure (libraries and support programs).
		Default: yes

MKKERBEROS	If "no", disables building of Kerberos v5
		infrastructure (libraries and support programs).
		Default: yes

MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).
		Default: yes

MKLINT		If "no", don't build or install the lint libraries.
		Default: yes

MKMAN		If "no", don't build or install the man or catman pages,
		and also acts as "MKCATPAGES=no MKHTML=no".
		Default: yes

MKMANZ		If not "no", compress manual pages at installation time.
		Default: no

MKNLS		If "no", don't build or install the NLS files and locale
		definition files.
		Default: yes

MKOBJ		If "no", don't enable the rule which creates objdirs,
		and also acts as "MKOBJDIRS=no".
		Default: yes

MKOBJDIRS	If "no", don't create objdirs during a "make build".
		Default: no

MKPAM		If "no", disables building of PAM authentication
		infrastructure (libraries and support programs).
		Default: no

MKPF		If "no", don't build or install the pf programs and LKM.
		Default: yes

MKPIC		If "no", don't build or install shared libraries, and
		also acts as "MKPICLIB=no"
		Default: yes (for MACHINE_ARCHs that support it) 

MKPICINSTALL	If "no", don't install the *_pic.a libraries.
		Default: yes

MKPICLIB	If "no", don't build *_pic.a libraries, and build the
		shared object libraries from the .a libraries.
		A symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.
		Default: yes

MKPOSTFIX	If "no", don't build or install postfix(1).
		Default: yes

MKPROFILE	If "no", don't build or install the profiling (*_p.a) libraries.
		Default: yes

MKSENDMAIL	If "no", don't build or install sendmail(8).
		Default: yes

MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
		MKMAN=no MKNLS=no".
		I.e, don't build catman pages, documentation, Info
		documentation, man pages, NLS files, ...
		Default: yes

MKSKEY		If "no", disables building of S/key authentication
		infrastructure (libraries and support programs).
		Default: yes

MKSOFTFLOAT	If not "no", build with options to enable the compiler to
		generate output containing library calls for floating
		point and possibly soft-float library support.
		Default: no

MKSTATICLIB	If "no", don't build or install the normal static (*.a)
		libraries.
		Default: yes

MKUNPRIVED	If not "no", don't set the owner/group/mode when installing
		files or directories, and keep a metadata log of what
		the owner/group/mode should be.  This allows a
		non-root "make install".
		Default: no

MKUPDATE 	If not "no", 'make install' only installs targets that are
		more recently modified in the source directories that their
		installed counterparts.
		Default: no

MKUUCP		If "no", don't build or install uucp(1).
		Default: yes

MKX11		If not "no", 'make build' also descends into src/x11
		to cross build X11R6 and automatically enables creation
		of X sets.
		Default: no

MKYP		If "no", disables building of YP (NIS)
		infrastructure (libraries and support programs).
		Default: yes

USE_HESIOD	If "no", disables building Hesiod support into
		various system utilities/libraries that support it.
		If ${MKHESIOD} is "no", USE_HESIOD will also be
		forced to "no".

USE_INET6	If "no", disables building INET6 (IPv6) support into
		various system utilities/libraries that support it.
		If ${MKINET6} is "no", USE_INET6 will also be
		forced to "no".

USE_KERBEROS4	If "no", disables building Kerberos v4
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS4} is "no", USE_KERBEROS4
		will also be forced to "no".

USE_KERBEROS	If "no", disables building Kerberos v4 or v5)
		support into various system utilities/libraries that
		support it.  If ${MKKERBEROS} is "no", USE_KERBEROS
		will also be forced to "no".

USE_PAM		If "no", disables building PAM authentication support
		into various system utilities/libraries that support it.
		If ${MKPAM} is "no", USE_PAM will also be forced to "no".

USE_SKEY	If "no", disables building S/key authentication
		support into various system utilities/libraries that
		support it.  If ${MKSKEY} is "no", USE_SKEY will
		also be forced to "no".

USE_YP		If "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.
		If ${MKYP} is "no", USE_YP will also be forced to "no".

COPTS.lib<lib>
LDADD.lib<lib>
CPPFLAGS.lib<lib>
CXXFLAGS.lib<lib>
COPTS.<prog>
LDADD.<prog>
CPPFLAGS.<prog>
CXXFLAGS.<prog>	These provide a way to specify additions to the associated
		variables in a way that applies only to a particular library
		or program.  <lib> corresponds to the LIB variable set in
		the library's makefile.  <prog> corresponds to either PROG
		or PROG_CXX (if set).  For example, if COPTS.libcrypto is
		set to "-g", "-g" will be added to COPTS only when compiling
		the crypto library.
d213 1
a213 23
USETOOLS	Indicates whether the tools specified by ${TOOLDIR} should
		be used as part of a build in progress.
		Supported values:

		yes	Use the tools from TOOLDIR.
			Must be set to this if cross-compiling.

		no	Do not use the tools from TOOLDIR, but refuse to
			build native compilation tool components that are
			version-specific for that tool.

		never	Do not use the tools from TOOLDIR, even when
			building native tool components.  This is similar to
			the traditional NetBSD build method, but does not
			verify that the compilation tools in use are
			up-to-date enough in order to build the tree
			successfully.  This may cause build or runtime
			problems when building the whole NetBSD source tree.

		Default: "yes" if building all or part of a whole NetBSD
		source tree (detected automatically); "no" otherwise
		(to preserve traditional semantics of the <bsd.*.mk>
		make(1) include files).
@


1.169
log
@Describe TOOL_GENASSYM.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.168 2005/05/23 21:58:21 riz Exp $
d218 1
a218 1
MKPF		If "no", don't build or install the pf programs, LKM and spamd.
@


1.168
log
@Provide a default definition of OBJDUMP - bsd.kmod.mk expects it.
Approved by heas.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.167 2005/04/15 03:04:53 lukem Exp $
d1298 2
@


1.167
log
@document MKINET6 and USE_INET6
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.166 2005/03/22 21:12:32 rtr Exp $
d1249 2
@


1.166
log
@+ document SCRIPTSDIR and SCRIPTSDIR_<script>
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.165 2005/02/22 14:40:01 peter Exp $
d164 4
d290 5
@


1.165
log
@Add MKIPFILTER; if set to no, don't build and install the ipf(4) programs,
headers and LKM.

Add MKPF; if set to no, don't build and install the pf(4) programs,
headers, LKM and spamd.

Both options default to yes, so nothing changed in the default build.

Reviewed by lukem.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.164 2005/02/20 01:31:44 matt Exp $
d1067 3
@


1.165.2.1
log
@Pull up revision 1.168 (requested by riz in ticket #343):
Provide a default definition of OBJDUMP - bsd.kmod.mk expects it.
Approved by heas.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.165 2005/02/22 14:40:01 peter Exp $
a1236 2
OBJDUMP		Display information from object files.  [objdump]

@


1.165.2.2
log
@Pull up revision 1.170 (requested by peter in ticket #518):
Remove (pf)spamd. Its right to exist in NetBSD has been questioned since it
appeared and whether it's really part of pf or not is still unclear. Looking
at the other *BSDs it seems that they have left out spamd when importing pf,
and now we do that too. Also, the name conflicted with another more popular
used tool, after the rename to pfspamd it was left with completely unusable
documentation which apparently no-one wanted to fix.
A port of the latest spamd will be imported into pkgsrc soon.
Suggested by several people, no objections on last proposal on tech-userlevel.
@
text
@d1 1
a1 1
#	$NetBSD$
d214 1
a214 1
MKPF		If "no", don't build or install the pf programs and LKM.
@


1.165.2.3
log
@Pull up following revision(s) (requested by hubertf in ticket #1066):
	share/mk/bsd.README: revision 1.167
document MKINET6 and USE_INET6
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.165.2.2 2005/07/02 23:38:05 tron Exp $
a163 4
MKINET6		If "no", disables building of INET6 (IPv6) infrastructure
		(libraries and support programs).
		Default: yes

a285 5
USE_INET6	If "no", disables building INET6 (IPv6) support into
		various system utilities/libraries that support it.
		If ${MKINET6} is "no", USE_INET6 will also be
		forced to "no".

@


1.164
log
@Add support for WARNS=4 (-std=c99)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.163 2005/02/20 00:35:02 christos Exp $
d168 3
d214 3
@


1.163
log
@Add libradius
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.162 2005/02/07 01:38:44 wiz Exp $
d1360 1
@


1.162
log
@MKHTML defaults to no; fix documentation (which claimed it defaults to yes).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.161 2005/01/10 21:06:39 manu Exp $
d1028 1
@


1.161
log
@Disable PAM by default until it gets properly integrated.
Now have MKPAM=yes in /etc/mk.conf if you want to experiment with PAM.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.160 2005/01/10 00:20:21 he Exp $
d158 1
a158 1
		Default: yes
@


1.160
log
@Don't build libpam and associated bits if the target platform doesn't
support shared libraries (sun2 and evbsh5 at it would seem), or if the
user has specified MKPIC=no.  Also introduce a new tag to the set lists
("pam"), so that the non-shlib ports can once again complete a release
build.

Discussed with christos and lukem.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.159 2005/01/08 09:53:38 lukem Exp $
d209 1
a209 2
		Default: yes if target supports shared libraries and
		MKPIC is not set to "no"
@


1.159
log
@Implement <bsd.prog.mk> vars:
	LIBASN1 LIBBSDMALLOC LIBG2C LIBPAM LIBSSH
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.158 2005/01/06 00:42:58 lukem Exp $
d209 2
a210 1
		Default: yes
@


1.158
log
@Provide MKPAM and USE_PAM
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.157 2004/12/29 14:46:24 lukem Exp $
d981 2
d1000 1
d1021 1
d1036 1
@


1.157
log
@document LIBDPLIBS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.156 2004/09/19 08:56:22 tron Exp $
d207 4
d290 4
@


1.156
log
@Update commt about "OBJECT_FMT": only ns32k uses "a.out" these days.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.155 2004/06/13 08:17:22 jmc Exp $
d732 16
@


1.155
log
@Note default for MANINSTALL
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.154 2004/05/23 01:45:21 lukem Exp $
d478 2
a479 4
		use ELF -- currently if ${MACHINE_ARCH} is "alpha",
		"mipsel", "mipseb", "powerpc", "sparc", "sparc64",
		"i386" and some m68k machines, or set to "a.out" on
		other architectures].
@


1.154
log
@* Add MKPRIVATELIB; if not "no", act as "MKPROFILE=no MKPIC=no MKLINT=no"
  and don't install the (.a) library.
  This is useful for "build only" helper libraries.
* Add some  #{  [...]  #}  comments around large conditional statements.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.153 2004/05/22 16:04:58 lukem Exp $
d365 1
@


1.153
log
@Document: CONFIGFILES CONFIGLINKS CONFIGSYMLINKS
Correct the documentation for FILES*_<fn>.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.152 2004/05/12 16:56:43 cl Exp $
d704 5
@


1.152
log
@``build.sh -m xen-i386 release'' now builds a release for NetBSD/xen
for i386.  The resulting release consists of:
- NetBSD/xen for i386 kernel, loader and docuemntation
- NetBSD/i386 userland sets
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.151 2004/04/18 13:07:00 lukem Exp $
d540 5
d555 9
a563 1
FILESDIR.<fn>	The location to install the specific file <fn>.
a564 1
FILESNAME.<fn>	Optional name to install <fn> as.
d748 4
d759 4
@


1.151
log
@document AS and AFLAGS.  document default for CPUFLAGS
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.150 2004/04/13 12:25:03 lukem Exp $
d436 10
@


1.150
log
@Add MAKEDIRPREFIX shell macro to <bsd.own.mk>.
Usage:  ${MAKEDIRTARGET} dir target [params]
		Runs "cd $${dir} && ${MAKE} [params] $${target}",
		displaying a "pretty" message whilst doing so.

Use MAKEDIRPREFIX to implement the __recurse .USE macro in <bsd.subdir.mk>
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.149 2004/03/18 03:26:55 jmc Exp $
d1109 4
d1121 1
a1121 1
CPUFLAGS	Optimization flags for ${CC}
@


1.149
log
@Add UUDECODE_FILES_RENAME_fn so the output from a uudecode can be renamed
potentially (usually when the .uue has a pathname contained within it)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.148 2004/03/18 02:00:00 jmc Exp $
d432 5
@


1.149.2.1
log
@Pull up revision 1.156 (requested by tron in ticket #863):
  Update comment about "OBJECT_FMT": only ns32k uses a.out
  these days.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.149 2004/03/18 03:26:55 jmc Exp $
d462 4
a465 2
		use ELF -- currently all architectures but ns32k, set to
		"a.out" on ns32k].
@


1.149.2.1.2.1
log
@Pull up revision 1.168 (requested by riz in ticket #1545):
Provide a default definition of OBJDUMP - bsd.kmod.mk expects it.
Approved by heas.
@
text
@d1 1
a1 1
#	$NetBSD$
a1155 2
OBJDUMP		Display information from object files.  [objdump]

@


1.148
log
@Add a central method to deal with uuencoded files in the source tree.
Files will be stored as .uue and the name sans .uue will be added to
UUDECODE_FILES to extract them.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.147 2004/03/09 19:08:17 skrll Exp $
d548 2
@


1.147
log
@Correct the "Default:" text for MKPIC
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.146 2004/02/13 05:13:37 lukem Exp $
d544 8
@


1.146
log
@Change STRIPFLAG from "-s" to ""; we now don't strip binaries with install(1).

The benefits of having the symbol table available by default (easier
debugging of core dumps, etc) outweigh the minor (3%) increase in
the size of the distribution, and end-users can always strip(1) their
systems if they're concerned about that 3% of disk space.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.145 2004/02/06 22:13:58 jwise Exp $
d209 1
a209 1
		Default: yes, except for ${MACHINE_ARCH} == "sh3"
@


1.145
log
@Document LPREFIX variable, as adding -P${DESIRED_PREFIX} to LFLAGS does not
do the expected.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.144 2004/01/07 12:06:34 lukem Exp $
d424 1
a424 1
		stripped/not-stripped using a single knob.  [-s]
@


1.144
log
@Add MKX11 to control if src/x11 is traversed during the build.  (default: no)

Document <bsd.x11.mk>.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.143 2004/01/03 01:06:55 lukem Exp $
d1120 2
@


1.143
log
@document MKCVS MKGCCCMDS MKPOSTFIX MKSENDMAIL MKUUCP
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.142 2004/01/02 16:12:36 lukem Exp $
d262 5
d401 20
d1286 64
@


1.142
log
@Consistently test all variables that support a "yes"/"no" value with
	${VAR} == "no"
or
	${VAR} != "no"
(instead of against "yes").  Variables affected:
	TOOLCHAIN_MISSING
	HAVE_GCC3
	USE_TOOLS_TOOLCHAIN
	NEED_OWN_INSTALL_TARGET
	USE_SHLIBDIR

Improve the documentation.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.141 2003/10/18 15:33:59 lukem Exp $
d126 3
d137 1
a137 1
MKGCC		If "no", don't build gcc or any of the gcc-related
d141 4
a144 1
MKGDB		If "no", don't build gdb.
d220 3
d226 3
d259 3
@


1.141
log
@Implement MAKEVERBOSE to control how "verbose" the standard make(1) rules are.
Supported values:
    0	Minimal output ("quiet")
    1	Describe what is occurring
    2	Describe what is occurring and echo the actual command ("verbose")
	This is the default, and is equivalent to the previous behaviour.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.140 2003/09/29 01:06:37 lukem Exp $
d61 7
a67 2
There are various make variables used during the build.  Basic rule for
the variable naming scheme is as follows:
d74 2
a75 2
		command-line override of a mk.conf or <bsd.own.mk> setting
		is required whilst still honouring a particular
d114 1
a114 1
		and also acts as MKKERBEROS=no MKKERBEROS4=no.
d145 4
a148 4
MKHOSTOBJ	If "yes", for programs intended to be run on the compile host,
		the name, release, and architecture of the host operating
		system will be suffixed to the name of the object directory
		created by "make obj".
d184 1
a184 1
		and also acts as "MKCATPAGES=no MKHTML=no"
d195 1
a195 1
		and also acts as "MKOBJDIRS=no"
d253 1
a253 1
		If MKHESIOD is "no", USE_HESIOD will also be
d258 1
a258 1
		support it.  If MKKERBEROS4 is "no", USE_KERBEROS4
d263 1
a263 1
		support it.  If MKKERBEROS is "no", USE_KERBEROS
d268 1
a268 1
		support it.  If MKSKEY is "no", USE_SKEY will
d273 1
a273 1
		If MKYP is "no", USE_YP will also be forced to "no".
d397 24
d428 1
a428 1
		If "yes", this indicates that the platform being built
d430 2
a431 2
		MACHINE_ARCH in question falls into this category, the
		variable is conditionally assigned the value "yes".
d434 2
a435 3

		If TOOLCHAIN_MISSING is "yes", the variables MKBFD, MKGCC,
		and MKGDB are unconditionally assigned the value "no".
d444 1
a444 1
		tree.  For example, if a platform is a TOOLCHAIN_MISSING
d448 4
a451 4
		If EXTERNAL_TOOLCHAIN is defined, the variable MKGCC is
		unconditionally assigned the value "no", since the external
		version of the compiler may not be able to build the library
		components of the in-tree compiler.
d620 1
a620 1
		is "yes".
d622 1
a622 1
USE_SHLIBDIR	If "yes", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
d1007 3
a1009 3
SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is "yes", use ${SHLIBINSTALLDIR} instead of
		${LIBDIR} as the base path for shared library installation.
		[/lib]
d1015 1
a1015 1
_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is "yes",
d1030 3
a1032 4
the directories listed in the variable SUBDIR, the specified directory
will be visited and the target made.  There is also a default target which
allows the command "make subdir" where subdir is any directory listed in
the variable SUBDIR.
d1048 1
a1048 1
(Note that these may be overridden in <bsd.own.mk> if USETOOLS=yes):
d1129 1
a1129 1
(Note that these are overridden in <bsd.own.mk> if USETOOLS=yes):
@


1.140
log
@Add LIBSTDCXX (for usr/lib/libstdc++.a).
Sync LIB* documentation with reality.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.139 2003/09/20 06:20:41 lukem Exp $
d92 8
@


1.139
log
@Change `LNFILES' to `BUILDSYMLINKS', to more accurately describe its purpose.
Per discussion with Simon Gerraty.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.138 2003/09/13 19:08:26 lukem Exp $
a866 2
		LIBMP?=		${DESTDIR}/usr/lib/libmp.a
		LIBNTP?=	${DESTDIR}/usr/lib/libntp.a
a868 1
		LIBPC?=		${DESTDIR}/usr/lib/libpc.a
a870 1
		LIBPLOT?=	${DESTDIR}/usr/lib/libplot.a
d881 1
d884 1
a884 2
		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
		LIBSL?=		${DESTDIR}/usr/lib/libsl.a
@


1.138
log
@implement MKSTATICLIB, which defaults to "yes".  if "no" (which NOSTATICLIB
also sets, a la the other variables), prevents build and installation
of the "normal" static *.a libraries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.137 2003/09/13 11:16:28 simonb Exp $
d463 1
a463 1
LNFILES		List of two word items:
@


1.137
log
@Fix a tyop, wrap some long lines.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.136 2003/09/13 02:52:05 erh Exp $
d201 1
a201 1
MKPROFILE	If "no", don't build or install the profiling libraries.
d218 4
@


1.136
log
@Create a way to add additional flags to COPTS, CPPFLAGS, CXXFLAGS and LDADD
for particular libraries or programs by specifying the additions in mk.conf
instead of needing to go edit individual Makefiles.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.135 2003/09/03 05:38:09 lukem Exp $
d265 7
a271 6
CXXFLAGS.<prog>		These provide a way to specify additions to the
		associated variables in a way that applies only to a particular
		library or program.  <lib> corresponds to the LIB variable set
		in the library's makefile.  <prog> corresponds to either PROG
		or PROG_CXX (if set).  For example, if COPTS.libcrypto is set to "g",
		"-g" will be added to COPTS only when compiling the crypto library.
@


1.135
log
@Implement LNFILES: a list of two word items:
	lnsrc lntgt
For each lnsrc item, create a symlink named lntgt.
The lntgt symlinks are removed by the cleandir target.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.134 2003/08/03 09:23:15 lukem Exp $
d258 13
@


1.134
log
@Add INCSYMLINKS to <bsd.inc.mk> and <bsd.kinc.mk>, and use that instead of
SYMLINKS to install symlinked header files.  INCSYMLINKS are installed with
'make includes'.  This avoids using SYMLINKS and hacks with the 'linkinstall'
target in <bsd.links.mk>, as linksinstall occurs in 'make install' and hacks
to get it to occur in 'make includes' weren't robust, as seen in lib/libdes.

Yet more improvements to bsd.README.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.133 2003/08/02 00:34:25 lukem Exp $
d444 5
@


1.133
log
@Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS

Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".

Update documentation for some other make variables
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.132 2003/07/31 13:47:32 lukem Exp $
d69 1
a69 1
		command-line override of a mk.conf or bsd.own.mk setting
d85 1
a85 1
the user to define in MAKECONF (see bsd.own.mk, below) or on the make(1)
d272 1
a272 1
To get system-specific configuration parameters, bsd.own.mk will try to
d277 1
a277 1
bsd.own.mk sets the following variables, if they are not already defined
d361 1
a361 1
Additionally, the following variables may be set by bsd.own.mk or in a
d364 1
a364 1
bsd.own.mk):
d404 1
a404 1
bsd.own.mk is generally useful when building your own Makefiles so that
d427 1
a427 1
from bsd.lib.mk and bsd.prog.mk, and uses the following variables:
d450 1
a450 1
before bsd.gcc.mk.
d452 1
a452 1
The primary users of bsd.gcc.mk are <bsd.prog.mk> and <bsd.lib.mk>, each
d455 1
a455 1
The behavior of bsd.gcc.mk is influenced by the EXTERNAL_TOOLCHAIN variable,
d460 1
a460 1
bsd.gcc.mk sets the following variables:
d475 1
a475 1
The include file <bsd.inc.mk> defines the includes target and uses two
d485 4
d530 1
a530 1
wish to find compiled kernels use bsd.kernobj.mk and ${KERNOBJDIR}
d539 3
a541 2
kernel Makefiles.  Please see bsd.kinc.mk for more details, and keep
the documentation in that file up to date.
d551 1
a551 1
consistent with the current needs of the BSD tree.  bsd.lib.mk includes
d604 14
a617 1
and is included from from bsd.lib.mk and bsd.prog.mk.
d704 2
a705 2
of suffixes, consistent with the current needs of the BSD tree.  bsd.prog.mk
includes <bsd.shlib.mk> to get shared library parameters.
d776 3
a778 10
LINKS		The list of binary links; should be full pathnames, the
		linked-to file coming first, followed by the linked
		file.  The files are hard-linked.  For example, to link
		/bin/test and /bin/[, use:

			LINKS=	${DESTDIR}/bin/test ${DESTDIR}/bin/[

SYMLINKS	The list of symbolic links; should be full pathnames.
                Syntax is identical to LINKS. Note that DESTDIR is not
		automatically included in the link.
d947 1
a947 1
included before bsd.shlib.mk.
d949 1
a949 1
bsd.own.mk sets the following variables, if they are not already defined
@


1.132
log
@bsd.dep.mk:  add a dependency for *.d on ${SRCS} ${DPSRCS}.  this should fix
some build problems where DPSRCS contains .h files that need to exist to
build the .d file.

document that bsd.dep.mk should be included after anything that might
update SRCS or DPSRCS so that the above works correctly, and actually
ensure this is the case.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.131 2003/07/29 01:26:15 lukem Exp $
a262 7
If you intend to run a cross build, you will need to supply the following
host tools, and configure the following variables properly:

OBJCOPY		objcopy - copy and translate object files

STRIP		strip - Discard symbols from object files

d411 4
a414 2
.depend files.  It creates .d files from entries in SRCS and DPSRCS,
and builds .depend from those.  In order for this to function correctly,
a421 9
		These are automatically added to CLEANFILES.


It sets the following variables:

DEPENDSRCS	.depend and all the .d files for this target.
		If this variable is to used as a target, the rule
		must appear after all of the bsd.*.mk includes
		to function correctly.
d980 81
a1060 3
the NetBSD source tree.  For instance, if "PARALLEL" is defined by
the program/library Makefile, it includes a set of rules for lex and
yacc that allow multiple lex and yacc targets to be built in parallel.
@


1.131
log
@add bsd.dep.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.130 2003/07/28 08:53:53 lukem Exp $
d419 10
a428 1
and builds .depend from those.
@


1.130
log
@replace  MKCXXSUPCXX(!=no)  with  USE_LIBSTDCXX(==no)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.129 2003/07/28 07:03:43 lukem Exp $
d413 14
@


1.129
log
@Change  defined(CXX_SUPCXX)  to  MKCXXSUPCXX != "no".

Clarify that command-line overrides of the MKxxx variables should be
done via the environment rather than make(1) command-line variable
assignment, since the latter doesn't actually work as intended.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.128 2003/07/26 14:58:10 mrg Exp $
a112 4
MKCXXSUPCXX	If not "no", the support libraries needed for C++ programs
		are set to `-lsupc++ -lm', rather than `-lstdc++ -lm'.
		Default: no

d552 1
d875 4
@


1.128
log
@add a new bsd.own.mk variable: CXX_SUPCXX.  from bsd.README:
+ CXX_SUPCXX    If defined, the support libraries needed for this C++ program
+               are set to `-lsupc++ -lm', rather than `-lstdc++ -lm'.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.127 2003/07/23 14:53:57 lukem Exp $
d64 11
a74 2
MKxxx		Can be set to "no" by a user to disable functionality.
		Usually defaults to "yes".
d113 4
d238 1
a238 1
USE_HESIOD	If set to "no", disables building Hesiod support into
d240 1
a240 1
		If MKHESIOD is set to "no", USE_HESIOD will also be
d243 1
a243 1
USE_KERBEROS4	If set to "no", disables building Kerberos v4
d245 1
a245 1
		support it.  If MKKERBEROS4 is set to "no", USE_KERBEROS4
d248 1
a248 1
USE_KERBEROS	If set to "no", disables building Kerberos v4 or v5)
d250 1
a250 1
		support it.  If MKKERBEROS is set to "no", USE_KERBEROS
d253 1
a253 1
USE_SKEY	If set to "no", disables building S/key authentication
d255 1
a255 1
		support it.  If MKSKEY is set to "no", USE_SKEY will
d258 3
a260 3
USE_YP		If set to "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.  If
		MKYP is set to "no", USE_YP will also be forced to "no".
d327 1
a327 1
		dynamically. If set to "-static", link everything statically.
a772 3

CXX_SUPCXX	If defined, the support libraries needed for this C++ program
		are set to `-lsupc++ -lm', rather than `-lstdc++ -lm'.
@


1.127
log
@update MKCRYPTO comment
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.126 2003/07/23 08:01:44 itojun Exp $
d760 3
@


1.126
log
@split MKKERBEROS4 from MKKERBEROS.  based on work by lha at stacken.kth.se
(build confirmed with both MKKERBEROS4=yes and MKKERBEROS4=no)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.125 2003/07/22 06:53:21 lukem Exp $
d92 1
a92 1
		and also acts as MKKERBEROS=no.
@


1.125
log
@Add source-file-specific variables in <bsd.lib.mk> and <bsd.prog.mk>:

COPTS.<fn>	Additional flags to the compiler when creating the C objects
		for <fn>.

CPUFLAGS.<fn>	Additional flags to the compiler/assembler for <fn>.

CPPFLAGS.<fn>	Additional flags to the C pre-processor for <fn>.


(For <fn>.[ly], "<fn>.c" must be used.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.124 2003/07/22 04:23:28 lukem Exp $
d140 5
a144 1
MKKERBEROS	If "no", disables building of Kerberos (v4 or v5)
d230 6
a235 1
USE_KERBEROS	If set to "no", disables building Kerberos (v4 or v5)
@


1.124
log
@improve documentation for bsd.files.mk and bsd.kernobj.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.123 2003/07/20 14:36:12 lukem Exp $
d703 4
d710 3
d714 3
@


1.123
log
@add TOOL_STAT for stat(1)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.122 2003/07/20 14:27:57 lukem Exp $
d400 17
a416 1
from bsd.lib.mk and bsd.prog.mk.
d451 1
a451 1
INCS		The list of include files
d482 1
a482 1
		It defaults to ${_SRC_TOP_}/sys
d484 2
a485 2
KERNARCHDIR	Is the location of the machine dependent kernel
		sources.  It defaults to arch/${MACHINE}
d487 2
a488 2
KERNCONFDIR	Is where the configuration files for kernels are
		found; default is ${KERNSRCDIR}/${KERNARCHDIR}/conf.
d706 1
a706 1
CPPFLAGS	Additional flags to the C pre-processor
d842 1
a842 3
FILES		A list of files to install. The installation is controlled
		by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR
		variables that can be further specialized by FILES<VAR>_<file>
@


1.122
log
@more reordering
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.121 2003/07/18 15:44:07 lukem Exp $
d1016 2
@


1.121
log
@move MKCATPAGES info.  add MKHOSTOBJ info
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.120 2003/07/18 08:26:05 lukem Exp $
d177 1
a177 1
		Default: yes
d221 19
a353 27

USE_HESIOD	If set to "no", disables building Hesiod support into
		various system utilities/libraries that support it.
		If MKHESIOD is set to "no", USE_HESIOD will also be
		forced to "no".

USE_KERBEROS	If set to "no", disables building Kerberos (v4 or v5)
		support into various system utilities/libraries that
		support it.  If MKKERBEROS is set to "no", USE_KERBEROS
		will also be forced to "no".

USE_SKEY	If set to "no", disables building S/key authentication
		support into various system utilities/libraries that
		support it.  If MKSKEY is set to "no", USE_SKEY will
		also be forced to "no".

USE_YP		If set to "no", disables building YP (NIS) support into
		various system utilities/libraries that support it.  If
		MKYP is set to "no", USE_YP will also be forced to "no".

NOPROFILE	Do not build profiled versions of system libraries

NOPIC		Do not build PIC versions of system libraries, and
		do not build shared libraries.  [set if ${MACHINE_ARCH}
		is "sh3" and ${OBJECT_FMT} is "COFF", unset otherwise.]

NOLINT		Do not build lint libraries.
@


1.120
log
@Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.119 2003/07/18 02:52:51 lukem Exp $
d88 3
a103 3
MKCATPAGES	If "no", don't build or install the catman pages.
		Default: yes

d122 6
@


1.119
log
@Add MKMANZ; if not set to "no", compress the manual pages at installation time.
This replaces the previous  .if defined (MANZ) behaviour, although the latter
will set MKMANZ=yes for compatibility purposes.

Don't bother with -P-bou in TOOL_ROFF_HTML; it doesn't appear to be
necessary with groff 1.19.

Fix NOHTML implementation to be consistent with other NOxxx / MKxxx
variables, and expose the user-tweakable MKHTML.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.118 2003/07/18 00:33:18 lukem Exp $
d64 2
a65 2
MKxxx		Can be set to `no' by a user to disable functionality.
		Defaults to `yes' (or usually does)
d84 10
a93 3
UPDATE 		If defined, 'make install' only installs targets that are
		more recently modified in the source directories that their
		installed counterparts.
d95 2
a96 4
UNPRIVED	If defined, don't set the owner/group/mode when installing
		files or directories, and keep a metadata log of what
		the owner/group/mode should be.  This allows a
		non-root "make install".
d98 2
a99 3
MKBFD		If "no", don't build libbfd, libiberty, or any of
		the things that depend on them (binutils/gas/ld,
		gdb, dbsym, mdsetimage).
d102 1
d105 1
d110 5
d117 5
d123 2
a124 2
MKGCC		If "no", don't build gcc or any of the gcc-related
		libraries (libg2c, libgcc, libobjc, libstdc++).
d128 1
d132 15
d149 1
d151 3
a153 2
MKMAN		If "no", don't build or install the man or catman pages.
		Also acts as "MKCATPAGES=no"
d156 1
a156 1
		"no" by default.
d160 1
d162 3
a164 2
MKOBJ		If "no", don't enable the rule which creates objdirs.
		"yes" by default.
d167 1
a167 1
		"no" by default.
d169 3
a171 1
MKPIC		If "no", don't build or install shared libraries.
d174 7
d183 27
d211 3
a213 3
MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKINFO=no MKMAN=no
		MKNLS=no".  I.e, don't build catman pages, documentation,
		Info documentation, man pages, NLS files, ...
a329 31
MKPICLIB	bsd.own.mk provides a default for this variable, which is
		used by bsd.lib.mk.  The default value is provided by
		bsd.own.mk since non-library Makefiles may need to check
		its value in order to generate proper dependencies against
		libraries used only during the build process (which would
		not be installed into the destination directory).

MKCRYPTO	If set to "no", no cryptography support will be built
		into the system.  Defaults to "yes".

MKCRYPTO_IDEA	If set to "yes", IDEA support will be built into
		libcrypto_idea.a.  Defaults to "no".

MKCRYPTO_MDC2	If set to "yes", MDC2 support will be built into
		libcrypto_mdc2.a.  Defaults to "no".

MKCRYPTO_RC5	If set to "yes", RC5 support will be built into
		libcrypto_rc5.a.  Defaults to "no".

MKHESIOD	If set to "no", disables building of Hesiod infrastructure
		(libraries and support programs).

MKKERBEROS	If set to "no", disables building of Kerberos (v4 or v5)
		infrastructure (libraries and support programs).

MKSKEY		If set to "no", disables building of S/key authentication
		infrastructure (libraries and support programs).

MKYP		If set to "no", disables building of YP (NIS)
		infrastructure (libraries and support programs).

a362 5
MKSOFTFLOAT	If "yes", build with options to enable the compiler to
		generate output containing library calls for floating
		point and possibly soft-float library support.  Defaults
		to "no".

d472 1
a472 1
		
a532 14
MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).

MKPICLIB	If "no", don't build _pic.a libraries, and build the
		shared object libraries from the .a libraries.  A
		symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.

d869 1
a869 1
RPC_XDRFILES:	construct _xdr.c from .x file 
d908 1
a908 1
subdirectories.  It has the same eight targets as <bsd.prog.mk>: all, 
d910 1
a910 1
the directories listed in the variable SUBDIR, the specified directory 
d1044 1
a1044 1
		mk.conf if you're doing format-string auditing. 
@


1.118
log
@reorder to be a bit more useable (imho)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.117 2003/07/16 05:42:01 itojun Exp $
d121 3
a307 2
MANZ		Compress manual pages at installation time.

d987 1
a987 1
			[${TOOL_GROFF} -Tlatin1 -mdoc2html -P-b -P-o -P-u]
@


1.117
log
@stop installing install libtelnet.  build under lib/libtelnet and reference
it from usr.bin/telnet and libexec/telnetd.
(reason for separate build: compiler flags)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.116 2003/07/10 10:34:35 lukem Exp $
d140 2
a141 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
a151 33
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.man.mk> handles installing manual pages and their
links.

It has a two targets:

	maninstall:
		Install the manual page sources and their links.
	catinstall:
		Install the preformatted manual pages and their links.

It sets/uses the following variables:

MANDIR		Base path for manual installation.

MANGRP		Manual group.

MANOWN		Manual owner.

MANMODE		Manual mode.

MANSUBDIR	Subdirectory under the manual page section, i.e. "/vax"
		or "/tahoe" for machine specific manual pages.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

MLINKS		List of manual page links (using a .1 - .9 suffix).  The
		linked-to file must come first, the linked file second,
		and there may be multiple pairs.  The files are soft-linked.

The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
it exists.
d153 1
a153 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
a360 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d362 1
a362 3
The include file <bsd.shlib.mk> computes parameters for shared library
installation and use.  It defines no targets.  <bsd.own.mk> MUST be
included before bsd.shlib.mk.
d364 2
a365 2
bsd.own.mk sets the following variables, if they are not already defined
(defaults are in brackets):
a366 3
SHLIBINSTALLDIR	If ${USE_SHLIBDIR} is "yes", use ${SHLIBINSTALLDIR} instead of
		${LIBDIR} as the base path for shared library installation.
		[/lib]
d368 1
a368 14
SHLIBDIR	The path to USE_SHLIBDIR shared libraries to use when building
		a program.  [/lib for programs in /bin and /sbin, /usr/lib
		for all others.]

_LIBSODIR	Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is "yes",
		otherwise set to ${LIBDIR}

SHLINKINSTALLDIR Base path for shared linker.  [/libexec]

SHLINKDIR	Path to use for shared linker when building a program.
		[/libexec for programs in /bin and /sbin, /usr/libexec for
		all others.]

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d384 227
a610 1
_GCC_CRTBEGIN	The full path name to crtbegin.o.
d612 3
a614 5
_GCC_CRTBEGINS	The full path name to crtbeginS.o.

_GCC_CRTEND	The full path name to crtend.o.

_GCC_CRTENDS	The full path name to crtendS.o.
a615 1
_GCC_LIBGCCDIR	The directory where libgcc.a is located.
d617 1
a617 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
a834 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d836 4
a839 7
The include file <bsd.subdir.mk> contains the default targets for building
subdirectories.  It has the same eight targets as <bsd.prog.mk>: all, 
clean, cleandir, depend, includes, install, lint, and tags.  For all of
the directories listed in the variable SUBDIR, the specified directory 
will be visited and the target made.  There is also a default target which
allows the command "make subdir" where subdir is any directory listed in
the variable SUBDIR.
d841 3
a843 5
As a special case, the use of a token .WAIT as an entry in SUBDIR acts
as a synchronization barrier when multiple make jobs are run; subdirs
before the .WAIT must complete before any subdirs after .WAIT are
started.  See make(1) for some caveats on use of .WAIT and other
special sources.
d845 6
a850 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d852 1
a852 2
The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
and is included from from bsd.lib.mk and bsd.prog.mk.
a853 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d855 1
a855 2
The include file <bsd.files.mk> handles the FILES variables and is included
from bsd.lib.mk and bsd.prog.mk.
d857 3
a859 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d861 2
a862 2
The include file <bsd.inc.mk> defines the includes target and uses two
variables:
d864 3
a866 1
INCS		The list of include files
d868 3
a870 1
INCSDIR		The location to install the include files.
d872 2
a873 2
INCSNAME	Target name of the include file, if only one; same as
		FILESNAME, but for include files.
d875 1
a875 2
INCSNAME_<file>	The name file <file> should be installed as, if not <file>,
		same as FILESNAME_<file>, but for include files.
d877 3
a879 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
a880 5
The include file <bsd.kinc.mk> defines the many targets (includes,
subdirectories, etc.), and is used by kernel makefiles to handle
include file installation.  It is intended to be included alone, by
kernel Makefiles.  Please see bsd.kinc.mk for more details, and keep
the documentation in that file up to date.
d882 1
a882 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
d884 7
a890 4
The include file <bsd.info.mk> is used to generate and install GNU Info
documentation from respective Texinfo source files.  It defines three
implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
following variables:
d892 5
a896 3
TEXINFO		List of Texinfo source files.  Info documentation will
		consist of single files with the extension replaced by
		.info.
a897 1
INFOFLAGS	Flags to pass to makeinfo.  []
d899 1
a899 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
a1022 159

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.lib.mk> has support for building libraries.  It has
the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
includes, install, lint, and tags.  Additionally, it has a checkver target
which checks for installed shared object libraries whose version is greater
that the version of the source. It has a limited number of suffixes,
consistent with the current needs of the BSD tree.  bsd.lib.mk includes
<bsd.shlib.mk> to get shared library parameters.

It sets/uses the following variables:

LIB		The name of the library to build.

LIBDIR		Target directory for libraries.

SHLIBINSTALLDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
		is "yes".

USE_SHLIBDIR	If "yes", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
		as the path to install shared libraries to.
		USE_SHLIBDIR must be defined before <bsd.own.mk> is included.

LINTLIBDIR	Target directory for lint libraries.

LIBGRP		Library group.

LIBOWN		Library owner.

LIBMODE		Library mode.

LDADD		Additional loader objects.

MAN		The manual pages to be installed (use a .1 - .9 suffix).

MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).

MKPICLIB	If "no", don't build _pic.a libraries, and build the
		shared object libraries from the .a libraries.  A
		symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.

NOCHECKVER_<library>
NOCHECKVER	If set, disables checking for installed shared object
		libraries with versions greater than the source.  A
		particular library name, without the "lib" prefix, may
		be appended to the variable name to disable the check for
		only that library.

SRCS		List of source files to build the library.  Suffix types
		.s, .c, and .f are supported.  Note, .s files are preferred
		to .c files of the same name.  (This is not the default for
		versions of make.)

The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
if it exists, as well as the include file <bsd.man.mk>.

It has rules for building profiled objects; profiled libraries are
built by default.

Libraries are ranlib'd when made.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.obj.mk> defines targets related to the creation
and use of separated object and source directories.

If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses
${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if
it exists.  Otherwise make(1) looks for the existence of a
subdirectory (or a symlink to a directory) of the source directory
into which built targets should be placed.  If an environment variable
named MAKEOBJDIR is set, make(1) uses its value as the name of the
object directory; failing that, make first looks for a subdirectory
named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj".

Object directories are not created automatically by make(1) if they
don't exist; you need to run a separate "make obj".  (This will happen
during a top-level build if "MKOBJDIRS" is set to a value other than
"no").  When the source directory is a subdirectory of ${BSDSRCDIR} --
and this is determined by a simple string prefix comparison -- object
directories are created in a separate object directory tree, and a
symlink to the object directory in that tree is created in the source
directory; otherwise, "make obj" assumes that you're not in the main
source tree and that it's not safe to use a separate object tree.

Several variables used by <bsd.obj.mk> control exactly what
directories and links get created during a "make obj":

MAKEOBJDIR	If set, this is the component name of the object
		directory.

OBJMACHINE	If this is set but MAKEOBJDIR is not set, creates
		object directories or links named "obj.${MACHINE}";
		otherwise, just creates ones named "obj".

USR_OBJMACHINE  If set, and the current directory is a subdirectory of
		${BSDSRCDIR}, create object directory in the
		corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
		otherwise, create it in the corresponding subdirectory
		of ${BSDOBJDIR}

BUILDID		If set, the contents of this variable are appended
		to the object directory name.  If OBJMACHINE is also
		set, ".${BUILDID}" is added after ".${MACHINE}".

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.kernobj.mk> defines variables related to the
location of kernel sources and object directories.

KERNSRCDIR	Is the location of the top of the kernel src.
		It defaults to ${_SRC_TOP_}/sys

KERNARCHDIR	Is the location of the machine dependent kernel
		sources.  It defaults to arch/${MACHINE}
		
KERNCONFDIR	Is where the configuration files for kernels are
		found; default is ${KERNSRCDIR}/${KERNARCHDIR}/conf.

KERNOBJDIR	Is the kernel build directory.  The kernel GENERIC for
		instance will be compiled in ${KERNOBJDIR}/GENERIC.
		The default value is
		${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile
		if it exists or the target 'obj' is being made.
		Otherwise the default is
		${KERNSRCDIR}/${KERNARCHDIR}/compile.

It is important that Makefiles (such as those under src/distrib) that
wish to find compiled kernels use bsd.kernobj.mk and ${KERNOBJDIR}
rather than make assumptions about the location of the compiled kernel.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.rpc.mk> contains a makefile fragment used to
construct source files built by rpcgen.

The following macros may be defined in makefiles which include
<bsd.rpc.mk> in order to control which files get built and how they
are to be built:

RPC_INCS:	construct .h file from .x file
RPC_XDRFILES:	construct _xdr.c from .x file 
		(for marshalling/unmarshalling data types)
RPC_SVCFILES:	construct _svc.c from .x file
		(server-side stubs)
RPC_SVCFLAGS:	Additional flags passed to builds of RPC_SVCFILES.

RPC_XDIR:	Directory containing .x/.h files


@


1.116
log
@Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.115 2003/06/26 06:30:07 tshiozak Exp $
a608 1
		LIBTELNET?=	${DESTDIR}/usr/lib/libtelnet.a
@


1.115
log
@Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
  mkcsmapper - coded character set mapping table compiler
  mkesdb - encoding scheme database compiler
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.114 2003/06/12 23:26:19 provos Exp $
d67 4
a70 3
NOxxx		If defined, disables a feature.  Not intended for users,
		it's to allow Makefiles to disable functionality that
		they don't support (such as missing man pages).
a150 12
CONFIG		config - build kernel compilation directories

RPCGEN		rpcgen - Remote Procedure Call (RPC) protocol compiler

MKLOCALE	mklocale - make LC_CTYPE locale files

MKCSMAPPER	mkcsmapper - make charset mapping table

MKESDB		mkesdb - make encoding scheme database

MTREE		mtree - build directory tree from a spec file

d213 1
a213 1
		will work correctly. [/usr/src]
d216 1
a216 1
		will work correctly. [/usr/obj]
d218 1
a218 1
BINGRP		Binary group. [wheel]
d220 1
a220 1
BINOWN		Binary owner. [root]
d222 1
a222 1
BINMODE		Binary mode. [555]
d224 1
a224 1
NONBINMODE	Mode for non-executable files. [444]
d226 1
a226 1
MANDIR		Base path for manual installation. [/usr/share/man/cat]
d228 1
a228 1
MANGRP		Manual group. [wheel]
d230 1
a230 1
MANOWN		Manual owner. [root]
d232 1
a232 1
MANMODE		Manual mode. [${NONBINMODE}]
d240 1
a240 1
LIBDIR		Base path for library installation. [/usr/lib]
d242 1
a242 1
LINTLIBDIR	Base path for lint(1) library installation. [/usr/libdata/lint]
d244 1
a244 1
LIBGRP		Library group. [${BINGRP}]
d246 1
a246 1
LIBOWN		Library owner. [${BINOWN}]
d248 1
a248 1
LIBMODE		Library mode. [${NONBINMODE}]
d251 1
a251 1
	        installation. [/usr/share/doc]
d256 1
a256 1
DOCGRP		Documentation group. [wheel]
d258 1
a258 1
DOCOWN		Documentation owner. [root]
d260 1
a260 1
DOCMODE		Documentation mode. [${NONBINMODE}]
d265 1
a265 1
NLSGRP		Native Language Support files group. [wheel]
d267 1
a267 1
NLSOWN		Native Language Support files owner. [root]
d269 1
a269 1
NLSMODE		Native Language Support files mode. [${NONBINMODE}]
d274 1
a274 1
		stripped/not-stripped using a single knob. [-s]
d280 1
a280 1
		a single knob. [-c]
d347 1
a347 1
OBJECT_FMT	Object file format. [set to "ELF" on architectures that
d413 1
a413 1
SHLINKINSTALLDIR Base path for shared linker. [/libexec]
a725 4
INSTALL_INFO	Name of install-info program.  [install-info]

MAKEINFO	Name of makeinfo program.  [makeinfo]

d733 100
@


1.114
log
@add LIBEVENT
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.113 2003/05/31 20:33:16 thorpej Exp $
d155 4
@


1.113
log
@If EXTERNAL_TOOLCHAIN is defined, allow the compiler to define the
location of crt{begin,end}{,S}.o and libgcc.a.  Encapsulate all of
this logic into the new bsd.gcc.mk, and use it in bsd.prog.mk and
bsd.lib.mk.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.112 2003/05/30 18:43:24 thorpej Exp $
d573 1
@


1.112
log
@Add a CPUFLAGS variable which can be set by the user's mk.conf or in
the environment:

CPUFLAGS        Additional flags to the compiler/assembler to select
                CPU instruction set options, CPU tuning options, etc.

Since CPUFLAGS is not implicitly set by any part of the make infrastructure,
it is safe to set in mk.conf, unlike COPTS or DBG.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.111 2003/04/11 22:40:31 thorpej Exp $
d425 26
@


1.111
log
@Provide the MKPICLIB value in bsd.own.mk, rather than bsd.lib.mk.  It
is sometimes necessary for non-library Makefiles to determine if _pic
libraries are being built.

Problem pointed out by Havard Eidnes.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.110 2003/01/24 02:06:37 thorpej Exp $
d474 3
@


1.110
log
@Add LIBPTHREAD, LIBPTHREAD_DB, and LIBRT.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.109 2003/01/05 19:18:52 sommerfeld Exp $
d293 7
@


1.109
log
@Common makefile fragment for invoking rpcgen.  See bsd.README for
documentation on the parameters which control this fragment's behavior.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.108 2002/12/20 16:05:16 jwise Exp $
d566 2
d572 1
@


1.108
log
@Add a brief description of DPSRCS, whose discovery recently shortened two
Makefiles of mine by a few lines. :-)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.107 2002/11/26 23:15:53 lukem Exp $
d860 20
@


1.107
log
@Deprecate SYS_INCLUDE and the optional SYS_INCLUDE=symlinks functionality,
and only support the "copies" default.
Per discussion on tech-userlevel@@.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.106 2002/09/27 21:37:55 thorpej Exp $
d509 3
@


1.106
log
@Only use the MKDYNAMICROOT semantics (i.e. -rpath=/lib,/usr/lib and
-dynamic-linker=/libexec/ld.elf_so) if the BINDIR of the program being
built is /bin or /sbin.

The reason we do this is because now all programs *except* those in
/bin and /sbin (i.e. the "special cases") match the default the compiler
uses, which is what is used for things in e.g. xsrc, pkgsrc, and other
random 3rd party programs.

This is done by decoupling where a shlib is installed from how it
is located.  Two new variables, SHLIBINSTALLDIR and SHLINKINSTALLDIR,
contain the former information, and key off MKDYNAMICROOT only.  SHLIBDIR
and SHLINKDIR contain the latter, and key off MKDYNAMICROOT and BINDIR.

The SHLIBINSTALLDIR, SHLIBDIR, _LIBSODIR, SHLINKINSTALLDIR, and
SHLINKDIR parameters are moved to a new <bsd.shlib.mk>; see bsd.README
for usage details.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.105 2002/09/26 13:05:55 itojun Exp $
a337 4

SYS_INCLUDE	Copy or symlink kernel include files into /usr/include.
		Possible values are "symlinks" or "copies" (which is
		the same as the variable being unset).
@


1.105
log
@MDC2 is a patented algorithm; don't ship it in default libcrypto.
MKCRYPTO_MDC2 will build a separate library, libcrypto_mdc2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.104 2002/09/22 15:08:19 lukem Exp $
a248 9
SHLIBDIR	If ${USE_SHLIBDIR} is "yes", use ${SHLIBDIR} instead of
		${LIBDIR} as the base path for shared library installation.
		[/lib]

_LIBSODIR	Set to ${SHLIBDIR} if ${USE_SHLIBDIR} is "yes",
		otherwise set to ${LIBDIR}

SHLINKDIR	Base path for shared linker. [/libexec]

d399 26
d427 2
a428 1
of suffixes, consistent with the current needs of the BSD tree.
d606 2
a607 1
SHLINKDIR	Target directory for shared linker.
d730 2
a731 1
consistent with the current needs of the BSD tree.
d739 1
a739 1
SHLIBDIR	Target directory for shared libraries if ${USE_SHLIBDIR}
d742 1
a742 1
USE_SHLIBDIR	If "yes", use ${SHLIBDIR} instead of ${LIBDIR}
@


1.104
log
@Enable MKDYNAMICROOT=yes by default.
This means that:
    +	/bin and /sbin (and the few programs in /usr/* which were statically
	linked) are now dynamically linked.
    +	The shared libraries that are needed by the /bin and /sbin programs
	are now installed into /lib (with compatability symlinks from
	/usr/lib).  These are:
		c crypt edit ipsec kvm m m387 termcap termlib util z
    +	The shared linker is now in /libexec/ld.elf_so, and
	/usr/libexec/ld.elf_so is a symlink to the former.

If you want the prior behaviour of "some applications statically linked,
the rest dynamically linked", set MKDYNAMICROOT=no in your mk.conf(5).

If you have a philosophical objection to dynamic libraries, continue
to set LDSTATIC=-static in your mk.conf(5), and please don't waste any
more time in trying to convince us why dynamic libraries are 3v1l.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.103 2002/09/17 23:18:29 thorpej Exp $
d309 3
d514 1
@


1.103
log
@* Eliminate the USE_NEW_TOOLCHAIN variable.  Instead, split it into
  two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.102 2002/09/08 03:59:02 thorpej Exp $
d100 4
d251 1
a251 1
		[/usr/lib]
d256 1
a256 1
SHLINKDIR	Base path for shared linker. [/usr/libexec]
@


1.102
log
@Build a .gdbinit in the objdir when building a program.  The .gdbinit
file sets the shared library prefix to ${DESTDIR}, and adds "sources"
directives for each file listed in the GDBINIT Makefile variable.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.101 2002/08/19 14:51:58 lukem Exp $
d94 1
a94 2
		gdb, dbsym, mdsetimage).  Only meaningful if
		USE_NEW_TOOLCHAIN is set.
d100 1
a100 2
MKGDB		If "no", don't build gdb.  Only meaningful if
		USE_NEW_TOOLCHAIN is set.
a103 1
		Only meaningful if USE_NEW_TOOLCHAIN is set.
d363 32
@


1.101
log
@Explicitly note that if NOxxx and USE_SHLIBDIR are set by a Makefile,
it must be before <bsd.own.mk> is included.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.100 2002/08/09 00:21:22 thorpej Exp $
d379 4
a382 1
		build the program and its manual page
d419 4
@


1.100
log
@Add LIBPMC.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.99 2002/06/09 04:04:32 itojun Exp $
d70 2
d680 1
@


1.99
log
@sync LIBxx with bsd.prog.mk
XXX bsd.prog.mk and bsd.hostprog.mk defines very similar thing
- can we unify them? at least the definition?
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.98 2002/04/26 15:02:02 lukem Exp $
d501 1
@


1.98
log
@Implement NETBSDSRCDIR, which is the top level of the NetBSD source tree.
Defaults to the directory determined by the _SRC_TOP_ logic (if != ""),
and the BSDSRCDIR.

NETBSDSRCDIR has been provided for use by the various NetBSD source
Makefiles to find the top of the NetBSD source tree, and isn't
affected by the inheritance properties of _SRC_TOP_, nor does it
have the magic BSDOBJDIR baggage that BSDSRCDIR is stuck with.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.97 2002/04/19 03:08:05 itojun Exp $
d460 1
d463 2
d467 3
d477 2
d481 4
d487 2
d495 2
d499 1
d503 2
d507 4
d513 1
@


1.98.2.1
log
@Pull up revisions 1.99,1.105 (requested by he and itojun in ticket #861):
  MDC2 is a patented algorithm, so don't ship it in the
  default libcrypto.  Defining MKCRYPTO_MDC2 will build a
  separate library, libcrypto_mdc2.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.98 2002/04/26 15:02:02 lukem Exp $
a305 3
MKCRYPTO_MDC2	If set to "yes", MDC2 support will be built into
		libcrypto_mdc2.a.  Defaults to "no".

a459 1
		LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
a461 2
		LIBCDK?=	${DESTDIR}/usr/lib/libcdk.a
		LIBCOM_ERR?=	${DESTDIR}/usr/lib/libcom_err.a
a463 4
		LIBCRYPTO?=	${DESTDIR}/usr/lib/libcrypto.a
		LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a
		LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a
		LIBCRYPTO_RC5?=	${DESTDIR}/usr/lib/libcrypto_rc5.a
a470 2
		LIBGSSAPI?=	${DESTDIR}/usr/lib/libgssapi.a
		LIBHDB?=	${DESTDIR}/usr/lib/libhdb.a
a472 4
		LIBKADM?=	${DESTDIR}/usr/lib/libkadm.a
		LIBKADM5CLNT?=	${DESTDIR}/usr/lib/libkadm5clnt.a
		LIBKADM5SRV?=	${DESTDIR}/usr/lib/libkadm5srv.a
		LIBKAFS?=	${DESTDIR}/usr/lib/libkafs.a
a474 2
		LIBKRB5?=	${DESTDIR}/usr/lib/libkrb5.a
		LIBKSTREAM?=	${DESTDIR}/usr/lib/libkstream.a
a480 2
		LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
		LIBOSSAUDIO?=	${DESTDIR}/usr/lib/libossaudio.a
a482 1
		LIBPCI?=	${DESTDIR}/usr/lib/libpci.a
a485 2
		LIBRMT?=	${DESTDIR}/usr/lib/librmt.a
		LIBROKEN?=	${DESTDIR}/usr/lib/libroken.a
a487 4
		LIBSS?=		${DESTDIR}/usr/lib/libss.a
		LIBSSL?=	${DESTDIR}/usr/lib/libssl.a
		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
		LIBSL?=		${DESTDIR}/usr/lib/libsl.a
a489 1
		LIBUSBHID?=	${DESTDIR}/usr/lib/libusbhid.a
@


1.97
log
@document MKxxx/NOxxx naming rule.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.96 2002/04/16 03:47:32 itojun Exp $
d205 6
d212 3
a214 1
		based on the presence of build.sh and tools/ .
@


1.96
log
@NOCRYPTO is no longer used and has no effect, so remove documentation
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.95 2002/04/10 15:05:45 lukem Exp $
d60 10
@


1.95
log
@replace BSDSRCDIR with _SRC_TOP_, since the latter is more likely to
be "accurate".  document _SRC_TOP_.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.94 2002/03/22 18:12:08 thorpej Exp $
a283 2

NOCRYPTO	If set, it is equivalent to setting MKCRYPTO to "no".
@


1.94
log
@Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

	* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
	  of the infratsructure (libraries, support programs, etc.)

	* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
	  building of support for using the corresponding API
	  in various libraries/programs that can use it.

As discussed on tech-toolchain.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.93 2002/03/14 18:26:32 thorpej Exp $
d195 3
d734 1
a734 4
		It defaults to ${BSDSRCDIR}/sys, but the top-level
		Makefile.inc sets it to ${ABSTOP}/sys (ABSTOP is the
		absolute path to the directory where the top-level
		Makefile.inc was found.
@


1.93
log
@Add a BUILDID variable, which further qualifies object directories.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.92 2002/01/27 23:33:51 ross Exp $
d290 2
a291 6
MKKERBEROS	If set to "no", disables building Kerberos (v4 or v5)
		support into various system utilities that support it.
		Defaults to "yes".  NOTE: This does not affect the
		building of the Kerberos libraries or infrastructure
		programs themselves.  To completely disable Kerberos,
		set MKCRYPTO to "no".
d293 2
a294 1
NOKERBEROS	If set, it is equivalent to setting MKKERBEROS to "no".
d296 24
a319 2
SKEY		Compile in support for S/key authentication. [yes, set
		unconditionally]
@


1.92
log
@Drink ALL the Kool-Aid.

(Move -mieee from lib/ to bsd.*.mk; new var MKIEEEFP defaults to yes.)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.91 2002/01/04 19:07:18 thorpej Exp $
d701 4
@


1.91
log
@For PROG_CXX DESTDIR builds, pull in -lstdc++ and -lm regardless
of GCC version.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.90 2002/01/02 23:48:19 thorpej Exp $
d95 3
@


1.90
log
@Remove the "MKLINT=no if HAVE_GCC3" hack; a patch to support lint
comments has been submitted to the GCC maintainers, so if you're
using a GCC 3.x that doesn't support lint, set MKLINT=no in mk.conf.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.89 2002/01/01 01:44:29 thorpej Exp $
a452 6

HAVE_GCC3	If defined and PROG_CXX is defined by the program's
		Makefile, causes <bsd.prog.mk> to pull in additional
		C++ support libraries required for programs compiled
		with GNU C++ 3.x.  This is intended as a temporary
		measure to ease the transition to GCC 3.x.
@


1.89
log
@If HAVE_GCC3 is set, force MKLINT to "no", since GCC 3.x's C pre-processor
does not yet support our lint(1).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.88 2002/01/01 01:38:25 thorpej Exp $
a202 4

HAVE_GCC3	If defined, causes <bsd.own.mk> to set MKLINT to "no",
		since GCC 3.x's C pre-processor lacks the necessary
		support for NetBSD's lint(1).
@


1.88
log
@Per a suggestion from matthew green, PROG_CXX takes the place of
PROG for C++ programs.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.87 2002/01/01 00:34:26 thorpej Exp $
d203 4
@


1.87
log
@Document PROG_CXX and HAVE_GCC3.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.86 2001/12/31 23:11:05 thorpej Exp $
d399 4
a402 2
PROG_CXX	If defined, causes <bsd.prog.mk> to link the program with
		the C++ compiler rather than the C compiler.
@


1.86
log
@Document MKBFD, MKGDB, MKGCC.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.85 2001/12/28 01:32:40 lukem Exp $
d399 3
d452 5
@


1.85
log
@* Add user-controlled mk.conf variables
	- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.84 2001/11/19 16:20:26 kleink Exp $
d80 5
d88 7
@


1.84
log
@NLS is commonly expanded to Native Language Support, not National Language
Support.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.83 2001/11/19 04:45:06 perry Exp $
d210 9
d460 2
d590 6
@


1.83
log
@document/rename UNPRIVED
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.82 2001/11/01 07:17:17 lukem Exp $
d230 1
a230 1
NLSDIR		Base path for National Language Support files installation.
d233 1
a233 1
NLSGRP		National Language Support files group. [wheel]
d235 1
a235 1
NLSOWN		National Language Support files owner. [root]
d237 1
a237 1
NLSMODE		National Language Support files mode. [${NONBINMODE}]
@


1.82
log
@Move -Wcast-qual from WARNS=2 to WARNS=3 (a new level), because it
generates too many false positives that require gross amounts of
workaround, and the other WARNS=2 stuff is quite useful. Per discussion
with simonb & christos.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.81 2001/10/30 15:17:16 wiz Exp $
d75 4
a78 2
UNPRIVILEGED	If defined, don't set the owner/group/mode when installing
		files or directories.  This allows a non-root "make install".
@


1.81
log
@Add support for INCSNAME and INCSNAME_<file> to bsd.inc.mk.
Same syntax as FILESNAME and FILESNAME_<file>, allows to install
includes under a different name.
Okay'd by christos.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.80 2001/10/13 06:06:55 jmc Exp $
d548 4
a551 2
WARNS		Crank up gcc warning options; WARNS=1 and WARNS=2 are the two
		distinct levels.
@


1.80
log
@Add MTREE var definition to list for sys.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.79 2001/06/19 13:42:11 wiz Exp $
d503 1
a503 1
INCS	The list of include files
d505 7
a511 1
INCSDIR	The location to install the include files.
@


1.79
log
@`existent', not `existant'
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.78 2001/06/18 17:04:44 simonb Exp $
d125 2
@


1.78
log
@Add a new make variable "MKSOFTFLOAT".  If not set to "no", it adds
"-msoft-float" to COPTS and FOPTS, and possibly builds soft-float
library support (port specific).
Defaults to "no".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.77 2001/05/31 05:04:41 simonb Exp $
d69 1
a69 1
                out of date or non-existant targets.
@


1.77
log
@Update a comment about OBJECT_FMT - some m68k machines are ELF too.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.76 2001/03/10 11:00:37 fair Exp $
d294 4
@


1.76
log
@Add the following text to answer PR 10650:

LDSTATIC        Control program linking; if set blank, link everything
                dynamically. If set to "-static", link everything statically.
                If not set, programs link according to their makefile.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.75 2001/02/01 20:27:06 agc Exp $
d291 2
a292 1
		and "i386", or set to "a.out" on other architectures].
@


1.75
log
@+ clean up the English in one sentence
+ sync with reality, and document "MKMAN= no" in preference to "NOMAN= noman"
+ get in quick before the 80-column police notice what we were doing
+ spell "existence" correctly
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.74 2001/01/24 07:57:07 itojun Exp $
d199 4
@


1.74
log
@note that MKNLS controls build of /usr/share/locale too
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.73 2001/01/05 12:59:25 blymn Exp $
d43 1
a43 1
multiple programs in a single directory.  It's a lot easier split up the
d455 1
a455 1
	NOMAN=	noman
d474 2
a475 1
started.  See make(1) for some caveats on use of .WAIT and other special sources.
d536 6
a541 5
		WFORMAT belongs in individual makefiles and/or Makefile.inc files.
		(set WFORMAT=1 in individual makefiles if a program is
		not security critical and is doing bizarre things with
		format strings which would be even uglier if rewritten)
		FORMAT_AUDIT should go in mk.conf if you're doing format-string auditing.
d612 1
a612 1
it exists.  Otherwise make(1) looks for the existance of a
@


1.73
log
@Added libform.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.72 2000/12/30 14:34:51 sommerfeld Exp $
d90 2
a91 1
MKNLS		If "no", don't build or install the NLS files.
@


1.72
log
@Correct typos (SUBDIR, not SUBDIRS).
Document use of .WAIT in SUBDIR
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.71 2000/12/30 04:11:34 itojun Exp $
d387 1
@


1.71
log
@document host build tools (like rpcgen) in bsd.README.  PR 11839
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.70 2000/10/31 10:49:01 itojun Exp $
d464 1
a464 1
the directories listed in the variable SUBDIRS, the specified directory 
d467 6
a472 1
the variable SUBDIRS.
@


1.70
log
@add ${LIBINTL} for use with DPADD.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.69 2000/10/04 19:27:45 sommerfeld Exp $
d112 12
@


1.69
log
@If FORMAT_AUDIT is set, and WFORMAT is set and > 1, turn on
-Wnetbsd-format-audit for extra-stringent format checking.
WFORMAT belongs in individual makefiles and/or Makefile.inc files.
FORMAT_AUDIT should go in mk.conf if you're doing format-string auditing.
(set WFORMAT=1 in individual makefiles if a program is
not security critical and is doing bizarre things with
format strings which would be even uglier if rewritten)
FORMAT_AUDIT may go away in time (i.e., default to on)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.68 2000/09/30 12:27:35 itojun Exp $
d377 1
@


1.68
log
@remove obsoleted crypto-related variables.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.67 2000/09/30 12:21:52 itojun Exp $
d507 14
@


1.67
log
@always compile RSA into libcrypto.
MKCRYPTO disables the whole crypto tree, and in that case,
we will not have RSA (nor libcrypto) with us.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.66 2000/09/30 00:23:37 itojun Exp $
a238 5
MKCRYPTO_RSA	Obsoleted; no effect.  RSA functions are always built
		(as long as MKCRYPTO is set to "yes").

NOCRYPTO_RSA	Obsoleted; no effect.

a241 2
NOCRYPTO_IDEA	Obsoleted; no effect.

a243 2

NOCRYPTO_RC5	Obsoleted; no effect.
@


1.66
log
@repair openssl (libcrypto) for non-32bit architecture.
don't use unsigned long where 32bit unsigned variable is asked for.
use u_int32_t.  (not sure if uint32_t is better or not, but anyway,
u_int32_t <-> uint32_t should not raise binary compatibility issue)
PR10921.

TODO: have arch-dependent Makefiles where we supply -DFOO for optimization.
(do not change size of variable though)

XXX: we should actually nuke all other #ifdef in /usr/include/openssl/*.h,
however, that needs a lot of work and will make future openssl upgrade harder.

remove RC5 and IDEA by default.  build them separately as
libcrypto_{rc5,idea}.a.  put dummy function, which is "warning to stderr
and exit(1)".  NOCRYPTO_{RC5,IDEA} are obsoleted.
PR10883.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.65 2000/09/10 19:10:50 jlam Exp $
d239 2
a240 3
MKCRYPTO_RSA	If set to "no", RSA support will not be built into
		the system's cryptography libraries.  This implies
		that SSLv2 support will not be present.  Defaults to "yes".
d242 1
a242 1
NOCRYPTO_RSA	If set, it is equivalent to setting MKCRYPTO_RSA to "no".
@


1.65
log
@Correct description of when "NOPIC" is set.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.64 2000/06/23 06:11:05 thorpej Exp $
d245 2
a246 2
MKCRYPTO_IDEA	If set to "no", IDEA support will not be built into
		the system's cryptography libraries.  Defaults to "yes".
d248 1
a248 1
NOCRYPTO_IDEA	If set, it is equivalent to setting MKCRYPTO_IDEA to "no".
d250 2
a251 2
MKCRYPTO_RC5	If set to "no", RC5 support will not be built into
		the system's cryptography libraries.  Defaults to "yes".
d253 1
a253 1
NOCRYPTO_RC5	If set, it is equivalent to setting MKCRYPTO_RC5 to "no".
@


1.64
log
@Remove the bsd.crypto.mk section, and describe the new MK... switches
related to system crypto support.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.63 2000/05/07 01:19:58 sjg Exp $
d277 1
a277 1
		is "sparc64", unset otherwise.]
@


1.63
log
@Document bsd.kernobj.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.62 2000/05/02 11:44:20 simonb Exp $
d234 29
a262 8
CRYPTOBASE	Select which cryptography code base to use when building
		cryptography support into the system.  See the
		bsd.crypto.mk section for more information.

EXPORTABLE_SYSTEM
		Forces CRYPTOBASE to the value "none" for compatibility
		with older NetBSD build environments.  See the bsd.crypto.mk
		section for more information.
a266 4
KERBEROS	Compile in support for Kerberos 4 authentication.

KERBEROS5	Compile in support for Kerberos 5 authentication.

a577 65

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.crypto.mk> contains variables related to building
cryptography support into the system.

It has no targets.

In order to get system-specific crypto configuration parameters,
bsd.crypto.mk will include <bsd.own.mk>, which in turn will include
the configuration file specified by the "MAKECONF" variable.  See
the <bsd.own.mk> section for more information.

bsd.crypto.mk requires the "SRCTOP" variable to be defined before
inclusion.  This variable contains the relative path to the top of
the source tree, with no trailing '/'.

The variable "CRYPTOBASE" may be set by the user to select which
cryptography code base will be used when building the system.  If
CRYPTOBASE is set to "none", no cryptography support will be built
into the system.  CRYPTOBASE should be set to the name of the crypto
sub-tree in the SRCTOP directory.  If CRYPTOBASE is not set,
bsd.crypto.mk will use the following algorithm to set the variable:

	.if exists(${SRCTOP}/crypto-us)
		CRYPTOBASE=crypto-us
	.elif exists(${SRCTOP}/crypto-intl)
		CRYPTOBASE=crypto-intl
	.else
		undef CRYPTOBASE
	.endif

Note that it is legal for the user to set CRYPTOBASE to a relative
path outside of the source directory.  For example:

	CRYPTOBASE= ../cryptosrc-intl/crypto-intl

If CRYPTOBASE is set and not set to "none", bsd.crypto.mk will use
CRYPTOBASE to set the "CRYPTOPATH" variable.  CRYPTOPATH is set to
the value "${SRCTOP}/${CRYPTOBASE}".

Once CRYPTOPATH is set by bsd.crypto.mk, it checks to see if the
path actually exists.  If it does not exist, the variable is undefined.
Program and library Makefiles may key off the definition of CRYPTOPATH
to determine if cryptography support is to be included in that program.
For example, a typical program Makefile should do the following:

	SRCTOP= ../..
	.include <bsd.crypto.mk>

	PROG= login
	SRCS= login.c
	.
	.
	.
	.if defined(CRYPTOPATH)
	.sinclude "${CRYPTOPATH}/usr.bin/login/Makefile.frag"
	.endif

The Makefile.frag included (if it exists) will now influence the build
of the login(1) program, specifying additional source files, libraries,
and CPP flags.

The "EXPORTABLE_SYSTEM" variable, if set, causes CRYPTOBASE to be set
to "none".  This is for compatibilty with older NetBSD build environments.
@


1.63.4.1
log
@Update from trunk:
Add MK... variables to enable/disable various aspects of building
crypto support into the system.  See share/mk/bsd.README for more
a full description.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.64 2000/06/23 06:11:05 thorpej Exp $
d234 8
a241 2
MKCRYPTO	If set to "no", no cryptography support will be built
		into the system.  Defaults to "yes".
d243 2
a244 24
NOCRYPTO	If set, it is equivalent to setting MKCRYPTO to "no".

MKCRYPTO_RSA	If set to "no", RSA support will not be built into
		the system's cryptography libraries.  This implies
		that SSLv2 support will not be present.  Defaults to "yes".

NOCRYPTO_RSA	If set, it is equivalent to setting MKCRYPTO_RSA to "no".

MKCRYPTO_IDEA	If set to "no", IDEA support will not be built into
		the system's cryptography libraries.  Defaults to "yes".

NOCRYPTO_IDEA	If set, it is equivalent to setting MKCRYPTO_IDEA to "no".

MKCRYPTO_RC5	If set to "no", RC5 support will not be built into
		the system's cryptography libraries.  Defaults to "yes".

NOCRYPTO_RC5	If set, it is equivalent to setting MKCRYPTO_RC5 to "no".

MKKERBEROS	If set to "no", disables building Kerberos (v4 or v5)
		support into various system utilities that support it.
		Defaults to "yes".  NOTE: This does not affect the
		building of the Kerberos libraries or infrastructure
		programs themselves.  To completely disable Kerberos,
		set MKCRYPTO to "no".
d246 1
a246 1
NOKERBEROS	If set, it is equivalent to setting MKKERBEROS to "no".
d248 1
a248 2
SKEY		Compile in support for S/key authentication. [yes, set
		unconditionally]
d561 65
@


1.63.4.2
log
@pullup (approved by releng-1-5)

repair openssl on non-32bit arch.  confirmed to work on alpha/i386/sparc64.
disable IDEA/RC5 by default.  they will be built as separate library,
libcrypto_{idea,rc5}.

cvs update -j1.65 -j1.68 share/mk/bsd.README
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc2/rc2cfb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc5/rc5cfb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/idea/i_cfb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc2/rc2ofb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc5/rc5ofb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/idea/i_ofb64.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc2/rc2_ecb.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc5/rc5_ecb.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/idea/i_ecb.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc2/rc2_cbc.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/idea/i_cbc.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc5/rc5_enc.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/rc2/rc2speed.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/rc5/rc5speed.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/idea/idea_spd.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/des/des_opts.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/cast/castopts.c
cvs update -j1.1 -j1.2 crypto/dist/openssl/crypto/x509v3/tabtest.c
cvs update -j1.1 -j1.3 crypto/dist/openssl/crypto/bn/divtest.c
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/md5/md5_dgst.c
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/idea/i_skey.c
cvs update -j1.3 -j1.4  lib/libcrypto/rc5.inc
cvs update -j1.3 -j1.4  lib/libcrypto/idea.inc
cvs update -j1.5 -j1.8  lib/libcrypto/srcs.inc
cvs update -j1.63 -j1.64  lib/Makefile
cvs update -j1.5 -j1.7 usr.bin/openssl/Makefile
cvs update -j1.8 -j1.9  lib/libcrypto/Makefile
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/mdc2/mdc2.h
cvs update -j1.1.1.1 -j1.3  crypto/dist/openssl/crypto/rc2/rc2.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/md2/md2.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/ssl/ssl3.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/rc4/rc4.h
cvs update -j1.1.1.1 -j1.3  crypto/dist/openssl/crypto/rc5/rc5.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/md5/md5.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/x509/x509.h
cvs update -j1.1.1.1 -j1.3  crypto/dist/openssl/crypto/idea/idea.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/sha/sha.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/dsa/dsa.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/rsa/rsa.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/hmac/hmac.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/ripemd/ripemd.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/opensslconf.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/dh/dh.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/lhash/lhash.h
cvs update -j1.1.1.2 -j1.3  crypto/dist/openssl/crypto/bf/blowfish.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/idea/idea_lcl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/cast/cast_lcl.h
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc2/rc2_locl.h
cvs update -j1.1.1.1 -j1.2  crypto/dist/openssl/crypto/rc4/rc4_locl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/rc5/rc5_locl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/md5/md5_locl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/sha/sha_locl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/ripemd/rmd_locl.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/bf/bf_locl.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/ssl/ssl_locl.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/ssl/ssl.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/pem/pem.h
cvs update -j1.1.1.2 -j1.2  crypto/dist/openssl/crypto/bn/bn.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/bio/bio.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/evp/evp.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/err/err.h
cvs update -j1.5 -j1.7  crypto/dist/openssl/crypto/des/des.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/e_os.h
cvs update -j1.1.1.1 -j1.3  crypto/dist/openssl/crypto/cast/cast.h
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/x509/x509_vfy.h
cvs update -j1.270 -j1.273 distrib/sets/lists/man/mi
cvs update -j1.274 -j1.275 distrib/sets/lists/man/mi
cvs update -j1.258 -j1.262 distrib/sets/lists/comp/mi
cvs update -j1.142 -j1.144 share/mk/bsd.own.mk
cvs update -j1.3 -j1.5 crypto/Makefile.openssl
cvs update -j1.1.1.2 -j1.2 crypto/dist/openssl/crypto/opensslconf.h.in

new files (tag added)
lib/libcrypto/man/*
lib/libcrypto/man.inc
lib/libcrypto_idea/Makefile
lib/libcrypto_rc5/Makefile
lib/libcrypto/rc5_skey_dummy.c
lib/libcrypto/rc5_enc_dummy.c
lib/libcrypto/i_cbc_dummy.c
lib/libcrypto/i_skey_dummy.c
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.63.4.1 2000/06/24 06:59:38 thorpej Exp $
d239 3
a241 2
MKCRYPTO_RSA	Obsoleted; no effect.  RSA functions are always built
		(as long as MKCRYPTO is set to "yes").
d243 1
a243 1
NOCRYPTO_RSA	Obsoleted; no effect.
d245 2
a246 2
MKCRYPTO_IDEA	If set to "yes", IDEA support will be built into
		libcrypto_idea.a.  Defaults to "no".
d248 1
a248 1
NOCRYPTO_IDEA	Obsoleted; no effect.
d250 2
a251 2
MKCRYPTO_RC5	If set to "yes", RC5 support will be built into
		libcrypto_rc5.a.  Defaults to "no".
d253 1
a253 1
NOCRYPTO_RC5	Obsoleted; no effect.
@


1.63.4.3
log
@MDC2 is a patented algorithm; don't ship it in default libcrypto.
MKCRYPTO_MDC2 will build a separate library, libcrypto_mdc2.
(itojun)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.63.4.2 2000/10/07 01:14:23 itojun Exp $
a247 3

MKCRYPTO_MDC2	If set to "yes", MDC2 support will be built into
		libcrypto_mdc2.a.  Defaults to "no".
@


1.62
log
@Add HTMLDOCDIR pointing to /usr/share/doc/html.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.61 2000/03/07 20:55:05 veego Exp $
d632 8
a639 6
make(1) looks for the existance of a subdirectory (or a symlink to a
directory) of the source directory into which built targets should be
placed.  If an environment variable named MAKEOBJDIR is set, make(1)
uses its value as the name of the object directory; failing that, make
first looks for a subdirectory named "obj.${MACHINE}", and if that
doesn't exist, it looks for "obj".
d666 29
@


1.61
log
@Remove unused libahdi.
It will be replaced in the future with a more generic libdisklabel.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.60 2000/02/05 20:54:12 jdc Exp $
d199 3
@


1.60
log
@Add libahdi entries.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.59 2000/01/17 21:21:55 jlam Exp $
a356 1
		LIBAHDI?=	${DESTDIR}/usr/lib/libahdi.a
@


1.59
log
@bsd.prog.mk doesn't define/use STRIP anymore -- it's now STRIPFLAG
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.58 2000/01/08 01:41:13 sommerfeld Exp $
d357 1
@


1.58
log
@improve text describing BSDSRCDIR/BSDOBJDIR
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.57 2000/01/06 19:09:35 drochner Exp $
d395 1
a395 1
STRIP		The flag passed to the install program to cause the binary
@


1.57
log
@correct confusing example, closes PR misc/9135 by Andreas Gustafsson
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.56 1999/12/01 03:33:52 sommerfeld Exp $
d639 6
a644 4
"no").  When the source directory is a subdirectory of ${BSDSRCDIR},
object directories are created in a separate object directory tree,
and a symlink to the object directory in that tree is created in the
source directory.
@


1.56
log
@Attempt to document what bsd.obj.mk does.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.55 1999/11/30 16:16:43 sommerfeld Exp $
d593 1
a593 1
	CRYPTOPATH= ../cryptosrc-intl/crypto-intl
@


1.55
log
@Add MKOBJDIRS make variable to bsd.own.mk, defaulting to "no" but
overrideable in mk.conf

Document in bsd.README; this is distinct from "MKOBJ", which controls
whether "make obj" does anything.

In the top-level makefile, if MKOBJDIRS != "no", do a "make obj" at an
appropriate point during a "make build".
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.54 1999/11/28 04:50:41 simonb Exp $
d623 36
@


1.54
log
@Add a MKPICLIB variable.  If set to "no", don't build an _pic.a library
and build shared objects from the .a library.  A symlink is installed
in /usr/lib so that the name "libfoo_pic.a" still exists for third party
software that explicitly wants an _pic.a library.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.53 1999/11/23 13:22:37 blymn Exp $
d92 5
a96 1
MKOBJ		If "no", don't create objdirs.
@


1.53
log
@Added libmenu library.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.52 1999/08/21 06:19:33 simonb Exp $
d529 5
@


1.52
log
@Document the UNPRIVILEGED make variable.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.51 1999/07/26 02:01:47 mrg Exp $
d369 1
@


1.52.4.1
log
@Pull up to last week's -current.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.56 1999/12/01 03:33:52 sommerfeld Exp $
d92 1
a92 5
MKOBJ		If "no", don't enable the rule which creates objdirs.
		"yes" by default.

MKOBJDIRS	If "no", don't create objdirs during a "make build".
		"no" by default.
a368 1
		LIBMENU?=	${DESTDIR}/usr/lib/libmenu.a
a528 5
MKPICLIB	If "no", don't build _pic.a libraries, and build the
		shared object libraries from the .a libraries.  A
		symlink is installed in ${DESTDIR}/usr/lib for the
		_pic.a library pointing to the .a library.

a612 36

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.obj.mk> defines targets related to the creation
and use of separated object and source directories.

make(1) looks for the existance of a subdirectory (or a symlink to a
directory) of the source directory into which built targets should be
placed.  If an environment variable named MAKEOBJDIR is set, make(1)
uses its value as the name of the object directory; failing that, make
first looks for a subdirectory named "obj.${MACHINE}", and if that
doesn't exist, it looks for "obj".

Object directories are not created automatically by make(1) if they
don't exist; you need to run a separate "make obj".  (This will happen
during a top-level build if "MKOBJDIRS" is set to a value other than
"no").  When the source directory is a subdirectory of ${BSDSRCDIR},
object directories are created in a separate object directory tree,
and a symlink to the object directory in that tree is created in the
source directory.

Several variables used by <bsd.obj.mk> control exactly what
directories and links get created during a "make obj":

MAKEOBJDIR	If set, this is the component name of the object
		directory.

OBJMACHINE	If this is set but MAKEOBJDIR is not set, creates
		object directories or links named "obj.${MACHINE}";
		otherwise, just creates ones named "obj".

USR_OBJMACHINE  If set, and the current directory is a subdirectory of
		${BSDSRCDIR}, create object directory in the
		corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
		otherwise, create it in the corresponding subdirectory
		of ${BSDOBJDIR}
@


1.51
log
@update CRYPTO example to use ".sinclude"
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.50 1999/07/13 17:58:42 thorpej Exp $
d74 3
@


1.51.2.1
log
@	added Makefile flag "MORTALINSTALL" which removes -o/-g from
	install arguments:
MORTALINSTALL	If "yes", then omit setting group and ownership on
		all files that are installed. This can be used to
		permit non-root to install files, particularly
		useful when working across NFS, or when $DESTDIR
		is local. Do not use on production systems.

	This relates to PR bin/3563.
	These files are being checked into a branch because I want
	them carefully reviewed by various parties, and because they
	are not fully tested.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.51 1999/07/26 02:01:47 mrg Exp $
a99 6

MORTALINSTALL	If "yes", then omit setting group and ownership on
		all files that are installed. This can be used to
		permit non-root to install files, particularly
		useful when working across NFS, or when $DESTDIR
		is local. Do not use on production systems.
@


1.50
log
@Document bsd.crypto.mk, and update the OBJECT_FMT entry.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.49 1999/07/01 20:19:18 itojun Exp $
d601 1
a601 1
	.include "${CRYPTOPATH}/usr.bin/login/Makefile.frag"
d604 3
a606 2
The Makefile.frag included will now influence the build of the login(1)
program, specifying additional source files, libraries, and CPP flags.
@


1.49
log
@add LIBIPSEC for use from DPADD.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.48 1999/02/13 03:04:09 lukem Exp $
d224 4
d229 3
a231 1
		Do not build /usr/src/domestic, even if it is present.
d254 4
a257 3
OBJECT_FMT	Object file format. [set to "ELF" on  ports that use
		ELF -- currently if ${MACHINE_ARCH} is "alpha", "mips"
		or "powerpc" or  set to "a.out" on other ports].
d545 64
@


1.48
log
@don't bother supporting NOINFO (since it's a new thing); just support MKINFO=no
fix description of MKSHARE=no
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.47 1999/02/12 15:10:22 tv Exp $
d353 1
@


1.47
log
@Add doc for bsd.info.mk, and move the description of MKLINKLIB to the
bsd.lib.mk section (it should NEVER be set by mk.conf).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.46 1999/02/12 12:38:44 lukem Exp $
d97 3
a99 2
MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKMAN=no MKNLS=no".
		I.e, don't build documentation, man pages, NLS files, etc.
@


1.46
log
@for MKSHARE=no, set MKDOC=no MKMAN=no MKNLS=no, and for MKMAN=no, set
MKCATPAGES=no.  this simplifies various tests.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.45 1999/02/12 01:10:06 lukem Exp $
d62 3
a64 2
are not set by default. These should not be set by Makefiles; they're
for the user to define in /etc/mk.conf or on the make(1) command line:
d79 2
a80 8
MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
		Also:
			- don't install the .a libraries
			- don't install _pic.a libraries on PIC systems
			- don't build .a libraries on PIC systems
			- don't install the .so symlink on ELF systems
		I.e, only install the shared library (and the .so.major
		symlink on ELF).
d98 1
a98 2
		I.e, don't build documentation, info pages, man pages,
		NLS files, etc.
a154 2


d458 17
d507 9
@


1.45
log
@* Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
  MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
  variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.44 1998/11/07 09:40:35 erh Exp $
d90 1
d102 1
a102 1
MKSHARE		If "no", act as "MKDOC=no MKMAN=no MKNLS=no".
@


1.44
log
@Add a checkver target to bsd.lib.mk.  This target executes the checkver script to find installed shared libraries with major/minor versions that are too big.  The realinstall target now depends upon this target so this check is done whenever a library is installed.  The check may be disabled by setting NOCHECKVER.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.43 1998/09/15 14:56:37 agc Exp $
d61 3
a63 2
There are two variables that control how things are made/installed that
are not set by default:
d65 2
a66 2
BUILD 		If set 'make install' checks that the targets in the source
                directories are up-to-date and remakes them if they
d70 34
a103 3
UPDATE 		'make install' only installs targets that are more recently
                modified in the source directories that their installed
                counterparts.
d250 1
a250 1
		is "vax" "powerpc", unset otherwise.]
@


1.43
log
@Remove out of date explanations of <bsd.port.mk> and <bsd.port.subdir.mk>,
which are now in the pkgsrc collection as bsd.pkg.mk and bsd.pkg.subdir.mk.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.42 1998/08/09 14:46:19 lukem Exp $
d443 3
a445 1
includes, install, lint, and tags.  It has a limited number of suffixes,
d465 7
@


1.42
log
@add distclean as a synonym for cleandir
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.41 1998/07/27 00:58:05 tv Exp $
a477 15

The include file <bsd.port.mk> is used in the FreeBSD ports system.
Various common definitions for use in the FreeBSD ports are specified
here.  The only main changes between the NetBSD version and the
original FreeBSD version are that some NetBSD paths have been
changed (PORTSDIR is now /usr/pkgsrc, rather than the /usr/ports
directory used in FreeBSD, and PREFIX is now /usr/pkg, rather than
/usr/local directory used in FreeBSD).

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.port.subdir.mk> is used in the FreeBSD ports
system, and controls the sub-directory usage in the system. Once
again, the only change is the PORTSDIR veriable (now /usr/pkgsrc
rather than the /usr/ports used in FreeBSD).
@


1.41
log
@- Add MACHINE_GNU_ARCH entries for mipseb and mipsel.  Temporarily remap
  mips to mipsel.
- Remove the unused definition of NOSHLIB for powerpc.  NOPIC is being
  used for this purpose.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.40 1998/07/22 18:22:35 perry Exp $
d246 1
@


1.40
log
@Remove obsolete note that NOLINT is set by default.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.39 1998/06/12 23:28:53 cgd Exp $
a220 3

NOSHLIB		Do not build shared libraries [set if ${MACHINE_ARCH}
		is "powerpc", unset otherwise].
@


1.39
log
@add bsd.kinc.mk, a template to support the new kernel include file
installation mechanism.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.38 1998/05/13 13:58:00 simonb Exp $
d220 1
a220 1
NOLINT		Do not build lint libraries. [set, set unconditionally]
@


1.38
log
@Fix typo (s/OBJECT_FMAT/OBJECT_FMT/)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.37 1998/05/05 17:15:05 tv Exp $
d424 8
@


1.37
log
@Fix definition for SRCS:  "If PROG is not defined" -> "If SRCS is not
defined" as noticed by prlw1@@cam.ac.uk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.36 1998/05/03 16:39:45 ross Exp $
d225 1
a225 1
OBJECT_FMAT	Object file format. [set to "ELF" on  ports that use
@


1.36
log
@English.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.35 1998/04/13 12:03:07 lukem Exp $
d307 1
a307 1
SRCS		List of source files to build the program.  If PROG is not
@


1.35
log
@only read /etc/mk.conf once (stops += variables getting double assignments)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.34 1998/02/26 08:46:09 lukem Exp $
d45 1
a45 1
the "obj" directory stuff work right, not because we switch to a new version
@


1.34
log
@change default ownership from bin:bin to root:wheel
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.33 1998/02/23 10:09:31 jonathan Exp $
d276 2
@


1.33
log
@More table-driven changes for different toolchains:
  * new bsd.own.mk variable OBJECT_FMT with values "a.out" or "ELF".
  * use OBJECT_FMT in Makefile tests that depend on toolchain.
  * Add new bsd.own.mk variable NOSHLIB that, if set indicates a given
    port doesnt yet do shared libraries. Set on powerpc.
  * Document new feature-test variables in src/share/mk/bsd.README.
Tested on i386, mips, fakedup Alpha environment.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.32 1998/02/04 07:08:56 mikel Exp $
d136 1
a136 1
BINGRP		Binary group. [bin]
d138 1
a138 1
BINOWN		Binary owner. [bin]
d146 1
a146 1
MANGRP		Manual group. [bin]
d148 1
a148 1
MANOWN		Manual owner. [bin]
d167 1
a167 1
DOCGRP		Documentation group. [bin]
d169 1
a169 1
DOCOWN		Documentation owner. [bin]
d176 1
a176 1
NLSGRP		National Language Support files group. [bin]
d178 1
a178 1
NLSOWN		National Language Support files owner. [bin]
@


1.32
log
@STRIP -> STRIPFLAG; from Jim Bernard in PR pkg/4884
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.31 1997/09/30 23:16:03 hubertf Exp $
d218 1
a218 1
		is "mips", "vax", "alpha" or "arm32", unset otherwise.]
d221 8
@


1.31
log
@/usr/pkg/src -> /usr/pkgsrc
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.30 1997/08/20 10:53:04 agc Exp $
d182 1
a182 1
STRIP		The flag passed to the install program to cause the binary
@


1.31.2.1
log
@Pull up 1.32 (hfeyrer)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.32 1998/02/04 07:08:56 mikel Exp $
d182 1
a182 1
STRIPFLAG	The flag passed to the install program to cause the binary
@


1.30
log
@Document the import of FreeBSD's <bsd.port.mk> and <bsd.port.subdir.mk>,
as used in their `ports' system.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.29 1997/05/31 21:21:55 cjs Exp $
d467 1
a467 1
changed (PORTSDIR is now /usr/pkg/src, rather than the /usr/ports
d475 1
a475 1
again, the only change is the PORTSDIR veriable (now /usr/pkg/src
@


1.29
log
@Back out BUILDDIR and NOINSTALL changes.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.26 1997/05/18 20:21:53 kleink Exp $
d460 17
@


1.28
log
@fix typo
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.27 1997/05/26 03:57:52 cjs Exp $
a12 46
CONFIGURATION:

`Global' configuration variables you wish to use for all builds
may be placed in the file pointed to by the MAKECONF variable, or
/etc/mk.conf if MAKECONF is unset. Configuration for a certain
directory tree may be placed in Build.conf at the root of that
tree. The first instance of make will search from the source
directory upwards for a Build.conf file; when it finds one, it will
include it and remember the location in the BUILDCONF variable,
which will be passed on to any further instances of make in MAKEFLAGS.
If you wish to use a specific Build.conf file, you can just specify
it (using a full path) in the BUILDCONF variable when you run make.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

BUILD DIRECTORIES:

These makefiles use the concept of a `build directory,' which holds
include files and libraries that the programs are built against.
This allows you to build an entire new system, including new
libraries, without having to install its include files or libraries
into the currently running system.

When you start make it will check for the existence of the directory
named in BSDOBJDIR, with your architecture name appended if
USR_OBJMACHINE is defined. If that directory exists, it assumes
that you are compiling your object files to it  and it will create
a subdirectory under it called `build' to be your build directory.
`make includes' will install include files to that, rather than to
DESTDIR, and when the libraries are compiled links to them will be
placed in the build directory as well.

Please note that for this to work BSDOBJDIR must be set while you
are doing your compile, not just while you're doing the `make obj'
(as previously). The actual location of the object files will still
be wherever the symbolic links for `obj' or `obj.machine' in your
source tree point.

If you are not using a separate object tree (you are putting the
object files in the source directories or in obj directories under
the source directories), DESTDIR will be used as the build directory,
and you will need to install include files and libraries there by
hand before you can compile other programs.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

d120 4
a123 7
This file is safe to include more than once, and may be included
at the top of your makefile, rather than the bottom, if your makefile
needs any of the information it defines.

To get system- and build-specific configuration parameters, bsd.own.mk
will look for the MAKECONF and BUILDCONF files as described under
the `Configuration' section above.
d408 2
a409 8
The include file <bsd.inc.mk> defines the following targets:

	install:
		Install the include files in their final home,
		under DESTDIR.

	includes:
		Install the include files under BUILDDIR.
d411 1
a411 1
INCS		The list of include files
d413 1
a413 2
INCSDIR		The location to install the include files (relative
		to DESTDIR or BUILDDIR).
@


1.28.2.1
log
@Update to 1.31.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.31 1997/09/30 23:16:03 hubertf Exp $
a515 17

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.port.mk> is used in the FreeBSD ports system.
Various common definitions for use in the FreeBSD ports are specified
here.  The only main changes between the NetBSD version and the
original FreeBSD version are that some NetBSD paths have been
changed (PORTSDIR is now /usr/pkgsrc, rather than the /usr/ports
directory used in FreeBSD, and PREFIX is now /usr/pkg, rather than
/usr/local directory used in FreeBSD).

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The include file <bsd.port.subdir.mk> is used in the FreeBSD ports
system, and controls the sub-directory usage in the system. Once
again, the only change is the PORTSDIR veriable (now /usr/pkgsrc
rather than the /usr/ports used in FreeBSD).
@


1.27
log
@These updates to the build allow building against include files
and libs in the object tree, if you use a separate object tree,
while maintaining backward compatability with other build methods.
See the notes in src/share/mk/bsd.README for full details. Note
that the `make includes' target now only installs the include files
in the build directory (if you use one--otherwise they go in DESTDIR
just like before); `make install' will install include files in
DESTDIR.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.26 1997/05/18 20:21:53 kleink Exp $
d457 1
a457 1
The include file <bsd.inc.mk> defines the follwoing targets:
@


1.26
log
@Add libposix.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.25 1997/04/18 14:30:24 christos Exp $
d13 46
d166 7
a172 4
To get system-specific configuration parameters, bsd.own.mk will try to
include the file specified by the "MAKECONF" variable.  If MAKECONF is not
set, or no such file exists, the system make configuration file, /etc/mk.conf
is included.  These files may define any of the variables described below.
d457 8
a464 2
The include file <bsd.inc.mk> defines the includes target and uses two
variables:
d466 1
a466 1
INCS	The list of include files
d468 2
a469 1
INCSDIR	The location to install the include files.
@


1.25
log
@Add ${LIBNTP}
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.24 1997/03/29 08:02:47 mikel Exp $
d329 1
@


1.24
log
@merge lite-2 changes (mostly SCCSids)
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.23 1997/03/27 17:33:35 christos Exp $
d325 1
@


1.23
log
@Put the FILES generated rules in a separate .mk file since both bsd.prog.mk
and bsd.lib.mk use them.
@
text
@d1 2
a2 2
#	$NetBSD: bsd.README,v 1.22 1997/03/27 09:10:09 mycroft Exp $
#	@@(#)bsd.README	5.1 (Berkeley) 5/11/90
d237 1
a237 1
		Errs, errs, mklog, and core.
@


1.22
log
@Remove knowledge of HIDEGAME from here.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.21 1997/03/24 21:54:13 christos Exp $
d396 7
a402 1
The include file <bsd.links.mk> handles the LINKS and SYMLINKS targets.
@


1.21
log
@make rules update:
- add UPDATE and BUILD features
- add new FILES, INCS, SCRIPTS variables
- allow man pages source installation
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.20 1997/03/22 22:33:53 perry Exp $
a267 4

HIDEGAME	If HIDEGAME is defined, the binary is installed in
		/usr/games/hide, and a symbolic link is created to
		/usr/games/dm.
@


1.20
log
@Fix SYMLINKS not to include DESTDIR in the link itself
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.19 1997/03/13 02:45:58 perry Exp $
d59 13
a71 1
object.
d83 1
a83 1
It has a single target:
d86 3
a88 1
		Install the manual pages and their links.
d128 2
d152 2
d298 3
d312 30
a341 17
			LIBC		/lib/libc.a
			LIBCOMPAT	/usr/lib/libcompat.a
			LIBCRYPT	/usr/lib/libcrypt.a
			LIBCURSES	/usr/lib/libcurses.a
			LIBDBM		/usr/lib/libdbm.a
			LIBDES		/usr/lib/libdes.a
			LIBL		/usr/lib/libl.a
			LIBKDB		/usr/lib/libkdb.a
			LIBKRB		/usr/lib/libkrb.a
			LIBKVM		/usr/lib/libkvm.a
			LIBM		/usr/lib/libm.a
			LIBMP		/usr/lib/libmp.a
			LIBPC		/usr/lib/libpc.a
			LIBPLOT		/usr/lib/libplot.a
			LIBRPC		/usr/lib/sunrpc.a
			LIBTERM		/usr/lib/libterm.a
			LIBUTIL		/usr/lib/libutil.a
d354 11
d397 13
@


1.19
log
@add SYMLINKS, by analogy to LINKS. Vetted by Christos.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.18 1997/01/13 00:54:23 mark Exp $
d271 2
a272 1
                Syntax is identical to LINKS.
@


1.18
log
@The arm32 architecture also needs to set NOPIC.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.17 1996/04/13 02:08:08 thorpej Exp $
d269 3
@


1.17
log
@Add the ability to override defaults in bsd.own.mk more easily, by
looking for "${MAKECONF}", or failing that, "/etc/mk.conf" and including
the first one it finds, if it exists.  From Chris Demetriou <cgd@@netbsd.org>,
PR #1970.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.16 1996/04/04 02:05:03 jtc Exp $
d200 1
a200 1
		is "mips", "vax", or "alpha", unset otherwise.]
@


1.16
log
@Added new standard target "includes" (used to install header files) to
bsd.subdir.mk.  Added some documentation to bsd.README.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.15 1996/01/22 22:46:06 cgd Exp $
d100 3
a102 2
The include file <bsd.own.mk> contains the owners, groups, etc. for both
manual pages and binaries.
d106 7
a112 2
It sets the following variables, if they are not already defined (defaults
are in brackets):
d175 4
a178 3
Additionally, the following variables may be set to modify the behaviour
of the system build process (default values are in brackets along with
comments, if set by bsd.own.mk):
d204 1
a204 1
This file is generally useful when building your own Makefiles so that
@


1.15
log
@clean up bits that state which man page section numbers are allowed (section
9 now exists).  Document that variables in bsd.own.mk that were not previously
documented.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.14 1995/12/13 01:25:05 cgd Exp $
d206 1
a206 1
It has seven targets:
d219 2
d335 6
a340 6
subdirectories.  It has the same seven targets as <bsd.prog.mk>: all, clean,
cleandir, depend, install, lint, and tags.  For all of the directories
listed in the variable SUBDIRS, the specified directory will be visited
and the target made.  There is also a default target which allows the
command "make subdir" where subdir is any directory listed in the variable
SUBDIRS.
d353 3
a355 3
the same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend,
install, lint, and tags.  It has a limited number of suffixes, consistent
with the current needs of the BSD tree.
@


1.14
log
@add "CFLAGS += -Werror" to bsd.sys.mk, and update various bits of
documentation to explain bsd.sys.mk's purpose more clearly.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.13 1995/10/22 00:45:54 christos Exp $
d89 1
a89 1
MAN		The manual pages to be installed (use a .1 - .8 suffix).
d91 1
a91 1
MLINKS		List of manual page links (using a .1 - .8 suffix).  The
d105 46
a150 1
It sets/uses the following variables:
d152 1
a152 1
BINGRP		Binary group.
d154 1
a154 1
BINOWN		Binary owner.
d156 1
a156 1
BINMODE		Binary mode.
d161 1
a161 1
		stripped/not-stripped using a single nob.
d167 8
a174 1
		a single nob.
d176 12
a187 1
MANDIR		Base path for manual installation.
d189 1
a189 1
MANGRP		Manual group.
d191 3
a193 1
MANOWN		Manual owner.
d195 1
a195 1
MANMODE		Manual mode.
d261 1
a261 1
MAN		Manual pages (should end in .1 - .8).  If no MAN variable is
d371 1
a371 1
MAN		The manual pages to be installed (use a .1 - .8 suffix).
@


1.13
log
@Added include file <bsd.sys.mk> that contains lex and yacc "parallel aware"
rules. These rules are not turned on by default; they are enabled by setting
the PARALLEL variable.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.12 1995/09/24 23:49:06 christos Exp $
d278 4
a281 6
<bsd.lib.mk>.  It contains a set of rules for lex and yacc that
can be used when multiple lex and yacc files are present in the
same directory, and their respective targets are made in parallel.
Since it renames the yacc output include files these rules are not
used by default. They can be enabled by setting the PARALLEL variable
in the Makefile.
@


1.12
log
@- In preparation for parallel makes fix the library rules so that they
  don't use a.out as intermediate output.
- Note in the README file that we cannot fix the xstr stuff.
  We still need to fix lex and yacc.
- Allow overriding of the variables in sys.mk
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.11 1995/01/13 00:27:49 jtc Exp $
d274 10
@


1.11
log
@Removed sentance that stated that each *.mk file had a cooresponding
*.rd file.  All the documentation is in bsd.README.  Fixes PR #681.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.10 1995/01/02 23:59:01 cgd Exp $
d232 2
a233 1
		strings, using xstr(1).
@


1.10
log
@add info about LIB, as pointed out by jhawk@@MIT.EDU
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.9 1994/12/22 12:22:59 cgd Exp $
d6 1
a6 2
convention, named with the suffix ".mk".  Each ".mk" file has a
corresponding ".rd" file which is an explanation of the ".mk" file.
@


1.9
log
@oops; fix a bogon.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.8 1994/12/22 09:20:40 cgd Exp $
d283 2
@


1.8
log
@specify man pages differently, and document how.
@
text
@d1 1
a1 1
#	$NetBSD: bsd.README,v 1.7 1994/06/30 05:31:09 cgd Exp $
d255 1
a255 1
	MAN2=	foo.0
@


1.7
log
@RCSID frobbing, and minor sanity adjustments.
@
text
@d1 1
a1 1
#	$NetBSD$
d90 1
a90 1
MAN1 ... MAN8	The manual pages to be installed (use a .0 suffix).
d197 2
a198 2
MAN1...MAN8	Manual pages (should end in .0).  If no MAN variable is
		defined, "MAN1=${PROG}.0" is assumed.
d296 1
a296 1
MAN1 ... MAN8	The manual pages to be installed (use a .0 suffix).
@


1.6
log
@add LIBKVM
@
text
@d1 1
@


1.5
log
@Fixed documentation for DPADD and LDADD.
@
text
@d222 1
@


1.4
log
@change libraries to use ${RANLIB} rather than "ranlib" explicitly,
also, ranlib them when they're made, so /usr/obj can be read-only
@
text
@d185 1
a185 1
			LDFILES=-lutil -lcompat
d209 1
a209 1
			SRCLIB=${LIBCOMPAT} ${LIBUTIL}
@


1.3
log
@added definition for DPADD library variable LIBCRYPT.
@
text
@d307 1
a307 1
Libraries are ranlib'd before installation.
@


1.2
log
@various changes to default make rules.  from patch 101.
note that only the "sensible" changes in patch 101 are implemented.
@
text
@d215 1
@


1.1
log
@Initial revision
@
text
@d118 6
@


1.1.1.1
log
@initial import of 386bsd-0.1 sources
@
text
@@


1.1.1.2
log
@import 4.4BSD-Lite2 versions
@
text
@d1 1
a1 1
#	@@(#)bsd.README	8.2 (Berkeley) 4/2/94
d141 1
a141 1
		Errs, errs, mklog, and ${PROG}.core.
@
