head	1.111;
access;
symbols
	netbsd-11-0-RC4:1.111
	netbsd-11-0-RC3:1.111
	netbsd-11-0-RC2:1.111
	netbsd-11-0-RC1:1.111
	perseant-exfatfs-base-20250801:1.111
	netbsd-11:1.111.0.4
	netbsd-11-base:1.111
	netbsd-10-1-RELEASE:1.108
	perseant-exfatfs-base-20240630:1.111
	perseant-exfatfs:1.111.0.2
	perseant-exfatfs-base:1.111
	netbsd-8-3-RELEASE:1.103
	netbsd-9-4-RELEASE:1.107
	netbsd-10-0-RELEASE:1.108
	netbsd-10-0-RC6:1.108
	netbsd-10-0-RC5:1.108
	netbsd-10-0-RC4:1.108
	netbsd-10-0-RC3:1.108
	netbsd-10-0-RC2:1.108
	netbsd-10-0-RC1:1.108
	netbsd-10:1.108.0.2
	netbsd-10-base:1.108
	netbsd-9-3-RELEASE:1.107
	cjep_sun2x-base1:1.107
	cjep_sun2x:1.107.0.8
	cjep_sun2x-base:1.107
	cjep_staticlib_x-base1:1.107
	netbsd-9-2-RELEASE:1.107
	cjep_staticlib_x:1.107.0.6
	cjep_staticlib_x-base:1.107
	netbsd-9-1-RELEASE:1.107
	phil-wifi-20200421:1.107
	phil-wifi-20200411:1.107
	is-mlppp:1.107.0.4
	is-mlppp-base:1.107
	phil-wifi-20200406:1.107
	netbsd-8-2-RELEASE:1.103
	netbsd-9-0-RELEASE:1.107
	netbsd-9-0-RC2:1.107
	netbsd-9-0-RC1:1.107
	phil-wifi-20191119:1.107
	netbsd-9:1.107.0.2
	netbsd-9-base:1.107
	phil-wifi-20190609:1.107
	netbsd-8-1-RELEASE:1.103
	netbsd-8-1-RC1:1.103
	pgoyette-compat-merge-20190127:1.103.12.2
	pgoyette-compat-20190127:1.106
	pgoyette-compat-20190118:1.106
	pgoyette-compat-1226:1.106
	pgoyette-compat-1126:1.106
	pgoyette-compat-1020:1.106
	pgoyette-compat-0930:1.105
	pgoyette-compat-0906:1.103
	netbsd-7-2-RELEASE:1.97.2.1
	pgoyette-compat-0728:1.103
	netbsd-8-0-RELEASE:1.103
	phil-wifi:1.103.0.14
	phil-wifi-base:1.103
	pgoyette-compat-0625:1.103
	netbsd-8-0-RC2:1.103
	pgoyette-compat-0521:1.103
	pgoyette-compat-0502:1.103
	pgoyette-compat-0422:1.103
	netbsd-8-0-RC1:1.103
	pgoyette-compat-0415:1.103
	pgoyette-compat-0407:1.103
	pgoyette-compat-0330:1.103
	pgoyette-compat-0322:1.103
	pgoyette-compat-0315:1.103
	netbsd-7-1-2-RELEASE:1.97.2.1
	pgoyette-compat:1.103.0.12
	pgoyette-compat-base:1.103
	netbsd-7-1-1-RELEASE:1.97.2.1
	matt-nb8-mediatek:1.103.0.10
	matt-nb8-mediatek-base:1.103
	perseant-stdc-iso10646:1.103.0.8
	perseant-stdc-iso10646-base:1.103
	netbsd-8:1.103.0.6
	netbsd-8-base:1.103
	prg-localcount2-base3:1.103
	prg-localcount2-base2:1.103
	prg-localcount2-base1:1.103
	prg-localcount2:1.103.0.4
	prg-localcount2-base:1.103
	pgoyette-localcount-20170426:1.103
	bouyer-socketcan-base1:1.103
	pgoyette-localcount-20170320:1.103
	netbsd-7-1:1.97.2.1.0.4
	netbsd-7-1-RELEASE:1.97.2.1
	netbsd-7-1-RC2:1.97.2.1
	netbsd-7-nhusb-base-20170116:1.97.2.1
	bouyer-socketcan:1.103.0.2
	bouyer-socketcan-base:1.103
	pgoyette-localcount-20170107:1.103
	netbsd-7-1-RC1:1.97.2.1
	pgoyette-localcount-20161104:1.103
	netbsd-7-0-2-RELEASE:1.97
	localcount-20160914:1.103
	netbsd-7-nhusb:1.97.2.1.0.2
	netbsd-7-nhusb-base:1.97.2.1
	pgoyette-localcount-20160806:1.102
	pgoyette-localcount-20160726:1.102
	pgoyette-localcount:1.102.0.2
	pgoyette-localcount-base:1.102
	netbsd-7-0-1-RELEASE:1.97
	netbsd-7-0:1.97.0.4
	netbsd-7-0-RELEASE:1.97
	netbsd-7-0-RC3:1.97
	netbsd-7-0-RC2:1.97
	netbsd-7-0-RC1:1.97
	netbsd-5-2-3-RELEASE:1.63.2.2
	netbsd-5-1-5-RELEASE:1.63.2.2
	netbsd-6-0-6-RELEASE:1.84
	netbsd-6-1-5-RELEASE:1.84
	netbsd-7:1.97.0.2
	netbsd-7-base:1.97
	yamt-pagecache-base9:1.94
	yamt-pagecache-tag8:1.84
	netbsd-6-1-4-RELEASE:1.84
	netbsd-6-0-5-RELEASE:1.84
	tls-earlyentropy:1.94.0.2
	tls-earlyentropy-base:1.97
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.94
	riastradh-drm2-base3:1.94
	netbsd-6-1-3-RELEASE:1.84
	netbsd-6-0-4-RELEASE:1.84
	netbsd-5-2-2-RELEASE:1.63.2.2
	netbsd-5-1-4-RELEASE:1.63.2.2
	netbsd-6-1-2-RELEASE:1.84
	netbsd-6-0-3-RELEASE:1.84
	netbsd-5-2-1-RELEASE:1.63.2.2
	netbsd-5-1-3-RELEASE:1.63.2.2
	netbsd-6-1-1-RELEASE:1.84
	riastradh-drm2-base2:1.88
	riastradh-drm2-base1:1.88
	riastradh-drm2:1.88.0.2
	riastradh-drm2-base:1.88
	netbsd-6-1:1.84.0.12
	netbsd-6-0-2-RELEASE:1.84
	netbsd-6-1-RELEASE:1.84
	khorben-n900:1.88.0.6
	netbsd-6-1-RC4:1.84
	netbsd-6-1-RC3:1.84
	agc-symver:1.88.0.4
	agc-symver-base:1.88
	netbsd-6-1-RC2:1.84
	netbsd-6-1-RC1:1.84
	yamt-pagecache-base8:1.84
	netbsd-5-2:1.63.2.2.0.6
	netbsd-6-0-1-RELEASE:1.84
	yamt-pagecache-base7:1.84
	netbsd-5-2-RELEASE:1.63.2.2
	netbsd-5-2-RC1:1.63.2.2
	matt-nb6-plus-nbase:1.84
	yamt-pagecache-base6:1.84
	netbsd-6-0:1.84.0.10
	netbsd-6-0-RELEASE:1.84
	netbsd-6-0-RC2:1.84
	tls-maxphys:1.84.0.8
	tls-maxphys-base:1.97
	matt-nb6-plus:1.84.0.6
	matt-nb6-plus-base:1.84
	netbsd-6-0-RC1:1.84
	yamt-pagecache-base5:1.84
	yamt-pagecache-base4:1.84
	netbsd-6:1.84.0.4
	netbsd-6-base:1.84
	netbsd-5-1-2-RELEASE:1.63.2.2
	netbsd-5-1-1-RELEASE:1.63.2.2
	yamt-pagecache-base3:1.84
	yamt-pagecache-base2:1.84
	yamt-pagecache:1.84.0.2
	yamt-pagecache-base:1.84
	cherry-xenmp:1.83.0.2
	cherry-xenmp-base:1.83
	bouyer-quota2-nbase:1.83
	bouyer-quota2:1.80.0.2
	bouyer-quota2-base:1.83
	matt-mips64-premerge-20101231:1.80
	matt-nb5-mips64-premerge-20101231:1.63.2.1.4.1
	matt-nb5-pq3:1.63.2.2.0.4
	matt-nb5-pq3-base:1.63.2.2
	netbsd-5-1:1.63.2.2.0.2
	netbsd-5-1-RELEASE:1.63.2.2
	netbsd-5-1-RC4:1.63.2.2
	matt-nb5-mips64-k15:1.63.2.1.4.1
	netbsd-5-1-RC3:1.63.2.2
	netbsd-5-1-RC2:1.63.2.2
	netbsd-5-1-RC1:1.63.2.2
	netbsd-5-0-2-RELEASE:1.63.2.1.2.1
	matt-nb5-mips64-premerge-20091211:1.63.2.1
	matt-premerge-20091211:1.77
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.63.2.1
	matt-nb4-mips64-k7-u2a-k9b:1.63.2.1
	matt-nb5-mips64-u1-k1-k5:1.63.2.1
	matt-nb5-mips64:1.63.2.1.0.4
	netbsd-5-0-1-RELEASE:1.63.2.1
	jym-xensuspend-nbase:1.67
	netbsd-5-0:1.63.2.1.0.2
	netbsd-5-0-RELEASE:1.63.2.1
	netbsd-5-0-RC4:1.63.2.1
	netbsd-5-0-RC3:1.63.2.1
	netbsd-5-0-RC2:1.63.2.1
	jym-xensuspend:1.65.0.2
	jym-xensuspend-base:1.67
	netbsd-5-0-RC1:1.63.2.1
	netbsd-5:1.63.0.2
	netbsd-5-base:1.63
	matt-mips64-base2:1.62
	matt-mips64:1.56.0.14
	netbsd-4-0-1-RELEASE:1.54.2.2
	wrstuden-revivesa-base-3:1.61
	wrstuden-revivesa-base-2:1.61
	wrstuden-fixsa-newbase:1.54.2.2
	wrstuden-revivesa-base-1:1.58
	yamt-pf42-base4:1.58
	yamt-pf42-base3:1.58
	hpcarm-cleanup-nbase:1.58
	yamt-pf42-baseX:1.57
	yamt-pf42-base2:1.58
	wrstuden-revivesa:1.58.0.2
	wrstuden-revivesa-base:1.58
	yamt-pf42:1.57.0.2
	yamt-pf42-base:1.57
	mjf-devfs2:1.56.0.12
	mjf-devfs2-base:1.61
	keiichi-mipv6:1.56.0.10
	keiichi-mipv6-base:1.57
	mjf-devfs:1.56.0.8
	mjf-devfs-base:1.56
	matt-armv6-nbase:1.57
	matt-armv6-prevmlocking:1.56
	wrstuden-fixsa-base-1:1.54.2.2
	netbsd-4-0:1.54.2.2.0.4
	netbsd-4-0-RELEASE:1.54.2.2
	cube-autoconf:1.56.0.6
	cube-autoconf-base:1.56
	netbsd-4-0-RC5:1.54.2.2
	netbsd-4-0-RC4:1.54.2.2
	netbsd-4-0-RC3:1.54.2.2
	netbsd-4-0-RC2:1.54.2.2
	netbsd-4-0-RC1:1.54.2.2
	matt-armv6:1.56.0.4
	matt-armv6-base:1.56
	matt-mips64-base:1.56
	hpcarm-cleanup:1.56.0.2
	hpcarm-cleanup-base:1.56
	netbsd-3-1-1-RELEASE:1.46.2.1
	netbsd-3-0-3-RELEASE:1.46.2.1
	wrstuden-fixsa:1.54.2.2.0.2
	wrstuden-fixsa-base:1.54.2.2
	abandoned-netbsd-4-base:1.53
	abandoned-netbsd-4:1.53.0.2
	netbsd-3-1:1.46.2.1.0.4
	netbsd-3-1-RELEASE:1.46.2.1
	netbsd-3-0-2-RELEASE:1.46.2.1
	netbsd-3-1-RC4:1.46.2.1
	netbsd-3-1-RC3:1.46.2.1
	netbsd-3-1-RC2:1.46.2.1
	netbsd-3-1-RC1:1.46.2.1
	netbsd-4:1.54.0.2
	netbsd-4-base:1.54
	netbsd-3-0-1-RELEASE:1.46.2.1
	netbsd-3-0:1.46.2.1.0.2
	netbsd-3-0-RELEASE:1.46.2.1
	netbsd-3-0-RC6:1.46
	netbsd-3-0-RC5:1.46
	netbsd-3-0-RC4:1.46
	netbsd-3-0-RC3:1.46
	netbsd-3-0-RC2:1.46
	netbsd-3-0-RC1:1.46
	netbsd-2-0-3-RELEASE:1.44.2.1
	netbsd-2-1:1.44.2.1.0.4
	netbsd-2-1-RELEASE:1.44.2.1
	netbsd-2-1-RC6:1.44.2.1
	netbsd-2-1-RC5:1.44.2.1
	netbsd-2-1-RC4:1.44.2.1
	netbsd-2-1-RC3:1.44.2.1
	netbsd-2-1-RC2:1.44.2.1
	netbsd-2-1-RC1:1.44.2.1
	netbsd-2-0-2-RELEASE:1.44.2.1
	netbsd-3:1.46.0.2
	netbsd-3-base:1.46
	netbsd-2-0-1-RELEASE:1.44.2.1
	netbsd-2:1.44.2.1.0.2
	netbsd-2-base:1.44.2.1
	netbsd-2-0-RELEASE:1.44.2.1
	netbsd-2-0-RC5:1.44.2.1
	netbsd-2-0-RC4:1.44.2.1
	netbsd-2-0-RC3:1.44.2.1
	netbsd-2-0-RC2:1.44.2.1
	netbsd-2-0-RC1:1.44.2.1
	netbsd-2-0:1.44.0.2
	netbsd-2-0-base:1.44
	netbsd-1-6-PATCH002-RELEASE:1.15.2.1
	netbsd-1-6-PATCH002:1.15.2.1
	netbsd-1-6-PATCH002-RC4:1.15.2.1
	netbsd-1-6-PATCH002-RC3:1.15.2.1
	netbsd-1-6-PATCH002-RC2:1.15.2.1
	netbsd-1-6-PATCH002-RC1:1.15.2.1
	netbsd-1-6-PATCH001:1.15.2.1
	netbsd-1-6-PATCH001-RELEASE:1.15.2.1
	netbsd-1-6-PATCH001-RC3:1.15.2.1
	netbsd-1-6-PATCH001-RC2:1.15.2.1
	netbsd-1-6-PATCH001-RC1:1.15.2.1
	fvdl_fs64_base:1.21
	netbsd-1-6-RELEASE:1.15.2.1
	netbsd-1-6-RC3:1.15.2.1
	netbsd-1-6-RC2:1.15.2.1
	netbsd-1-6-RC1:1.15.2.1
	netbsd-1-6:1.15.0.2
	netbsd-1-6-base:1.15
	netbsd-1-5-PATCH003:1.2
	netbsd-1-5-PATCH002:1.2
	netbsd-1-5-PATCH001:1.2
	netbsd-1-5-RELEASE:1.2
	netbsd-1-5-BETA2:1.2
	netbsd-1-5-BETA:1.2
	netbsd-1-5-ALPHA2:1.2
	netbsd-1-5:1.2.0.2
	netbsd-1-5-base:1.2
	minoura-xpg4dl:1.1.0.2
	minoura-xpg4dl-base:1.1;
locks; strict;
comment	@# @;


1.111
date	2024.03.09.06.50.15;	author mrg;	state Exp;
branches;
next	1.110;
commitid	uvreYSQMU6Oe7s1F;

1.110
date	2023.11.10.21.05.23;	author christos;	state Exp;
branches;
next	1.109;
commitid	88tB6uuEZIVJH6ME;

1.109
date	2023.06.10.16.08.41;	author lukem;	state Exp;
branches;
next	1.108;
commitid	L7Nqq2gB42uTYpsE;

1.108
date	2022.08.21.07.10.03;	author lukem;	state Exp;
branches;
next	1.107;
commitid	0Ie3kKNxYR5noIQD;

1.107
date	2019.03.10.11.04.08;	author mrg;	state Exp;
branches;
next	1.106;
commitid	5XIqe8xBE1emdOeB;

1.106
date	2018.10.01.09.47.34;	author martin;	state Exp;
branches;
next	1.105;
commitid	Dstr7UJ4LDXNVeUA;

1.105
date	2018.09.29.06.36.29;	author kre;	state Exp;
branches;
next	1.104;
commitid	ugXlJxH9KSmhWXTA;

1.104
date	2018.09.28.15.04.20;	author martin;	state Exp;
branches;
next	1.103;
commitid	A2ezIOQlAKwBMSTA;

1.103
date	2016.08.16.01.05.19;	author mrg;	state Exp;
branches
	1.103.12.1
	1.103.14.1;
next	1.102;
commitid	pd48xyeGLs16Zsiz;

1.102
date	2016.05.25.00.07.20;	author christos;	state Exp;
branches;
next	1.101;
commitid	fT5OJXwsk3xNkN7z;

1.101
date	2016.05.24.22.28.56;	author christos;	state Exp;
branches;
next	1.100;
commitid	ZG2bOMy6v29SMM7z;

1.100
date	2015.12.19.22.29.23;	author christos;	state Exp;
branches;
next	1.99;
commitid	4DiY9Mc7uz3YPBNy;

1.99
date	2015.11.26.15.41.58;	author joerg;	state Exp;
branches;
next	1.98;
commitid	kaxN074txUf1kCKy;

1.98
date	2014.08.22.10.51.18;	author apb;	state Exp;
branches;
next	1.97;
commitid	LnkdsBUR2svIwlNx;

1.97
date	2014.08.05.15.45.49;	author apb;	state Exp;
branches
	1.97.2.1;
next	1.96;
commitid	bWWa7MFkb06PHbLx;

1.96
date	2014.06.09.01.17.44;	author uebayasi;	state Exp;
branches;
next	1.95;
commitid	Me0iWX6zKcPTJMDx;

1.95
date	2014.05.15.16.32.07;	author apb;	state Exp;
branches;
next	1.94;
commitid	lKU6rBzXHUMaBEAx;

1.94
date	2014.01.27.21.37.17;	author apb;	state Exp;
branches
	1.94.2.1;
next	1.93;
commitid	SgiF2B7757TFKNmx;

1.93
date	2014.01.27.08.18.07;	author apb;	state Exp;
branches;
next	1.92;
commitid	wwPlzP7Kwl0vkJmx;

1.92
date	2014.01.23.21.45.27;	author apb;	state Exp;
branches;
next	1.91;
commitid	bpFMTWv4hU3rThmx;

1.91
date	2014.01.16.01.15.33;	author christos;	state Exp;
branches;
next	1.90;
commitid	eohV5AOa1lR3mhlx;

1.90
date	2013.10.30.15.17.01;	author apb;	state Exp;
branches;
next	1.89;
commitid	T2zBKjcLT5h5wkbx;

1.89
date	2013.10.27.09.29.42;	author apb;	state Exp;
branches;
next	1.88;
commitid	XhFma1zkOwMEGUax;

1.88
date	2013.02.21.14.08.50;	author christos;	state Exp;
branches;
next	1.87;

1.87
date	2013.02.18.00.22.13;	author christos;	state Exp;
branches;
next	1.86;

1.86
date	2013.02.18.00.00.55;	author christos;	state Exp;
branches;
next	1.85;

1.85
date	2013.02.17.23.56.52;	author christos;	state Exp;
branches;
next	1.84;

1.84
date	2011.08.09.15.02.30;	author jmcneill;	state Exp;
branches
	1.84.2.1
	1.84.8.1;
next	1.83;

1.83
date	2011.02.16.06.14.01;	author uebayasi;	state Exp;
branches;
next	1.82;

1.82
date	2011.02.16.06.02.01;	author uebayasi;	state Exp;
branches;
next	1.81;

1.81
date	2011.02.16.05.18.35;	author uebayasi;	state Exp;
branches;
next	1.80;

1.80
date	2010.08.15.07.27.33;	author mrg;	state Exp;
branches
	1.80.2.1;
next	1.79;

1.79
date	2010.06.29.05.51.53;	author mrg;	state Exp;
branches;
next	1.78;

1.78
date	2009.12.15.06.18.07;	author uebayasi;	state Exp;
branches;
next	1.77;

1.77
date	2009.12.11.15.25.05;	author uebayasi;	state Exp;
branches;
next	1.76;

1.76
date	2009.12.10.13.29.14;	author uebayasi;	state Exp;
branches;
next	1.75;

1.75
date	2009.12.10.05.57.23;	author uebayasi;	state Exp;
branches;
next	1.74;

1.74
date	2009.12.10.05.15.28;	author uebayasi;	state Exp;
branches;
next	1.73;

1.73
date	2009.12.04.12.43.56;	author apb;	state Exp;
branches;
next	1.72;

1.72
date	2009.12.01.09.11.45;	author uebayasi;	state Exp;
branches;
next	1.71;

1.71
date	2009.11.30.16.13.23;	author uebayasi;	state Exp;
branches;
next	1.70;

1.70
date	2009.09.19.07.09.54;	author snj;	state Exp;
branches;
next	1.69;

1.69
date	2009.09.12.11.01.55;	author apb;	state Exp;
branches;
next	1.68;

1.68
date	2009.07.12.12.30.31;	author apb;	state Exp;
branches;
next	1.67;

1.67
date	2009.04.23.09.37.03;	author apb;	state Exp;
branches;
next	1.66;

1.66
date	2009.04.11.15.09.32;	author apb;	state Exp;
branches;
next	1.65;

1.65
date	2008.11.13.20.40.11;	author apb;	state Exp;
branches
	1.65.2.1;
next	1.64;

1.64
date	2008.11.09.23.02.29;	author mrg;	state Exp;
branches;
next	1.63;

1.63
date	2008.10.25.22.23.55;	author apb;	state Exp;
branches
	1.63.2.1;
next	1.62;

1.62
date	2008.10.19.22.05.20;	author apb;	state Exp;
branches;
next	1.61;

1.61
date	2008.08.31.00.19.33;	author lukem;	state Exp;
branches;
next	1.60;

1.60
date	2008.08.28.07.21.49;	author lukem;	state Exp;
branches;
next	1.59;

1.59
date	2008.06.23.02.16.54;	author matt;	state Exp;
branches;
next	1.58;

1.58
date	2008.05.02.19.25.42;	author apb;	state Exp;
branches
	1.58.2.1;
next	1.57;

1.57
date	2008.03.16.07.02.22;	author lukem;	state Exp;
branches
	1.57.2.1;
next	1.56;

1.56
date	2007.03.10.20.34.57;	author apb;	state Exp;
branches
	1.56.4.1
	1.56.10.1
	1.56.12.1;
next	1.55;

1.55
date	2007.01.27.06.46.43;	author apb;	state Exp;
branches;
next	1.54;

1.54
date	2006.11.05.18.04.44;	author he;	state Exp;
branches
	1.54.2.1;
next	1.53;

1.53
date	2006.06.02.22.16.18;	author mrg;	state Exp;
branches;
next	1.52;

1.52
date	2006.04.07.19.38.58;	author mrg;	state Exp;
branches;
next	1.51;

1.51
date	2006.01.06.18.08.59;	author apb;	state Exp;
branches;
next	1.50;

1.50
date	2006.01.04.15.11.07;	author apb;	state Exp;
branches;
next	1.49;

1.49
date	2006.01.04.14.58.58;	author apb;	state Exp;
branches;
next	1.48;

1.48
date	2005.10.07.20.00.54;	author jmc;	state Exp;
branches;
next	1.47;

1.47
date	2005.10.06.02.22.11;	author jmc;	state Exp;
branches;
next	1.46;

1.46
date	2004.05.12.16.56.41;	author cl;	state Exp;
branches
	1.46.2.1;
next	1.45;

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

1.44
date	2004.03.06.16.12.06;	author heas;	state Exp;
branches
	1.44.2.1;
next	1.43;

1.43
date	2004.01.30.08.43.15;	author lukem;	state Exp;
branches;
next	1.42;

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

1.41
date	2004.01.29.08.34.21;	author lukem;	state Exp;
branches;
next	1.40;

1.40
date	2004.01.08.01.48.45;	author lukem;	state Exp;
branches;
next	1.39;

1.39
date	2003.12.29.04.46.18;	author jmc;	state Exp;
branches;
next	1.38;

1.38
date	2003.12.29.03.13.25;	author lukem;	state Exp;
branches;
next	1.37;

1.37
date	2003.12.28.09.27.41;	author jmc;	state Exp;
branches;
next	1.36;

1.36
date	2003.12.26.06.20.40;	author jmc;	state Exp;
branches;
next	1.35;

1.35
date	2003.12.22.04.56.53;	author jmc;	state Exp;
branches;
next	1.34;

1.34
date	2003.12.20.17.08.32;	author dsl;	state Exp;
branches;
next	1.33;

1.33
date	2003.12.19.22.25.53;	author jmc;	state Exp;
branches;
next	1.32;

1.32
date	2003.09.30.06.26.37;	author lukem;	state Exp;
branches;
next	1.31;

1.31
date	2003.09.30.04.58.20;	author lukem;	state Exp;
branches;
next	1.30;

1.30
date	2003.09.21.19.26.02;	author tron;	state Exp;
branches;
next	1.29;

1.29
date	2003.08.04.05.53.20;	author mrg;	state Exp;
branches;
next	1.28;

1.28
date	2003.07.22.11.46.52;	author mrg;	state Exp;
branches;
next	1.27;

1.27
date	2003.07.18.08.26.02;	author lukem;	state Exp;
branches;
next	1.26;

1.26
date	2003.07.10.10.34.13;	author lukem;	state Exp;
branches;
next	1.25;

1.25
date	2003.05.10.06.08.12;	author lukem;	state Exp;
branches;
next	1.24;

1.24
date	2003.01.30.12.16.18;	author lukem;	state Exp;
branches;
next	1.23;

1.23
date	2003.01.12.18.51.26;	author veego;	state Exp;
branches;
next	1.22;

1.22
date	2003.01.03.15.34.34;	author lukem;	state Exp;
branches;
next	1.21;

1.21
date	2002.12.19.12.33.10;	author lukem;	state Exp;
branches;
next	1.20;

1.20
date	2002.12.19.06.21.45;	author lukem;	state Exp;
branches;
next	1.19;

1.19
date	2002.12.16.00.30.39;	author lukem;	state Exp;
branches;
next	1.18;

1.18
date	2002.12.12.08.54.25;	author lukem;	state Exp;
branches;
next	1.17;

1.17
date	2002.09.19.22.04.34;	author lukem;	state Exp;
branches;
next	1.16;

1.16
date	2002.07.09.16.08.38;	author lukem;	state Exp;
branches;
next	1.15;

1.15
date	2002.05.02.18.02.51;	author lukem;	state Exp;
branches
	1.15.2.1;
next	1.14;

1.14
date	2002.04.29.05.02.57;	author sommerfeld;	state Exp;
branches;
next	1.13;

1.13
date	2002.04.26.15.50.46;	author lukem;	state Exp;
branches;
next	1.12;

1.12
date	2002.04.13.12.38.31;	author lukem;	state Exp;
branches;
next	1.11;

1.11
date	2002.04.11.06.11.10;	author lukem;	state Exp;
branches;
next	1.10;

1.10
date	2002.03.31.15.49.58;	author bjh21;	state Exp;
branches;
next	1.9;

1.9
date	2002.03.31.15.49.20;	author bjh21;	state Exp;
branches;
next	1.8;

1.8
date	2002.03.22.23.15.32;	author lukem;	state Exp;
branches;
next	1.7;

1.7
date	2002.03.05.03.51.22;	author lukem;	state Exp;
branches;
next	1.6;

1.6
date	2002.02.27.10.51.47;	author lukem;	state Exp;
branches;
next	1.5;

1.5
date	2002.02.11.16.23.17;	author tron;	state Exp;
branches;
next	1.4;

1.4
date	2002.01.01.07.59.32;	author mrg;	state Exp;
branches;
next	1.3;

1.3
date	2001.11.24.02.54.50;	author thorpej;	state Exp;
branches;
next	1.2;

1.2
date	2000.06.20.06.00.27;	author thorpej;	state Exp;
branches
	1.2.2.1;
next	1.1;

1.1
date	2000.03.28.00.38.06;	author thorpej;	state Exp;
branches;
next	;

1.103.12.1
date	2018.09.30.01.45.04;	author pgoyette;	state Exp;
branches;
next	1.103.12.2;
commitid	SQ44grEPCeKPh4UA;

1.103.12.2
date	2018.10.20.06.58.17;	author pgoyette;	state Exp;
branches;
next	;
commitid	mTSoqZEZ4arHnFWA;

1.103.14.1
date	2019.06.10.21.42.29;	author christos;	state Exp;
branches;
next	;
commitid	jtc8rnCzWiEEHGqB;

1.97.2.1
date	2015.12.26.21.58.47;	author snj;	state Exp;
branches;
next	;
commitid	yVIoOPviO9lBrvOy;

1.94.2.1
date	2014.08.10.06.48.34;	author tls;	state Exp;
branches;
next	;
commitid	FLMI2eDPaScPzMLx;

1.84.2.1
date	2014.05.22.12.01.31;	author yamt;	state Exp;
branches;
next	;
commitid	yqlfOuaAhYmASwBx;

1.84.8.1
date	2013.02.25.00.24.29;	author tls;	state Exp;
branches;
next	1.84.8.2;

1.84.8.2
date	2014.08.19.23.45.42;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.80.2.1
date	2011.02.17.11.57.17;	author bouyer;	state Exp;
branches;
next	;

1.65.2.1
date	2009.05.13.19.17.50;	author jym;	state Exp;
branches;
next	;

1.63.2.1
date	2008.11.15.22.05.11;	author snj;	state Exp;
branches
	1.63.2.1.2.1
	1.63.2.1.4.1;
next	1.63.2.2;

1.63.2.2
date	2009.10.04.11.48.39;	author bouyer;	state Exp;
branches;
next	;

1.63.2.1.2.1
date	2009.10.04.11.50.27;	author bouyer;	state Exp;
branches;
next	;

1.63.2.1.4.1
date	2010.04.21.05.20.40;	author matt;	state Exp;
branches;
next	;

1.58.2.1
date	2008.09.18.04.41.12;	author wrstuden;	state Exp;
branches;
next	;

1.57.2.1
date	2008.05.18.12.29.38;	author yamt;	state Exp;
branches;
next	;

1.56.4.1
date	2008.03.23.00.21.02;	author matt;	state Exp;
branches;
next	;

1.56.10.1
date	2008.03.24.07.14.39;	author keiichi;	state Exp;
branches;
next	;

1.56.12.1
date	2008.04.03.13.54.13;	author mjf;	state Exp;
branches;
next	1.56.12.2;

1.56.12.2
date	2008.06.02.13.21.17;	author mjf;	state Exp;
branches;
next	1.56.12.3;

1.56.12.3
date	2008.06.29.08.25.13;	author mjf;	state Exp;
branches;
next	1.56.12.4;

1.56.12.4
date	2008.09.28.11.09.18;	author mjf;	state Exp;
branches;
next	1.56.12.5;

1.56.12.5
date	2008.10.05.20.10.32;	author mjf;	state dead;
branches;
next	;

1.54.2.1
date	2007.03.06.20.33.29;	author bouyer;	state Exp;
branches;
next	1.54.2.2;

1.54.2.2
date	2007.03.22.20.25.56;	author jdc;	state Exp;
branches
	1.54.2.2.4.1;
next	1.54.2.3;

1.54.2.3
date	2009.10.09.12.06.03;	author sborrill;	state Exp;
branches;
next	;

1.54.2.2.4.1
date	2009.10.10.08.06.28;	author sborrill;	state Exp;
branches;
next	;

1.46.2.1
date	2005.12.15.20.13.55;	author tron;	state Exp;
branches;
next	;

1.44.2.1
date	2004.04.21.03.22.33;	author jmc;	state Exp;
branches;
next	;

1.15.2.1
date	2002.07.09.16.20.07;	author lukem;	state Exp;
branches;
next	;

1.2.2.1
date	2000.06.20.06.00.27;	author thorpej;	state dead;
branches;
next	1.2.2.2;

1.2.2.2
date	2000.06.20.06.00.28;	author thorpej;	state Exp;
branches;
next	;


desc
@@


1.111
log
@allow XZ_OPT to be overriden.
@
text
@#	$NetBSD: Makefile,v 1.110 2023/11/10 21:05:23 christos Exp $

# Experimental RCS METALOG versioning
# (Needs host's rcs(1) commands)
#
# TODO:
# - In 'build.sh distribution', print diff to previous
#RCSMETALOG=1

# The `all' target must appear before bsd.own.mk is pulled in.
all:
	@@echo "Please understand what you are doing, first."
	@@false

.include <bsd.own.mk>
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"

COMPRESS_PROGRAM=${"${USE_XZ_SETS:Uno}"!="no":?${TOOL_XZ}:${TOOL_GZIP}}
TAR_SUFF=${"${USE_XZ_SETS:Uno}"!="no":?tar.xz:tgz}
XZ_OPT?=		-9
GZIP_FLAGS=	${GZIP_N_FLAG}
UMASK=		umask 022

SETSENV=	DESTDIR=${DESTDIR:Q} \
		MACHINE=${MACHINE:Q} \
		MACHINE_ARCH=${MACHINE_ARCH:Q} \
		AWK=${TOOL_AWK:Q} \
		CKSUM=${TOOL_CKSUM:Q} \
		DB=${TOOL_DB:Q} \
		EGREP=${TOOL_GREP:Q}\ -E \
		HOST_SH=${HOST_SH:Q} \
		MAKE=${MAKE:Q} \
		MKTEMP=${TOOL_MKTEMP:Q} \
		MTREE=${TOOL_MTREE:Q} \
		PAX=${TOOL_PAX:Q} \
		COMPRESS_PROGRAM=${COMPRESS_PROGRAM:Q} \
		GZIP=${GZIP_FLAGS:Q} \
		XZ_OPT=${XZ_OPT:Q} \
		TAR_SUFF=${TAR_SUFF:Q} \
		PKG_CREATE=${TOOL_PKG_CREATE:Q} \
		SED=${TOOL_SED:Q} \
		TSORT=${TSORT:Q}
SETSCMD=	cd ${.CURDIR} && \
		${SETSENV} \
		${HOST_SH}

MAKETARS_FLAGS=
.if ${MKREPRO_TIMESTAMP:Uno} != "no"
MAKETARS_FLAGS+= -T "${MKREPRO_TIMESTAMP}"
.endif
.if ${MKX11} != "no"
MAKESRCTARS_X11_FLAGS=	-x ${X11SRCDIR}
.endif
.if ${MKX11} != "no"
MAKEFLIST_X11_FLAGS=	,x
.endif
MAKEFLIST_FLAGS=	-L base${MAKEFLIST_X11_FLAGS}
MAKESRCTARS_FLAGS= 	-N ${NETBSDSRCDIR}/etc

.if ${MAKEVERBOSE} < 2
MAKETARS_FLAGS+=	-q
MAKESRCTARS_FLAGS+= 	-q
.endif

.if !defined(MAKETARSETS)
MAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
.endif

print_have_xorg_server_ver: .PHONY
	@@echo ${HAVE_XORG_SERVER_VER}

print_have_mesa_ver: .PHONY
	@@echo ${HAVE_MESA_VER}

print_have_gcc: .PHONY
	@@echo ${HAVE_GCC}

print_machine: .PHONY
	@@echo ${MACHINE}

print_machine_arch: .PHONY
	@@echo ${MACHINE_ARCH}

print_machine_cpu: .PHONY
	@@echo ${MACHINE_CPU}

print_object_fmt: .PHONY
	@@echo ${OBJECT_FMT}

print_toolchain_missing: .PHONY
	@@echo "${TOOLCHAIN_MISSING}"

print_mkvars \
print_set_lists_base print_set_lists_x print_set_lists_ext \
list_set_lists_base list_set_lists_x list_set_lists_ext \
list_set_files_base list_set_files_x list_set_files_ext \
		: .PHONY
	@@${SETSENV}; rundir="${.CURDIR}"; . ./sets.subr; ${.TARGET}

#
# METALOG MANIPULATION TARGETS
#
# METALOG is the name of a metadata log file, and is set in <bsd.own.mk>
# if MKUNPRIVED is not "no".
#
# METALOG.unpriv is a command line option passed to various scripts;
# it is either blank or "-M ${METALOG}.sanitised", depending on the
# MKUNPRIVED flag.
#
# The sanitise_METALOG target creates METALOG.sanitised from METALOG,
# without modifying METALOG itself.  This is used near the end of
# a build, after build products have been installed in DESTDIR
# and corresponding lines have been added to METALOG, but before
# METALOG.sanitised is used in the creation of sets in RELEASEDIR.
# For update builds, METALOG.sanitised has duplicates merged (keeping
# only the last of multiple entries for the same item), but for clean
# builds it's an error if a file or directory name appears twice.
# METALOG.sanitised is always sorted and has timestamps removed.
#
# The clean_METALOG target either deletes METALOG, or replaces METALOG with
# a sanitised version of itself, depending on the MKUPDATE flag, and
# deletes old METALOG.* files.  This is intended to be used at the start
# of a build, to ensure that repeated MKUPDATE builds do not cause
# unbounded growth of METALOG.
#

METALOG_REMOVE_DUPLICATES= \
	${TOOL_AWK} '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }'

.if ${MKUNPRIVED} == "no"
METALOG.unpriv=
sanitise_METALOG: .PHONY
	@@true
clean_METALOG: .PHONY
	@@true
.else	# MKUNPRIVED
METALOG.unpriv= -M ${METALOG}.sanitised
sanitise_METALOG: .PHONY ${METALOG}.sanitised
${METALOG}.sanitised: ${METALOG}
	${_MKMSG_CREATE} METALOG.sanitised
	<${METALOG} \
	    ${${MKUPDATE} != "no" :? ${METALOG_REMOVE_DUPLICATES} | :} \
	    sort | ${TOOL_MTREE} -CSM -k all -R time -N ${NETBSDSRCDIR}/etc \
	    >${METALOG}.new
	mv ${METALOG}.new ${METALOG}.sanitised
.if defined(RCSMETALOG)
	. ./metalog.subr; \
	xrcs_descr="build distribution METALOG"; \
	xrcs_msg="$$(date)"; \
	xrcs_cur=${METALOG}.sanitised; \
	xrcs update
.endif
.if ${MKUPDATE} == "no" || !exists(${METALOG})
clean_METALOG: .PHONY
	rm -f ${METALOG} ${METALOG}.*
.else	# MKUPDATE
clean_METALOG: .PHONY ${METALOG}.sanitised
	mv ${METALOG}.sanitised ${METALOG}
.if defined(RCSMETALOG)
	[ -f ${METALOG}.sanitised,v ] && mv ${METALOG}.sanitised,v ${METALOG},v
.endif
	rm -f ${METALOG}.*
.if defined(RCSMETALOG)
	[ -f ${METALOG},v ] && mv ${METALOG},v ${METALOG}.sanitised,v
.endif
.endif	# MKUPDATE
.endif	# MKUNPRIVED

#
# FILE LIST TARGETS
#

# This target has debugging value only, really.
makeflist: .PHONY .PRECIOUS check_DESTDIR
	${_MKMSG_EXECUTE} "makeflist"
	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}

checkflist: .PRECIOUS .PHONY check_DESTDIR sanitise_METALOG
	${_MKMSG_EXECUTE} "checkflist"
	${SETSCMD} ${.CURDIR}/checkflist \
	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}

checkflist-x11: .PHONY check_DESTDIR
	${_MKMSG_EXECUTE} "checkflist -x"
	${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}

.if defined(DESTDIR) && ${DESTDIR} != ""
checkflist_if_DESTDIR: checkflist
.else
checkflist_if_DESTDIR:
.endif

#
# SET BUILDING TARGETS
#

TARDIR=		${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
SOURCETARDIR=	${RELEASEDIR}/source/sets

# If MAKETARS_SERIAL is set to "YES" or "yes", then the tar sets will be
# made in series, even if make's "-j" flag requests multiple parallel
# jobs.  This is useful on systems that exhibit poor performance when
# running multiple parallel disk-intensive operations.  The default is
# MAKETARS_SERIAL=NO, which will obey the "-j" flag passed to the make
# command.
#
MAKETARS_SERIAL?= NO
.if empty(MAKETARS_SERIAL:M[Yy][Ee][Ss])
_MAKETARS_WAIT= # empty
.else
_MAKETARS_WAIT= .WAIT
.endif

maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR \
		sanitise_METALOG checkflist_if_DESTDIR .WAIT \
		maketarsetup .WAIT \
		${MAKETARSETS:@@.TARS.@@${_MAKETARS_WAIT} do-${.TARS.}@@}
	@@true

maketarsetup: .EXEC
.if defined(DESTDIR) && ${DESTDIR} != ""
	${_MKMSG_EXECUTE} "checkflist"
	cd ${.CURDIR}; ${MAKE} checkflist
.endif
	mkdir -p ${TARDIR}
	for i in MD5 SHA512; do \
		rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
	done

makesetfiles: .PHONY sanitise_METALOG
	${_MKMSG_CREATE} "set lists"
	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
	    ${METALOG.unpriv} \
	    -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} -t ${TARDIR}

.for tar in ${MAKETARSETS}
do-${tar}: .PHONY sanitise_METALOG
	${_MKMSG_CREATE} "${tar}.${TAR_SUFF}"
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
	    ${METALOG.unpriv} \
	    -N ${NETBSDSRCDIR}/etc -t ${TARDIR} ${tar} \
	|| { rm -f ${TARDIR}/${tar}.${TAR_SUFF}; false; }
.endfor


makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
	${_MKMSG_CREATE} "source tar files"
	mkdir -p ${SOURCETARDIR}
	${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
	    ${MAKESRCTARS_X11_FLAGS} \
	    ${NETBSDSRCDIR} ${SOURCETARDIR}


makesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
		${MAKETARSETS:@@.TARS.@@do-sum-${.TARS.}@@}
	${UMASK} && for i in MD5 SHA512; do \
		mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
	done

.for tar in ${MAKETARSETS}
do-sum-${tar}: .PHONY do-${tar}
	${_MKMSG_CREATE} "${tar} checksums"
	${MAKESUMS} -t ${TARDIR} ${tar}.${TAR_SUFF}
	${UMASK} && for i in MD5 SHA512; do \
		${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
	done
.endfor
.ORDER: ${MAKETARSETS:@@.TARS.@@do-sum-${.TARS.}@@}


installsets: .PHONY check_DESTDIR sanitise_METALOG
.if !defined(INSTALLDIR)
	@@echo "setenv INSTALLDIR before doing that!"
	@@false
.endif
	${_MKMSG_EXECUTE} "maketars for installsets"
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
	    ${MAKEFLIST_FLAGS} -i ${INSTALLDIR} ${INSTALLSETS}

# Should we ignore errors like extra or missing files in the flists?
SLOPPY_FLIST?= NO
.if !empty(SLOPPY_FLIST:M[Yy][Ee][Ss])
CHECKFLIST_FLAGS+=	-e -m
REGPKG.sloppy=		-m
.endif

.if ${MAKEVERBOSE} == 0
REGPKG.verbose?= -q
.elif ${MAKEVERBOSE} == 1
REGPKG.verbose?=
.else	# MAKEVERBOSE >= 2
REGPKG.verbose?= -v
.endif
REGPKG.force?=		# -f, or empty
REGPKG.cache?= -c	# -c, or empty
REGPKG.update:= ${MKUPDATE:tl:Nno:C/..*/-u/}
SYSPKGSETS?= all
makesyspkgs: .PHONY check_DESTDIR check_RELEASEDIR \
		sanitise_METALOG checkflist_if_DESTDIR
	${_MKMSG_EXECUTE} "regpkgset for makesyspkgs"
	mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
	${SETSCMD} ${.CURDIR}/regpkgset \
	    ${REGPKG.verbose} ${REGPKG.force} ${REGPKG.sloppy} \
	    ${REGPKG.cache} ${REGPKG.update} \
	    -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
	    -N ${NETBSDSRCDIR}/etc \
	    -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs ${SYSPKGSETS}

makesyspkgsums: .PHONY check_RELEASEDIR
	${_MKMSG_CREATE} "syspkgs checksums"
	${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs

# Update the "deps" file.
# XXX: Why is "deps" checked in to the source tree, instead of
# just being created as necessary?
makedeps: .PHONY
	${_MKMSG_CREATE} "syspkgs checksums"
	${SETSCMD} ./syspkgdeps all >${.CURDIR}/deps

# Sort the lists files.
#
# The tricky stuff with awk and sort -k options is to ensure that the
# heading remains undisturbed, and on non-heading lines anything before
# the first "." is ignored, so that "./dir/file" and "#./dir/file" are
# sorted together.
#
sortlists: .PHONY
	${UMASK} && \
	find ${.CURDIR}/lists \! \( -name CVS -prune \) \! -name .#\* \
	    -type f -print \
	| while read f ; do \
	    ${_MKSHMSG} "sorting $${f#${.CURDIR}/}" ; \
	    awk 'BEGIN { inheader = 1 } \
		 /^#*\.\// { inheader = 0 } \
		 // { tag = (inheader ? NR : 999999); \
		      print tag "." $$0 }' \
		<"$$f" \
	    | sort -t . -k 1n,2 -k 3 \
	    | cut -d . -f 2- \
	    | cat -s >"$$f".tmp; \
	    if cmp "$$f" "$$f".tmp >/dev/null; then \
	      : "$$f is unchanged" ; \
	      rm "$$f".tmp ; \
	    else \
	      mv "$$f".tmp "$$f" ; \
	    fi ; \
	  done

#
# MAIN ENTRY POINTS
#

syspkgs: .PHONY makesyspkgs .WAIT makesyspkgsums
	@@true

sets: .PHONY maketars .WAIT makesums
	@@true

sourcesets: .PHONY makesrctars
	@@true

.include <bsd.files.mk>
@


1.110
log
@Set the file creation mask
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.109 2023/06/10 16:08:41 lukem Exp $
d20 1
a20 1
XZ_OPT=		-9
@


1.109
log
@sets: enhance MAKEVERBOSE support

Add more messages for various sets operations.
Add ${_MKMSG_CREATE} to bsd.own.mk.

Enhance maketars to be a bit more verbose even with -q,
to make it more obvious why certain operations may be slow.
May help debugging PR 47562.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.108 2022/08/21 07:10:03 lukem Exp $
d22 1
d256 1
a256 1
	for i in MD5 SHA512; do \
d264 1
a264 1
	for i in MD5 SHA512; do \
d329 1
@


1.108
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: Makefile,v 1.107 2019/03/10 11:04:08 mrg Exp $
d139 1
d174 1
d178 1
d183 1
d221 1
a221 1
	${_MKMSG} "execute  checkflist"
d275 1
d300 1
d310 1
d317 1
@


1.107
log
@convert make's HAVE_MESA_VER into mesa_ver for set lists
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.106 2018/10/01 09:47:34 martin Exp $
a52 3
.if ${MKEXTSRC} != "no"
MAKESRCTARS_EXTSRC_FLAGS=	-y ${EXTSRCSRCDIR}
.endif
d56 1
a56 4
.if ${MKEXTSRC} != "no"
MAKEFLIST_EXTSRC_FLAGS=	,ext
.endif
MAKEFLIST_FLAGS=	-L base${MAKEFLIST_X11_FLAGS}${MAKEFLIST_EXTSRC_FLAGS}
a181 3
checkflist-extsrc: .PHONY check_DESTDIR
	${SETSCMD} ./checkflist -y ${CHECKFLIST_FLAGS}

d245 1
a245 1
	    ${MAKESRCTARS_X11_FLAGS} ${MAKESRCTARS_EXTSRC_FLAGS} \
@


1.106
log
@Redo xz vs. gzip selection via conditional make expressions, suggested
by joerg.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.105 2018/09/29 06:36:29 kre Exp $
d77 3
@


1.105
log
@
Another USE_XZ_SETS which probably should be fixed elsewhere
in a better way
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.104 2018/09/28 15:04:20 martin Exp $
d18 4
a21 9
.if defined(USE_XZ_SETS) && ${USE_XZ_SETS} != "no"
COMPRESS_PROGRAM=${TOOL_XZ}
XZ_OPT=-9
TAR_SUFF=tar.xz
.else
COMPRESS_PROGRAM=${TOOL_GZIP}
GZIP_FLAGS= ${GZIP_N_FLAG}
TAR_SUFF=tgz
.endif
@


1.104
log
@Prepare for .tar.xz sets
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.103 2016/08/16 01:05:19 mrg Exp $
d18 1
a18 1
.if ${USE_XZ_SETS} != "no"
@


1.103
log
@support xorg_server_ver define, currently settable to 110 (1.10.x)
or 118 (1.18.x).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.102 2016/05/25 00:07:20 christos Exp $
d18 5
d25 2
d42 2
d244 1
a244 1
	${_MKMSG_CREATE} "${tar}.tgz"
d248 1
a248 1
	|| { rm -f ${TARDIR}/${tar}.tgz; false; }
d269 1
a269 1
	${MAKESUMS} -t ${TARDIR} ${tar}.tgz
@


1.103.14.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.107 2019/03/10 11:04:08 mrg Exp $
d18 2
a19 4
COMPRESS_PROGRAM=${"${USE_XZ_SETS:Uno}"!="no":?${TOOL_XZ}:${TOOL_GZIP}}
TAR_SUFF=${"${USE_XZ_SETS:Uno}"!="no":?tar.xz:tgz}
XZ_OPT=		-9
GZIP_FLAGS=	${GZIP_N_FLAG}
a34 2
		XZ_OPT=${XZ_OPT:Q} \
		TAR_SUFF=${TAR_SUFF:Q} \
a72 3
print_have_mesa_ver: .PHONY
	@@echo ${HAVE_MESA_VER}

d235 1
a235 1
	${_MKMSG_CREATE} "${tar}.${TAR_SUFF}"
d239 1
a239 1
	|| { rm -f ${TARDIR}/${tar}.${TAR_SUFF}; false; }
d260 1
a260 1
	${MAKESUMS} -t ${TARDIR} ${tar}.${TAR_SUFF}
@


1.103.12.1
log
@Ssync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.105 2018/09/29 06:36:29 kre Exp $
a17 5
.if defined(USE_XZ_SETS) && ${USE_XZ_SETS} != "no"
COMPRESS_PROGRAM=${TOOL_XZ}
XZ_OPT=-9
TAR_SUFF=tar.xz
.else
a19 2
TAR_SUFF=tgz
.endif
a34 2
		XZ_OPT=${XZ_OPT:Q} \
		TAR_SUFF=${TAR_SUFF:Q} \
d235 1
a235 1
	${_MKMSG_CREATE} "${tar}.${TAR_SUFF}"
d239 1
a239 1
	|| { rm -f ${TARDIR}/${tar}.${TAR_SUFF}; false; }
d260 1
a260 1
	${MAKESUMS} -t ${TARDIR} ${tar}.${TAR_SUFF}
@


1.103.12.2
log
@Sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.106 2018/10/01 09:47:34 martin Exp $
d18 9
a26 4
COMPRESS_PROGRAM=${"${USE_XZ_SETS:Uno}"!="no":?${TOOL_XZ}:${TOOL_GZIP}}
TAR_SUFF=${"${USE_XZ_SETS:Uno}"!="no":?tar.xz:tgz}
XZ_OPT=		-9
GZIP_FLAGS=	${GZIP_N_FLAG}
@


1.102
log
@Fix SED issue differently.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.101 2016/05/24 22:28:56 christos Exp $
d70 3
@


1.101
log
@Export the variables so that they propagate via sets.subr -> make -> mkvars.mk
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.100 2015/12/19 22:29:23 christos Exp $
d93 1
a93 1
	@@export ${SETSENV}; rundir="${.CURDIR}"; . ./sets.subr; ${.TARGET}
@


1.100
log
@Obey MKREPRO_TIMESTAMP when creating sets (create all the files in the
sets with that date).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.99 2015/11/26 15:41:58 joerg Exp $
d93 1
a93 1
	@@${SETSENV}; rundir="${.CURDIR}"; . ./sets.subr; ${.TARGET}
@


1.99
log
@checkflist requires an egrep that honours multiple pattern options, so
use ours. Fixes build on Solaris distributions.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.98 2014/08/22 10:51:18 apb Exp $
d43 3
@


1.98
log
@Adapt the sortlists target to deal with commented file names, like
"#./dir/file".  Such lines now compare equal to their uncommented
counterparts like "./dir/file".
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.97 2014/08/05 15:45:49 apb Exp $
d27 1
@


1.97
log
@Ue ${GZIP_N_FLAG} instead of -n when setting GZIPFLAGS or GZIP_FLAGS.
This will allow -nT instead of just -n to be passed to pigz.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.96 2014/06/09 01:17:44 uebayasi Exp $
d307 7
a313 1
# Sort the lists files
d319 8
a326 3
	    { grep '^#' "$$f" ; \
	      grep -v '^#' "$$f" | sort ; \
	    } | cat -s >"$$f".tmp; \
@


1.97.2.1
log
@Pull up following revision(s) (requested by joerg in ticket #1049):
	share/mk/bsd.own.mk: revision 1.881
	distrib/sets/Makefile: revision 1.99
checkflist requires an egrep that honours multiple pattern options, so
use ours. Fixes build on Solaris distributions.
--
Don't set TOOL_GREP to something which doesn't exist, just use the host
tool for now.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.97 2014/08/05 15:45:49 apb Exp $
a26 1
		EGREP=${TOOL_GREP:Q}\ -E \
@


1.96
log
@Execute sub-${MAKE} from within a source directory.
@
text
@d1 1
a1 1
#	$NetBSD$
d19 1
a19 1
GZIP_FLAGS= -n
@


1.95
log
@Teach "make sortlists" to ignore .#* files (sometimes created by cvs),
and to squeeze multiple blank lines.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.94 2014/01/27 21:37:17 apb Exp $
d213 1
a213 1
	${MAKE} checkflist
@


1.94
log
@Pass the -n flag to gzip invocations.

This prevents it from embedding a timestamp in the output.  We pass
"-n" unconditionally, not conditional on MKREPRO, because many other
invocations of gzip already passed the -n flag unconditionally.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.93 2014/01/27 08:18:07 apb Exp $
d309 2
a310 1
	find ${.CURDIR}/lists \! \( -name CVS -prune \) -type f -print \
d315 1
a315 1
	    } >"$$f".tmp; \
@


1.94.2.1
log
@Rebase.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.97 2014/08/05 15:45:49 apb Exp $
d19 1
a19 1
GZIP_FLAGS= ${GZIP_N_FLAG}
d213 1
a213 1
	cd ${.CURDIR}; ${MAKE} checkflist
d309 1
a309 2
	find ${.CURDIR}/lists \! \( -name CVS -prune \) \! -name .#\* \
	    -type f -print \
d314 1
a314 1
	    } | cat -s >"$$f".tmp; \
@


1.93
log
@Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.92 2014/01/23 21:45:27 apb Exp $
d19 1
d33 1
@


1.92
log
@Remove time= keywords from METALOG.sanitised.

The times add unnecessary differences to the DESTDIR trees for MKREPRO
builds, and they are not needed by anything.  (maketars, the chief
consumer of METALOG.sanitised, explicitly ignores the time fields.)

Also factor out some duplicated code and update comments.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.91 2014/01/16 01:15:33 christos Exp $
d18 1
a18 5
.if ${USE_PIGZGZIP} != "no"
COMPRESS_PROGRAM=${TOOL_PIGZ:Q}
.else
COMPRESS_PROGRAM=gzip
.endif
@


1.91
log
@eliminate use of bsd.sys.mk from Makefiles
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.90 2013/10/30 15:17:01 apb Exp $
d104 8
a111 5
# without modifying METALOG itself.  METALOG.sanitised is sorted, and
# has duplicates merged.  This is used near the end of a build, after
# build products have been installed in DESTDIR and corresponding lines
# have been added to METALOG, but before METALOG.sanitised is used in
# the creation of sets in RELEASEDIR.
d113 1
a113 1
# The clean_METALOG either deletes METALOG or replaces METALOG with
d120 3
d133 3
a135 9
# We keep only the last entry for update builds, but for clean builds we
# want to make sure we install files only once.
.if ${MKUPDATE} != "no"
	${TOOL_AWK} \
	    '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }' ${METALOG} | \
	    sort | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
	    >${METALOG}.new
.else
	    sort ${METALOG} | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
a136 1
.endif
@


1.90
log
@In "make sortlists", if the file was already sorted then don't
change its timestamp.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.89 2013/10/27 09:29:42 apb Exp $
d339 1
a339 1
.include <bsd.sys.mk>
@


1.89
log
@Add "make sortlists", for sorting the set lists.  This may be
run manually, before committing changes to the lists files.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.88 2013/02/21 14:08:50 christos Exp $
d317 7
a323 2
	    } >"$$f".tmp \
	    && mv "$$f".tmp "$$f" ; \
@


1.88
log
@Remove -s "stable" flag, since it is not posix.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.87 2013/02/18 00:22:13 christos Exp $
d310 11
@


1.87
log
@Use sort -s to get a stable sort, even if that is the default for ours. We
prolly need a TOOL_SORT...
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.86 2013/02/18 00:00:55 christos Exp $
d132 1
a132 1
	    sort -s | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
d135 1
a135 1
	    sort -s ${METALOG} | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
@


1.86
log
@only do the keep last in update builds and explain why.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.85 2013/02/17 23:56:52 christos Exp $
d132 1
a132 1
	    sort | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
d135 1
a135 1
	    sort ${METALOG} | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
@


1.85
log
@keep only the last entry for each file, before sorting.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.84 2011/08/09 15:02:30 jmcneill Exp $
d127 3
d134 4
@


1.84
log
@when sorting the metalog for unpriv builds, first run it through sort so
mtree doesn't fail with:
  nbmtree: .: missing directory in specification
  nbmtree: failed at line 1 of the specification
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.83 2011/02/16 06:14:01 uebayasi Exp $
d127 3
a129 2
	sort ${METALOG} | \
	    ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
@


1.84.2.1
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: Makefile,v 1.84 2011/08/09 15:02:30 jmcneill Exp $
d18 5
a22 2
COMPRESS_PROGRAM=${TOOL_GZIP}
GZIP_FLAGS= -n
a35 1
		GZIP=${GZIP_FLAGS:Q} \
d104 5
a108 8
# without modifying METALOG itself.  This is used near the end of
# a build, after build products have been installed in DESTDIR
# and corresponding lines have been added to METALOG, but before
# METALOG.sanitised is used in the creation of sets in RELEASEDIR.
# For update builds, METALOG.sanitised has duplicates merged (keeping
# only the last of multiple entries for the same item), but for clean
# builds it's an error if a file or directory name appears twice.
# METALOG.sanitised is always sorted and has timestamps removed.
d110 1
a110 1
# The clean_METALOG target either deletes METALOG, or replaces METALOG with
a116 3
METALOG_REMOVE_DUPLICATES= \
	${TOOL_AWK} '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }'

d127 2
a128 3
	<${METALOG} \
	    ${${MKUPDATE} != "no" :? ${METALOG_REMOVE_DUPLICATES} | :} \
	    sort | ${TOOL_MTREE} -CSM -k all -R time -N ${NETBSDSRCDIR}/etc \
a301 16
# Sort the lists files
sortlists: .PHONY
	find ${.CURDIR}/lists \! \( -name CVS -prune \) -type f -print \
	| while read f ; do \
	    ${_MKSHMSG} "sorting $${f#${.CURDIR}/}" ; \
	    { grep '^#' "$$f" ; \
	      grep -v '^#' "$$f" | sort ; \
	    } >"$$f".tmp; \
	    if cmp "$$f" "$$f".tmp >/dev/null; then \
	      : "$$f is unchanged" ; \
	      rm "$$f".tmp ; \
	    else \
	      mv "$$f".tmp "$$f" ; \
	    fi ; \
	  done

d315 1
a315 1
.include <bsd.files.mk>
@


1.84.8.1
log
@resync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.84 2011/08/09 15:02:30 jmcneill Exp $
d127 2
a128 6
# We keep only the last entry for update builds, but for clean builds we
# want to make sure we install files only once.
.if ${MKUPDATE} != "no"
	${TOOL_AWK} \
	    '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }' ${METALOG} | \
	    sort | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
a129 4
.else
	    sort ${METALOG} | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
	    >${METALOG}.new
.endif
@


1.84.8.2
log
@Rebase to HEAD as of a few days ago.
@
text
@d1 1
a1 1
#	$NetBSD$
d18 5
a22 2
COMPRESS_PROGRAM=${TOOL_GZIP}
GZIP_FLAGS= ${GZIP_N_FLAG}
a35 1
		GZIP=${GZIP_FLAGS:Q} \
d104 5
a108 8
# without modifying METALOG itself.  This is used near the end of
# a build, after build products have been installed in DESTDIR
# and corresponding lines have been added to METALOG, but before
# METALOG.sanitised is used in the creation of sets in RELEASEDIR.
# For update builds, METALOG.sanitised has duplicates merged (keeping
# only the last of multiple entries for the same item), but for clean
# builds it's an error if a file or directory name appears twice.
# METALOG.sanitised is always sorted and has timestamps removed.
d110 1
a110 1
# The clean_METALOG target either deletes METALOG, or replaces METALOG with
a116 3
METALOG_REMOVE_DUPLICATES= \
	${TOOL_AWK} '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }'

d127 6
a132 3
	<${METALOG} \
	    ${${MKUPDATE} != "no" :? ${METALOG_REMOVE_DUPLICATES} | :} \
	    sort | ${TOOL_MTREE} -CSM -k all -R time -N ${NETBSDSRCDIR}/etc \
d134 4
d216 1
a216 1
	cd ${.CURDIR}; ${MAKE} checkflist
a309 17
# Sort the lists files
sortlists: .PHONY
	find ${.CURDIR}/lists \! \( -name CVS -prune \) \! -name .#\* \
	    -type f -print \
	| while read f ; do \
	    ${_MKSHMSG} "sorting $${f#${.CURDIR}/}" ; \
	    { grep '^#' "$$f" ; \
	      grep -v '^#' "$$f" | sort ; \
	    } | cat -s >"$$f".tmp; \
	    if cmp "$$f" "$$f".tmp >/dev/null; then \
	      : "$$f is unchanged" ; \
	      rm "$$f".tmp ; \
	    else \
	      mv "$$f".tmp "$$f" ; \
	    fi ; \
	  done

d323 1
a323 1
.include <bsd.files.mk>
@


1.83
log
@Comment.
@
text
@d1 1
a1 1
#	$NetBSD$
d127 2
a128 1
	${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc <${METALOG} \
@


1.82
log
@RCSMETALOG: treat initial clean_METALOG nicely.
@
text
@d5 3
@


1.81
log
@Add a hook to version METALOG using rcs(1).
@
text
@d141 1
a141 1
	mv ${METALOG}.sanitised,v ${METALOG},v
d145 1
a145 1
	mv ${METALOG},v ${METALOG}.sanitised,v
@


1.80
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 5
a5 1
#	$NetBSD: Makefile,v 1.79 2010/06/29 05:51:53 mrg Exp $
d127 7
d140 3
d144 3
@


1.80.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 8
#	$NetBSD: Makefile,v 1.83 2011/02/16 06:14:01 uebayasi Exp $

# Experimental RCS METALOG versioning
# (Needs host's rcs(1) commands)
#
# TODO:
# - In 'build.sh distribution', print diff to previous
#RCSMETALOG=1
a122 7
.if defined(RCSMETALOG)
	. ./metalog.subr; \
	xrcs_descr="build distribution METALOG"; \
	xrcs_msg="$$(date)"; \
	xrcs_cur=${METALOG}.sanitised; \
	xrcs update
.endif
a128 3
.if defined(RCSMETALOG)
	[ -f ${METALOG}.sanitised,v ] && mv ${METALOG}.sanitised,v ${METALOG},v
.endif
a129 3
.if defined(RCSMETALOG)
	[ -f ${METALOG},v ] && mv ${METALOG},v ${METALOG}.sanitised,v
.endif
@


1.79
log
@export PIGZ=${TOOL_PIGZ} (not yet used.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.78 2009/12/15 06:18:07 uebayasi Exp $
d11 6
d28 1
a28 1
		PIGZ=${TOOL_PIGZ:Q} \
@


1.78
log
@Clean up debug knobs.
@
text
@d1 1
a1 1
#	$NetBSD$
d22 1
@


1.77
log
@Set $rundir before calling sets.subr as other scripts do.
@
text
@d11 1
a11 2
SETSCMD=	cd ${.CURDIR} && \
		DESTDIR=${DESTDIR:Q} \
d24 3
a26 1
		TSORT=${TSORT:Q} \
d72 6
a77 2
print_mkvars: .PHONY
	@@env SETS_SUBR_DEBUG=dumpmkvars rundir="${.CURDIR}" ${HOST_SH} sets.subr
@


1.76
log
@Style.
@
text
@d72 1
a72 1
	@@env SETS_SUBR_DEBUG=dumpmkvars ${HOST_SH} sets.subr
@


1.75
log
@sh -> ${HOST_SH}
@
text
@d13 2
a14 1
		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
@


1.74
log
@Add print_mkvars make target for debug.
@
text
@d71 1
a71 1
	@@env SETS_SUBR_DEBUG=dumpmkvars sh sets.subr
@


1.73
log
@Remove definition of GREP variable, which was unused.  The only use
of this variable was removed in revision 1.67.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.72 2009/12/01 09:11:45 uebayasi Exp $
d70 3
@


1.72
log
@Pass ${TOOL_PKG_CREATE} to scripts for syspkg creation.
@
text
@d1 1
a1 1
#	$NetBSD$
a9 1
GREP?= grep
@


1.71
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
@d23 1
@


1.70
log
@Only generate SHA512 and MD5 checksums for releases.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.69 2009/09/12 11:01:55 apb Exp $
d29 12
a40 4
MAKEFLIST_FLAGS=	-b
MAKESRCTARS_FLAGS=	-x ${X11SRCDIR} -N ${NETBSDSRCDIR}/etc
.else
MAKEFLIST_FLAGS=
a41 1
.endif
d132 3
d198 1
@


1.69
log
@If there are errors in creating a ${set}.tgz tar file, then don't
just press on regardless.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.68 2009/07/12 12:30:31 apb Exp $
d164 1
a164 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
d193 1
a193 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
d201 1
a201 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
@


1.68
log
@Add "-M" flag to the mtree invocation in sanitise_METALOG.  This should
avoid errors in cases where a build poduct changes type (e.g. a file
becomes a symlink) between one build with older sources and a subsequent
update build with newer sources.
@
text
@d1 1
a1 1
#	$NetBSD: apb $
d180 1
a180 1
	|| rm -f ${TARDIR}/${tar}.tgz
@


1.67
log
@Clean up the handling of METALOG.sanitised:

* Don't change METALOG in place while creating METALOG.sanitised in the
  sanitise_METALOG target.  This makes it easier to manually inspect
  METALOG to find the order in which lines were added during a build.

* Add a clean_METALOG target, to be invoked from src/Makefile early in
  the build, to prevent unbounded growth of METALOG during multiple
  MKUPDATE builds.

* Remove the old hack of incorporating etc/mtree/NetBSD.dist into
  METALOG.sanitised.  It was needed only during a short transition
  period when people might have done MKUPDATE builds starting from
  existing DESTDIR and OBJDIR trees that had been created before
  revision 1.317 of src/etc/Makefile.

* Since etc/mtree/NetBSD.dist is no longer added, there's will not
  be any "optional" lines, so there's no need to filter them from
  METALOG.sanitised.

* There's no need for two different METALOG.unpriv and
  METALOG.sanitised.unpriv variables; combine them into a single
  METALOG.unpriv variable whose value is "-M ${METALOG}.sanitised".

* Reorder some lines in the Makefile, to bring related targets,
  variables and comments together.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.66 2009/04/11 15:09:32 apb Exp $
d97 1
a97 1
	${TOOL_MTREE} -CS -k all -N ${NETBSDSRCDIR}/etc <${METALOG} \
@


1.66
log
@In various places that manipulate mtree specs, use "mtree -CS" to sort.
Remove some now-redundant standalone sort commands.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.65 2008/11/13 20:40:11 apb Exp $
a62 4
# This target has debugging value only, really.
makeflist: .PHONY .PRECIOUS check_DESTDIR
	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}

d64 21
a84 1
# SET BUILDING TARGETS
a86 3
TARDIR=		${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
SOURCETARDIR=	${RELEASEDIR}/source/sets

a88 8
METALOG.sanitised.unpriv=
.else
METALOG.unpriv=	-M ${METALOG}
METALOG.sanitised= ${METALOG}.sanitised
METALOG.sanitised.unpriv= -M ${METALOG.sanitised}
.endif

.if ${MKUNPRIVED} == "no"
d91 33
a123 11
.else
sanitise_METALOG: .PHONY ${METALOG.sanitised}
${METALOG.sanitised}: ${METALOG}
	( cat ${NETBSDSRCDIR}/etc/mtree/NetBSD.dist ; \
		echo '/unset all' ; \
		cat ${METALOG} ) \
	| ${TOOL_MTREE} -CS -k all -N ${NETBSDSRCDIR}/etc > ${METALOG}.new && \
		( rm -f ${METALOG} ; \
		mv ${METALOG}.new ${METALOG} )
	cat ${METALOG} | ${GREP} -v " optional" > ${.TARGET}
.endif
d131 3
a133 6
checkflist: .PRECIOUS .PHONY check_DESTDIR sanitise_METALOG
	${SETSCMD} ${.CURDIR}/checkflist \
	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.sanitised.unpriv}

checkflist-x11: .PHONY check_DESTDIR
	${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
d135 2
d168 1
a168 1
makesetfiles: .PHONY
d170 2
a171 2
	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
	    ${MAKETARS_FLAGS} \
d178 1
a178 1
	    ${METALOG.sanitised.unpriv} \
d214 1
a214 1
	    ${METALOG.sanitised.unpriv} -N ${NETBSDSRCDIR}/etc \
d241 1
a241 1
	    -d ${DESTDIR:S,^$,/,} ${METALOG.sanitised.unpriv} \
@


1.65
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: Makefile,v 1.64 2008/11/09 23:02:29 mrg Exp $
d92 1
a92 1
	| ${TOOL_MTREE} -C -k all -N ${NETBSDSRCDIR}/etc > ${METALOG}.new && \
@


1.65.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: Makefile,v 1.67 2009/04/23 09:37:03 apb Exp $
d63 4
d68 1
a68 21
# METALOG MANIPULATION TARGETS
#
# METALOG is the name of a metadata log file, and is set in <bsd.own.mk>
# if MKUNPRIVED is not "no".
#
# METALOG.unpriv is a command line option passed to various scripts;
# it is either blank or "-M ${METALOG}.sanitised", depending on the
# MKUNPRIVED flag.
#
# The sanitise_METALOG target creates METALOG.sanitised from METALOG,
# without modifying METALOG itself.  METALOG.sanitised is sorted, and
# has duplicates merged.  This is used near the end of a build, after
# build products have been installed in DESTDIR and corresponding lines
# have been added to METALOG, but before METALOG.sanitised is used in
# the creation of sets in RELEASEDIR.
#
# The clean_METALOG either deletes METALOG or replaces METALOG with
# a sanitised version of itself, depending on the MKUPDATE flag, and
# deletes old METALOG.* files.  This is intended to be used at the start
# of a build, to ensure that repeated MKUPDATE builds do not cause
# unbounded growth of METALOG.
d70 3
d76 8
d86 11
a96 18
clean_METALOG: .PHONY
	@@true
.else	# MKUNPRIVED
METALOG.unpriv= -M ${METALOG}.sanitised
sanitise_METALOG: .PHONY ${METALOG}.sanitised
${METALOG}.sanitised: ${METALOG}
	${TOOL_MTREE} -CS -k all -N ${NETBSDSRCDIR}/etc <${METALOG} \
	    >${METALOG}.new
	mv ${METALOG}.new ${METALOG}.sanitised
.if ${MKUPDATE} == "no" || !exists(${METALOG})
clean_METALOG: .PHONY
	rm -f ${METALOG} ${METALOG}.*
.else	# MKUPDATE
clean_METALOG: .PHONY ${METALOG}.sanitised
	mv ${METALOG}.sanitised ${METALOG}
	rm -f ${METALOG}.*
.endif	# MKUPDATE
.endif	# MKUNPRIVED
d98 5
a102 7
#
# FILE LIST TARGETS
#

# This target has debugging value only, really.
makeflist: .PHONY .PRECIOUS check_DESTDIR
	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
d106 1
a106 1
	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
a110 12
.if defined(DESTDIR) && ${DESTDIR} != ""
checkflist_if_DESTDIR: checkflist
.else
checkflist_if_DESTDIR:
.endif

#
# SET BUILDING TARGETS
#

TARDIR=		${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
SOURCETARDIR=	${RELEASEDIR}/source/sets
d142 1
a142 1
makesetfiles: .PHONY sanitise_METALOG
d144 2
a145 2
	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
	    ${METALOG.unpriv} \
d152 1
a152 1
	    ${METALOG.unpriv} \
d188 1
a188 1
	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
d215 1
a215 1
	    -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
@


1.64
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: Makefile,v 1.63 2008/10/25 22:23:55 apb Exp $
d36 1
a36 1
.if ${MAKEVERBOSE} != 2
d202 1
a202 1
.else	# MAKEVERBOSE == 2
@


1.63
log
@Pass SED=${TOOL_SED:Q} in the environment to scripts run during the build.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.62 2008/10/19 22:05:20 apb Exp $
d28 1
a28 1
.if ${MKX11} != "no" || ${MKXORG} != "no"
@


1.63.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: Makefile,v 1.63 2008/10/25 22:23:55 apb Exp $
d28 1
a28 1
.if ${MKX11} != "no"
@


1.63.2.1.4.1
log
@sync to netbsd-5
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.63.2.2 2009/10/04 11:48:39 bouyer Exp $
d138 1
a138 1
	for i in MD5 SHA512; do \
d167 1
a167 1
	for i in MD5 SHA512; do \
d175 1
a175 1
	for i in MD5 SHA512; do \
@


1.63.2.1.2.1
log
@Pull up following revision(s) (requested by snj in ticket #1066):
	distrib/notes/common/main: revision 1.451
	share/man/man7/release.7: revision 1.31 via patch
	distrib/mac68k/stand/Makefile: revision 1.6
	distrib/sets/makesums: revision 1.16
	distrib/sets/Makefile: revision 1.70
	distrib/sets/makesrctars: revision 1.37
	distrib/cdrom/hide-hfs.lst: revision 1.5
Sync release(7) with reality.
Only generate SHA512 and MD5 checksums for releases.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.63.2.1 2008/11/15 22:05:11 snj Exp $
d138 1
a138 1
	for i in MD5 SHA512; do \
d167 1
a167 1
	for i in MD5 SHA512; do \
d175 1
a175 1
	for i in MD5 SHA512; do \
@


1.63.2.2
log
@Pull up following revision(s) (requested by snj in ticket #1066):
	distrib/notes/common/main: revision 1.451
	share/man/man7/release.7: revision 1.31 via patch
	distrib/mac68k/stand/Makefile: revision 1.6
	distrib/sets/makesums: revision 1.16
	distrib/sets/Makefile: revision 1.70
	distrib/sets/makesrctars: revision 1.37
	distrib/cdrom/hide-hfs.lst: revision 1.5
Sync release(7) with reality.
Only generate SHA512 and MD5 checksums for releases.
@
text
@d1 1
a1 1
#	$NetBSD$
d138 1
a138 1
	for i in MD5 SHA512; do \
d167 1
a167 1
	for i in MD5 SHA512; do \
d175 1
a175 1
	for i in MD5 SHA512; do \
@


1.62
log
@Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.61 2008/08/31 00:19:33 lukem Exp $
d23 1
@


1.61
log
@Remove set lists for the non-cross-compiled ("vendor provided") build of
XFree86; we've used our src/x11 framework for four years.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.60 2008/08/28 07:21:49 lukem Exp $
d15 1
@


1.60
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: Makefile,v 1.59 2008/06/23 02:16:54 matt Exp $
a60 3
print_x11_version: .PHONY
	${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'

@


1.59
log
@Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.58 2008/05/02 19:25:42 apb Exp $
d26 1
a26 1
.if ${MKX11} != "no"
@


1.58
log
@If MAKETARS_SERIAL is set to "YES" or "yes", then the tar sets will be
made in series, even if make's "-j" flag requests multiple parallel
jobs.  This is useful on systems that exhibit poor performance when
running multiple parallel disk-intensive operations.  The default is
MAKETARS_SERIAL=NO, which will obey the "-j" flag passed to the make
command.

Requested in tech-toolchain.  Reverts the change made in revision 1.56.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.57 2008/03/16 07:02:22 lukem Exp $
d212 1
a212 1
	mkdir -p ${RELEASEDIR}/${MACHINE}/binary/syspkgs
d218 1
a218 1
	    -t ${RELEASEDIR}/${MACHINE}/binary/syspkgs ${SYSPKGSETS}
d221 1
a221 1
	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/syspkgs
@


1.58.2.1
log
@Sync with wrstuden-revivesa-base-2.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.58 2008/05/02 19:25:42 apb Exp $
d26 1
a26 1
.if ${MKX11} != "no" || ${MKXORG} != "no"
d61 3
d212 1
a212 1
	mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
d218 1
a218 1
	    -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs ${SYSPKGSETS}
d221 1
a221 1
	${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
@


1.57
log
@Add '-q' to maketars and makesrctars, to quieten them.
Improve MAKEVERBOSE support.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.56 2007/03/10 20:34:57 apb Exp $
d113 14
a126 3
# Note that the .WAIT inside the ${MAKETARSETS:@@...} loop is not
# logically necessary, but many systems exhibit poor performance when
# running multiple parallel disk-intensive processes.
d129 2
a130 1
		maketarsetup .WAIT ${MAKETARSETS:@@.TARS.@@.WAIT do-${.TARS.}@@}
@


1.57.2.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.57 2008/03/16 07:02:22 lukem Exp $
d113 3
a115 14
# If MAKETARS_SERIAL is set to "YES" or "yes", then the tar sets will be
# made in series, even if make's "-j" flag requests multiple parallel
# jobs.  This is useful on systems that exhibit poor performance when
# running multiple parallel disk-intensive operations.  The default is
# MAKETARS_SERIAL=NO, which will obey the "-j" flag passed to the make
# command.
#
MAKETARS_SERIAL?= NO
.if empty(MAKETARS_SERIAL:M[Yy][Ee][Ss])
_MAKETARS_WAIT= # empty
.else
_MAKETARS_WAIT= .WAIT
.endif

d118 1
a118 2
		maketarsetup .WAIT \
		${MAKETARSETS:@@.TARS.@@${_MAKETARS_WAIT} do-${.TARS.}@@}
@


1.56
log
@Serialise making the "sets" tarballs in the maketars target.
On many systems, making them in parallel causes very poor
system performance due to disk I/O.  (Requested by jmmv.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.55 2007/01/27 06:46:43 apb Exp $
d25 1
d34 5
d134 1
d139 2
a140 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} \
d148 1
d162 1
d176 1
a176 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} \
@


1.56.12.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
a24 1
MAKETARS_FLAGS=
a32 5
.if ${MAKEVERBOSE} != 2
MAKETARS_FLAGS+=	-q
MAKESRCTARS_FLAGS+= 	-q
.endif

a127 1
	    ${MAKETARS_FLAGS} \
d132 1
a132 2
	${_MKMSG_CREATE} "${tar}.tgz"
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
a139 1
	${_MKMSG_CREATE} "source tar files"
a152 1
	${_MKMSG_CREATE} "${tar} checksums"
d166 1
a166 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
@


1.56.12.2
log
@Sync with HEAD.
@
text
@d113 3
a115 14
# If MAKETARS_SERIAL is set to "YES" or "yes", then the tar sets will be
# made in series, even if make's "-j" flag requests multiple parallel
# jobs.  This is useful on systems that exhibit poor performance when
# running multiple parallel disk-intensive operations.  The default is
# MAKETARS_SERIAL=NO, which will obey the "-j" flag passed to the make
# command.
#
MAKETARS_SERIAL?= NO
.if empty(MAKETARS_SERIAL:M[Yy][Ee][Ss])
_MAKETARS_WAIT= # empty
.else
_MAKETARS_WAIT= .WAIT
.endif

d118 1
a118 2
		maketarsetup .WAIT \
		${MAKETARSETS:@@.TARS.@@${_MAKETARS_WAIT} do-${.TARS.}@@}
@


1.56.12.3
log
@Sync with HEAD.
@
text
@d212 1
a212 1
	mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
d218 1
a218 1
	    -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs ${SYSPKGSETS}
d221 1
a221 1
	${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
@


1.56.12.4
log
@Sync with HEAD.
@
text
@d26 1
a26 1
.if ${MKX11} != "no" || ${MKXORG} != "no"
d61 3
@


1.56.12.5
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.56.12.4 2008/09/28 11:09:18 mjf Exp $
@


1.56.10.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.57 2008/03/16 07:02:22 lukem Exp $
a24 1
MAKETARS_FLAGS=
a32 5
.if ${MAKEVERBOSE} != 2
MAKETARS_FLAGS+=	-q
MAKESRCTARS_FLAGS+= 	-q
.endif

a127 1
	    ${MAKETARS_FLAGS} \
d132 1
a132 2
	${_MKMSG_CREATE} "${tar}.tgz"
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
a139 1
	${_MKMSG_CREATE} "source tar files"
a152 1
	${_MKMSG_CREATE} "${tar} checksums"
d166 1
a166 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
@


1.56.4.1
log
@sync with HEAD
@
text
@d1 1
a1 1
#	Makefile,v 1.56 2007/03/10 20:34:57 apb Exp
a24 1
MAKETARS_FLAGS=
a32 5
.if ${MAKEVERBOSE} != 2
MAKETARS_FLAGS+=	-q
MAKESRCTARS_FLAGS+= 	-q
.endif

a127 1
	    ${MAKETARS_FLAGS} \
d132 1
a132 2
	${_MKMSG_CREATE} "${tar}.tgz"
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
a139 1
	${_MKMSG_CREATE} "source tar files"
a152 1
	${_MKMSG_CREATE} "${tar} checksums"
d166 1
a166 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
@


1.55
log
@Let do-${tar} depend on sanitise_METALOG.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.54 2006/11/05 18:04:44 he Exp $
d107 3
d112 1
a112 1
		maketarsetup .WAIT ${MAKETARSETS:@@.TARS.@@do-${.TARS.}@@}
@


1.54
log
@Ensure that ${METALOG} does not grow without bounds as an effect of
repeated unprivileged UPDATE builds.

Discussed with lukem@@
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.53 2006/06/02 22:16:18 mrg Exp $
d128 1
a128 1
do-${tar}: .PHONY
d130 1
a130 1
	${METALOG.sanitised.unpriv} \
@


1.54.2.1
log
@Pull up following revision(s) (requested by apb in ticket #490):
	distrib/sets/Makefile: revision 1.55
Let do-${tar} depend on sanitise_METALOG. Fix PR 35925.
@
text
@d1 1
a1 1
#	$NetBSD$
d128 1
a128 1
do-${tar}: .PHONY sanitise_METALOG
d130 1
a130 1
	    ${METALOG.sanitised.unpriv} \
@


1.54.2.2
log
@Pull up revision 1.56 (requested by apb in ticket #512).

Serialise making the "sets" tarballs in the maketars target.
On many systems, making them in parallel causes very poor
system performance due to disk I/O.  (Requested by jmmv.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.54.2.1 2007/03/06 20:33:29 bouyer Exp $
a106 3
# Note that the .WAIT inside the ${MAKETARSETS:@@...} loop is not
# logically necessary, but many systems exhibit poor performance when
# running multiple parallel disk-intensive processes.
d109 1
a109 1
		maketarsetup .WAIT ${MAKETARSETS:@@.TARS.@@.WAIT do-${.TARS.}@@}
@


1.54.2.2.4.1
log
@Pull up the following revisions(s) (requested by snj in ticket #1365):
	share/man/man7/release7:	revision 1.31 (via patch)
	distrib/cdrom/hide-hfs.lst:	revision 1.5
	distrib/mac68k/stand/Makefile:	revision 1.6 (via patch)
	distrib/notes/common/main:	revision 1.451
	distrib/sets/Makefile:	revision 1.70
	distrib/sets/makesrctars:	revision 1.37
	distrib/sets/makesums:	revision 1.16

Only generate SHA512 and MD5 checksums for releases.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.54.2.2 2007/03/22 20:25:56 jdc Exp $
d121 1
a121 1
	for i in MD5 SHA512; do \
d147 1
a147 1
	for i in MD5 SHA512; do \
d154 1
a154 1
	for i in MD5 SHA512; do \
@


1.54.2.3
log
@Pull up the following revisions(s) (requested by snj in ticket #1365):
	share/man/man7/release.7	revision 1.31 (via patch)
	distrib/cdrom/hide-hfs.lst	revision 1.5
	distrib/mac68k/stand/Makefile	revision 1.6 (via patch)
	distrib/notes/common/main:	revision 1.451
	distrib/sets/Makefile:	revision 1.70
	distrib/sets/makesrctars:	revision 1.37
	distrib/sets/makesums:	revision 1.16

Only generate SHA512 and MD5 checksums for releases.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.54.2.2 2007/03/22 20:25:56 jdc Exp $
d121 1
a121 1
	for i in MD5 SHA512; do \
d147 1
a147 1
	for i in MD5 SHA512; do \
d154 1
a154 1
	for i in MD5 SHA512; do \
@


1.53
log
@remove support for building (with) GCC 2.95.  also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.52 2006/04/07 19:38:58 mrg Exp $
d87 4
a90 2
	| ${GREP} -v " optional" \
	| ${TOOL_MTREE} -C -k all -N ${NETBSDSRCDIR}/etc >${.TARGET}
@


1.52
log
@retire HAVE_GCC3/HAVE_GCC4 and introduce HAVE_GCC that is set to 2, 3 or 4.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.51 2006/01/06 18:08:59 apb Exp $
a54 3
print_use_tools_toolchain: .PHONY
	@@echo "${USE_TOOLS_TOOLCHAIN}"

@


1.51
log
@Prepend etc/mtree/NetBSD.dist to the metalog before passing it to
${TOOL_MTREE}.  Previously this was done by maketars.  In the long
term there should be a better solution.  In the short term, this
should fix the build for people who do unprivileged update builds and
who had an old METALOG from before the recent syspkg-related changes.

Reviewed by christos
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.50 2006/01/04 15:11:07 apb Exp $
d37 2
a38 2
print_have_gcc3: .PHONY
	@@echo ${HAVE_GCC3}
@


1.50
log
@Add a "makedeps" target, to update the "deps" file.
XXX: Why is "deps" checked in to the source tree, instead of
just being created as necessary?

Reviewed by agc
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.49 2006/01/04 14:58:58 apb Exp $
d10 1
d87 5
a91 1
	${TOOL_MTREE} -C -k all -N ${NETBSDSRCDIR}/etc <${METALOG} >${.TARGET}
@


1.49
log
@* Add new user-visible "syspkgs" target, and internal "makesyspkgs" and
  "makesyspkgsums" targets for it to use internally.
* Add internal "sanitize_METALOG" target that uses "${TOOL_MTREE} -C ..."
  to sanitise the METALOG file before invoking anything that will
  want to parse the METALOG (checkflist, regpkgset, maketars, or
  installsets).  Previously, maketars used to do this itself, but its
  better to do it only once.
* Add internal "checkflist_if_DESTDIR" target, which invokes checkflist iff
  DESTDIR is set and not empty.  Use it where appropriate.
* Add a few more host tools to SETSENV.
* A few minor related changes.

Reviewed by agc
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.48 2005/10/07 20:00:54 jmc Exp $
d194 6
@


1.48
log
@Restructure how makesrctars works so it spits out source balls that look like
they would from a release (files owned by root:wsrc, perms set, etc)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.47 2005/10/06 02:22:11 jmc Exp $
d14 8
a21 2
		CKSUM=${TOOL_CKSUM:Q} MAKE=${MAKE:Q} MTREE=${TOOL_MTREE:Q} \
		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q} \
d73 1
d76 2
d80 14
d95 3
a97 3
checkflist: .PRECIOUS .PHONY check_DESTDIR
	${SETSCMD} ./checkflist \
	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
d103 2
a104 1
maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR .WAIT \
d125 2
a126 1
	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
d154 1
a154 1
installsets: .PHONY check_DESTDIR
d160 9
a168 2
	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} \
	    -i ${INSTALLDIR} ${INSTALLSETS}
d170 23
d198 3
@


1.47
log
@Add SHA512 into sums lists
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.46 2004/05/12 16:56:41 cl Exp $
d20 1
a20 1
MAKESRCTARS_FLAGS=	-x ${X11SRCDIR}
d23 1
a23 1
MAKESRCTARS_FLAGS=
@


1.46
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: Makefile,v 1.45 2004/04/20 06:36:34 lukem Exp $
d90 1
a90 1
	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
d115 1
a115 1
	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
d122 1
a122 1
	for i in BSDSUM CKSUM MD5 SYSVSUM; do \
@


1.46.2.1
log
@Pull up following revision(s) (requested by jmc in ticket #1050):
	distrib/sets/Makefile: revision 1.47
Add SHA512 into sums lists
@
text
@d1 1
a1 1
#	$NetBSD$
d90 1
a90 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
d115 1
a115 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
d122 1
a122 1
	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
@


1.45
log
@makesrctars:
* Support '-x xsrcdir' to tar up xsrcdir as xsrc.tgz, with the
  contents of the tarfile being relative to xsrcdir and
  prefixed with 'usr/xsrc'
* Convert to getopts a la the other scripts in this directory

Makefile
* if ${MKX11} != no, call makesrctars with '-x ${X11SRCDIR}'
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.44 2004/03/06 16:12:06 heas Exp $
d62 1
a62 1
TARDIR=		${RELEASEDIR}/${MACHINE}/binary/sets
@


1.44
log
@makeflist is .PRECIOUS, do not delete it if make is interrupted.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.43 2004/01/30 08:43:15 lukem Exp $
d20 1
d23 1
d109 2
a110 1
	${SETSCMD} ./makesrctars ${NETBSDSRCDIR} ${SOURCETARDIR}
@


1.44.2.1
log
@Pullup rev 1.45 (requested by lukem in ticket #166)

* Support '-x xsrcdir' to tar up xsrcdir as xsrc.tgz, with the
  contents of the tarfile being relative to xsrcdir and
  prefixed with 'usr/xsrc'
* Convert to getopts a la the other scripts in this directory
* if ${MKX11} != no, call makesrctars with '-x ${X11SRCDIR}'
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.44 2004/03/06 16:12:06 heas Exp $
a19 1
MAKESRCTARS_FLAGS=	-x ${X11SRCDIR}
a21 1
MAKESRCTARS_FLAGS=
d107 1
a107 2
	${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
	    ${NETBSDSRCDIR} ${SOURCETARDIR}
@


1.43
log
@* Add "makesetfiles" target, to populate etc/mtree/set.* with maketars -S
* Some MAKEVERBOSE support.
* Add some variables to simplify various rules.
* Simply script startup by replacing ${SETSENV} with ${SETSCMD}, which
  cd's to ${.CURDIR} before doing the work.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.42 2004/01/29 09:27:53 lukem Exp $
d53 1
a53 1
makeflist: .PHONY check_DESTDIR
@


1.42
log
@Remove the set if maketars returns a non-zero exit code
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.41 2004/01/29 08:34:21 lukem Exp $
d11 2
a12 1
SETSENV=	DESTDIR=${DESTDIR:Q} \
d15 2
a16 1
		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} HOST_SH=${HOST_SH:Q}
d25 1
a25 1
MAKETARSETS!= ${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist -l ${MAKEFLIST_FLAGS}
d54 1
a54 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist ${MAKEFLIST_FLAGS}
d60 3
d69 1
d71 1
a71 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist \
d75 2
a76 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x ${CHECKFLIST_FLAGS}
d82 1
a82 1
maketarsetup: .PHONY
d84 1
d87 1
a87 1
	mkdir -p ${RELEASEDIR}/${MACHINE}/binary/sets
d89 8
a96 2
		rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; done
	
d99 3
a101 4
	${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar} \
	|| rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/${tar}.tgz
d104 1
d106 3
a108 3
	mkdir -p ${RELEASEDIR}/source/sets
	${SETSENV} ${HOST_SH} ${.CURDIR}/makesrctars \
	    ${NETBSDSRCDIR} ${RELEASEDIR}/source/sets
d113 2
a114 2
		mv ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp \
			${RELEASEDIR}/${MACHINE}/binary/sets/$$i; done
d118 1
a118 2
	${SETSENV} ${MAKESUMS} \
	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}.tgz
d120 1
a120 2
		${TOOL_CAT} ${RELEASEDIR}/${MACHINE}/binary/sets/$$i \
		    >> ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; \
d125 1
d131 1
a131 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
d135 1
@


1.41
log
@* In installsets, pass ${MAKEFLIST_FLAGS} so that the X sets will also
  be copied if MKX11 != no.
* Clean up .PHONY and my .PRECIOUS.
* Cosmetic tweaks.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.40 2004/01/08 01:48:45 lukem Exp $
d87 2
a88 1
	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}
@


1.40
log
@If MKX11 != no, invoke makeflist & checkflist with -b.

Use "makeflist -l" to determine MAKETARSETS

Use  sh -c '. ./sets.subr; echo $x11_version'  to implement print_x11_version.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.39 2003/12/29 04:46:18 jmc Exp $
d26 1
a26 1
print_have_gcc3:
d64 1
a64 2
.PRECIOUS: checkflist
checkflist: check_DESTDIR
d68 1
a68 2
.PRECIOUS: checkflist-x11
checkflist-x11: check_DESTDIR
d71 2
a72 2
.PRECIOUS: maketars
maketars: check_DESTDIR check_RELEASEDIR .WAIT maketarsetup .WAIT ${MAKETARSETS:@@.TARS.@@do-${.TARS.}@@}
d90 1
a90 2
.PRECIOUS: makesrctars
makesrctars: check_RELEASEDIR
d95 2
a96 2
.PRECIOUS: makesums
makesums: check_RELEASEDIR .WAIT ${MAKETARSETS:@@.TARS.@@do-sum-${.TARS.}@@}
d103 2
a104 1
	${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/sets ${tar}.tgz
d106 2
a107 1
		${TOOL_CAT} ${RELEASEDIR}/${MACHINE}/binary/sets/$$i >> ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; \
d112 1
a112 2
.PRECIOUS: installsets
installsets: check_DESTDIR
d118 1
a118 1
	    ${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
d125 1
a125 1
sets: maketars .WAIT makesums
d128 1
a128 1
sourcesets: makesrctars
@


1.39
log
@Simplify rules so tarfiles always attempt to rebuild (let maketars determine
whether or not to continue based on METALOG if it choses). Fixes bug where
tar files were rebuilding every other time
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.38 2003/12/29 03:13:25 lukem Exp $
d16 6
d23 1
a23 1
MAKETARSETS!=	${SETSENV} ${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $${nlists}'
d48 1
a48 5
.if defined(USE_XF86_4) && (${USE_XF86_4} != no)
	@@echo 4
.else
	@@echo 3
.endif
d52 1
a52 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/makeflist
d66 2
a67 2
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist ${CHECKFLIST_FLAGS} \
	    ${METALOG.unpriv}
@


1.38
log
@Significant overhaul of how the sets are used:

* Add an optional third field to the sets file which is a list of
  comma separated keywords that control if the line is printed.
  Currently supported keywords
	kerberos4	${MKKERBEROS4} != no
	kerberos	${MKKERBEROS} != no
	lint		${MKLINT} != no
	obsolete	${obsolete} != 0.
			In this case, non obsolete files are not printed.
  (This will allow future support for builds with variables such as
  MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
  various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
  Move replicated code for determining stuff such as shlibs type
  from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
  main lists with the relevant third field keyword(s).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.37 2003/12/28 09:27:41 jmc Exp $
d72 1
a72 1
maketars: check_DESTDIR check_RELEASEDIR .WAIT maketarsetup .WAIT ${MAKETARSETS:@@.TARS.@@${RELEASEDIR}/${MACHINE}/binary/sets/${.TARS.}.tgz@@}
d81 1
a81 3
		rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tmp; done
	-[ "${MAKETARSETS}" ] && for i in ${MAKETARSETS}; do \
		rm -f ${RELEASEDIR}/${MACHINE}/binary/sets/$$i.tgz; done
d84 1
a84 1
${RELEASEDIR}/${MACHINE}/binary/sets/${tar}.tgz:
d103 1
a103 1
do-sum-${tar}: .PHONY ${RELEASEDIR}/${MACHINE}/binary/sets/${tar}.tgz
@


1.37
log
@Add a .ORDER so the checksums come out in the proper sequence.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.36 2003/12/26 06:20:40 jmc Exp $
d14 1
a14 1
		MKTEMP=${TOOL_MKTEMP:Q} PAX=${TOOL_PAX:Q} 
d17 1
a17 1
MAKETARSETS!=	${SETSENV} ${HOST_SH} -c '. ${.CURDIR}/sets.defaults; echo $${lists}'
@


1.36
log
@Nuke the sets before building to make sure the original behavior of makesets
rebuilding all sets is preserved.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.35 2003/12/22 04:56:53 jmc Exp $
d111 1
@


1.35
log
@Forgot that makesums creates the checksum files anew each time it's run. Save
outputs from each step and concat into place when done.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.34 2003/12/20 17:08:32 dsl Exp $
d82 2
@


1.34
log
@Don't require '.' in PATH for sets.default
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.33 2003/12/19 22:25:53 jmc Exp $
d80 3
a82 1

d98 3
a100 1
	@@true
d105 3
@


1.33
log
@Redo creation of sets/sums so this can be parallelized if using -j.
Suggested in PR#20115 and PR#20116
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.32 2003/09/30 06:26:37 lukem Exp $
d17 1
a17 1
MAKETARSETS!=	${SETSENV} ${HOST_SH} -c '. sets.defaults; echo $${lists}'
@


1.32
log
@Invoke ./checkflist with ${CHECKFLIST_FLAGS}, so that the end-user
can set CHECKFLIST_FLAGS="-e" in mk.conf so that extra files in
$DESTDIR are `non fatal'.

Remove unused '${CHECKFLISTFLAGS}' (which allowed selection of
different checkflist target in maketars target)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.31 2003/09/30 04:58:20 lukem Exp $
d16 4
d72 4
a75 1
maketars: check_DESTDIR check_RELEASEDIR
d80 3
d85 2
a86 1
	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${MAKETARSETS}
d95 7
a101 2
makesums: check_RELEASEDIR
	${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/sets
@


1.31
log
@add  MKTEMP=${TOOL_MKTEMP:Q}  to SETSENV
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.30 2003/09/21 19:26:02 tron Exp $
d60 2
a61 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist ${METALOG.unpriv}
d65 1
a65 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist -x11
d70 1
a70 1
	${MAKE} checkflist${CHECKFLISTFLAGS}
@


1.30
log
@Fix sets handling so that GCC specific lists are really used.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.29 2003/08/04 05:53:20 mrg Exp $
d14 1
a14 1
		PAX=${TOOL_PAX:Q} 
@


1.29
log
@add initial support for gcc3
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.28 2003/07/22 11:46:52 mrg Exp $
d15 3
@


1.28
log
@support XF4 on sparc.  had to move parts of x{base,comp}4/mi into the
relevant ports as they do not apply to sparc (or other non-"hw/xfree86"
ports.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.27 2003/07/18 08:26:02 lukem Exp $
d30 3
@


1.27
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: Makefile,v 1.26 2003/07/10 10:34:13 lukem Exp $
d63 1
a63 1
	${MAKE} checkflist
@


1.26
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: Makefile,v 1.25 2003/05/10 06:08:12 lukem Exp $
d46 6
d54 1
a54 1
	${SETSENV} ${HOST_SH} ${.CURDIR}/checkflist ${UNPRIVED:D-M ${METALOG}}
d67 1
a67 1
	    ${UNPRIVED:D-M ${METALOG}} -N ${NETBSDSRCDIR}/etc \
d87 1
a87 1
	    ${UNPRIVED:D-M ${METALOG}} -N ${NETBSDSRCDIR}/etc \
@


1.25
log
@- add makesrctars and sourcesets targets (latter just invokes former)
- use ${HOST_SH} instead of sh
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.24 2003/01/30 12:16:18 lukem Exp $
d13 2
a14 1
		CKSUM=${CKSUM:Q} MAKE=${MAKE:Q} MTREE=${MTREE:Q} PAX=${PAX:Q} 
@


1.24
log
@In "sets" target, ensure ${RELEASEDIR}/${MACHINE}/binary/sets exists.
Fixes [toolchain/20120] from Lubomir Sedlacik.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.23 2003/01/12 18:51:26 veego Exp $
d13 1
a13 1
		MAKE=${MAKE:Q} MTREE=${MTREE:Q} PAX=${PAX:Q} 
d39 1
a39 1
	${SETSENV} sh ${.CURDIR}/makeflist
d47 1
a47 1
	${SETSENV} sh ${.CURDIR}/checkflist ${UNPRIVED:D-M ${METALOG}}
d51 1
a51 1
	${SETSENV} sh ${.CURDIR}/checkflist -x11
d59 1
a59 1
	${SETSENV} sh ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
d63 6
d79 1
a79 1
	${SETSENV} sh ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
d88 3
@


1.23
log
@Check if DESTDIR is defined before checking for non empty DESTDIR
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.22 2003/01/03 15:34:34 lukem Exp $
d58 1
@


1.22
log
@Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.21 2002/12/19 12:33:10 lukem Exp $
d55 1
a55 1
.if (${DESTDIR} != "")
@


1.21
log
@Always call maketars (and subsequently pax) with -N ${NETBSDSRCDIR}/etc,
so that we always use the user & group databases from there rather than
the host systems.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.20 2002/12/19 06:21:45 lukem Exp $
d60 1
a60 1
	    -t ${RELEASEDIR}/binary/sets ${MAKETARSETS}
d64 1
a64 1
	${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/binary/sets
@


1.20
log
@maketars:
- add "-N etcdir", to be used for pax & mtree -N.  defaults to ${DESTDIR}/etc

Makefile:
- if UNPRIVED, call maketars with "-N ${NETBSDSRCDIR}/etc", so that
  "make UNPRIVED= DESTDIR=/foo installsets" can work with an empty
  ${DESTDIR}/etc. (i.e, after a make build without install-etc-files)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.19 2002/12/16 00:30:39 lukem Exp $
d59 1
a59 1
	    ${UNPRIVED:D-M ${METALOG} -N ${NETBSDSRCDIR}/etc} \
d73 1
a73 1
	    ${UNPRIVED:D-M ${METALOG} -N ${NETBSDSRCDIR}/etc} \
@


1.19
log
@If ${DESTDIR}="", ensure `maketars -d ...' is called with an argument ("/").
Fixes problem noted by simonb@@
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.18 2002/12/12 08:54:25 lukem Exp $
d58 3
a60 2
	${SETSENV} sh ${.CURDIR}/maketars ${UNPRIVED:D-M ${METALOG}} \
	    -d ${DESTDIR:S,^$,/,} -t ${RELEASEDIR}/binary/sets ${MAKETARSETS}
d72 3
a74 2
	${SETSENV} sh ${.CURDIR}/maketars ${UNPRIVED:D-M ${METALOG}} \
	    -d ${DESTDIR:S,^$,/,} -i ${INSTALLDIR} ${INSTALLSETS}
@


1.18
log
@Add "installsets" target, which copies the sets ${INSTALLSETS} from
${DESTDIR} into ${INSTALLDIR}.
INSTALLDIR is mandatory.
INSTALLSETS is optional, and if its not given, the following sets are used:
	base comp games man misc text
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.17 2002/09/19 22:04:34 lukem Exp $
d59 1
a59 1
		-d ${DESTDIR} -t ${RELEASEDIR}/binary/sets ${MAKETARSETS}
d72 1
a72 1
		-d ${DESTDIR} -i ${INSTALLDIR} ${INSTALLSETS}
@


1.17
log
@switch from checking USE_NEW_TOOLCHAIN == yes  to TOOLCHAIN_MISSING != yes,
and don't bother with tc.old any more
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.16 2002/07/09 16:08:38 lukem Exp $
d64 9
@


1.16
log
@checkflist:
	- add "-M metalog".  if metalog starts with "${DESTDIR}/", it
	  will be skipped in the flist check, to prevent unnecessary
	  warnings about extraneous ./METALOG
	- if the diff returned a non-zero exit code, print a warning message,
	  and for the default diff output, print a blurb describing the
	  meaning of the output.

Makefile:
	- call checkflist with "-M ${METALOG}" if UNPRIVED
	- run "${MAKE} checkflist" if ${DESTDIR} != ""

 NOTE:	this change will prevent maketars from running if the
	sets lists are out of date.  This is intentional.
	Better to fail than to build tar files with missing files.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.15 2002/05/02 18:02:51 lukem Exp $
d27 2
a28 2
print_use_new_toolchain: .PHONY
	@@echo "${USE_NEW_TOOLCHAIN:Dyes}"
@


1.15
log
@yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
  (fixes problem caused by implicit include of ../Makefile.inc in certain
  submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*;  rely upon "snap_pre" target of
  etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.14 2002/04/29 05:02:57 sommerfeld Exp $
d47 1
a47 1
	${SETSENV} sh ${.CURDIR}/checkflist
d55 3
@


1.15.2.1
log
@Pull up revision 1.16 (requested by lukem):
checkflist:
	- add "-M metalog".  if metalog starts with "${DESTDIR}/", it
	  will be skipped in the flist check, to prevent unnecessary
	  warnings about extraneous ./METALOG
	- if the diff returned a non-zero exit code, print a warning message,
	  and for the default diff output, print a blurb describing the
	  meaning of the output.
Makefile:
	- call checkflist with "-M ${METALOG}" if UNPRIVED
	- run "${MAKE} checkflist" if ${DESTDIR} != ""
 NOTE:	this change will prevent maketars from running if the
	sets lists are out of date.  This is intentional.
	Better to fail than to build tar files with missing files.
@
text
@d1 1
a1 1
#	$NetBSD$
d47 1
a47 1
	${SETSENV} sh ${.CURDIR}/checkflist ${UNPRIVED:D-M ${METALOG}}
a54 3
.if (${DESTDIR} != "")
	${MAKE} checkflist
.endif
@


1.14
log
@Insert .WAIT between maketars and makesums in sets: dependancy.

An explicit makesums: maketars dependancy was not used because a
release engineer might want to regenerate the sums only and not the
tarballs; there's no explicit dependancy tracking here or elsewhere
between the input files and the output tarballs so everything gets
rebuild always.

XXX The existing "maketars" script is also not friendly to parallel
builds -- all of the sets files should be visible to the makefile so
they can be built in parallel.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.13 2002/04/26 15:50:46 lukem Exp $
d9 1
a9 1
.include "${NETBSDSRCDIR}/distrib/Makefile.inc"
@


1.13
log
@replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.12 2002/04/13 12:38:31 lukem Exp $
d66 1
a66 1
sets: maketars makesums
@


1.12
log
@call maketars with ${MAKETARSETS}; if empty (default), all sets are built
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.11 2002/04/11 06:11:10 lukem Exp $
d9 1
a9 1
.include "${_SRC_TOP_}/distrib/Makefile.inc"
@


1.11
log
@use ${MAKESUMS} from ../Makefile.inc
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.10 2002/03/31 15:49:58 bjh21 Exp $
d56 1
a56 1
		-d ${DESTDIR} -t ${RELEASEDIR}/binary/sets
@


1.10
log
@Remove a spurious crypto-related comment that should have gone long ago.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.9 2002/03/31 15:49:20 bjh21 Exp $
d9 1
d13 1
a13 1
		CKSUM=${CKSUM:Q} MAKE=${MAKE:Q} MTREE=${MTREE:Q} PAX=${PAX:Q} 
d60 1
a60 1
	${SETSENV} sh ${.CURDIR}/makesums -t ${RELEASEDIR}/binary/sets
@


1.9
log
@Set CKSUM in the environment when calling makesums.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.8 2002/03/22 23:15:32 lukem Exp $
a6 4

#
# DETERMINE WHICH CRYPTO SET TO USE
#
@


1.8
log
@Pull in <bsd.sys.mk> so that defaults for $PAX, $MTREE (etc) are
provided, which is required for USETOOLS=no because <bsd.own.mk>
doesn't set those in that case.  Should fix [toolchain/16009]
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.7 2002/03/05 03:51:22 lukem Exp $
d16 1
a16 1
		MAKE=${MAKE:Q} MTREE=${MTREE:Q} PAX=${PAX:Q} 
@


1.7
log
@provide check_DESTDIR and check_RELEASEDIR targets in <bsd.own.mk>
and use those rather than local versions
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.6 2002/02/27 10:51:47 lukem Exp $
d71 2
@


1.6
log
@Fixes to allow unprivileged building of the binary tar files to
contain the correct permissions.

Makefile:
- set SETSENV to the list of variables we wish to pass to each shell
  script and use that, rather than duplicating the effort below
- call maketars with "-M ${METALOG}" if UNPRIVED is set.

getdirs.awk:
- takes a list of filenames and outputs the list along with all the
  directories used by those filenames

maketars:
- support "-M metalog"
- merge etc/mtree/NetBSD.dist with the "-M metalog" for use in the tgz build
- for a given set, find the union between the set list and the metalog
  generated above and use that as the list of files to ${PAX} up as the
  tgz file.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.5 2002/02/11 16:23:17 tron Exp $
a13 20
#
# UTILITY TARGETS
#

check_destdir: .PHONY
.if !defined(DESTDIR)
	@@echo "DESTDIR must be set"
	@@false
.else
	@@true
.endif

check_releasedir: .PHONY
.if !defined(RELEASEDIR)
	@@echo "RELEASEDIR must be set"
	@@false
.else
	@@true
.endif

d41 1
a41 1
makeflist: .PHONY check_destdir
d49 1
a49 1
checkflist: check_destdir
d52 2
a53 2
.PRECIOUS: checkflist
checkflist-x11: check_destdir
d57 1
a57 1
maketars: check_destdir check_releasedir
d62 1
a62 1
makesums: check_releasedir
@


1.5
log
@First step of supporting XFree86 4.x binary sets:
- Recognize version dependent X11 lists files.
- Move all files which only belong to XFree86 3.3.6 in lists for version 3.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.4 2002/01/01 07:59:32 mrg Exp $
d34 4
d62 1
a62 2
	DESTDIR=${DESTDIR} MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \
	    MAKE=${MAKE} sh ${.CURDIR}/makeflist
d70 1
a70 2
	DESTDIR=${DESTDIR} MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \
	    MAKE=${MAKE} sh ${.CURDIR}/checkflist
d74 1
a74 2
	DESTDIR=${DESTDIR} MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \
	    MAKE=${MAKE} sh ${.CURDIR}/checkflist -x11
d78 2
a79 1
	sh ${.CURDIR}/maketars -d ${DESTDIR} -t ${RELEASEDIR}/binary/sets
d83 1
a83 1
	sh ${.CURDIR}/makesums -t ${RELEASEDIR}/binary/sets
@


1.4
log
@add a checkflist-x11 target
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.3 2001/11/24 02:54:50 thorpej Exp $
d48 7
@


1.3
log
@Use the logic in bsd.own.mk to figure out the toolchain format,
and to convert MACHINE_ARCH to a CPU.  Make this cross-build
friendly by specifying MACHINE, MACHINE_ARCH, and MAKE in the
makeflist/checkflist environment.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2 2000/06/20 06:00:27 thorpej Exp $
d62 5
@


1.2
log
@Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so.  Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.1 2000/03/28 00:38:06 thorpej Exp $
d34 20
d60 2
a61 1
	DESTDIR=${DESTDIR} sh ${.CURDIR}/checkflist
@


1.2.2.1
log
@file Makefile was added on branch netbsd-1-5 on 2000-06-20 06:00:28 +0000
@
text
@d1 55
@


1.2.2.2
log
@Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so.  Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
@
text
@a0 55
#	$NetBSD: Makefile,v 1.2 2000/06/20 06:00:27 thorpej Exp $

# The `all' target must appear before bsd.own.mk is pulled in.
all:
	@@echo "Please understand what you are doing, first."
	@@false

#
# DETERMINE WHICH CRYPTO SET TO USE
#

.include <bsd.own.mk>

#
# UTILITY TARGETS
#

check_destdir: .PHONY
.if !defined(DESTDIR)
	@@echo "DESTDIR must be set"
	@@false
.else
	@@true
.endif

check_releasedir: .PHONY
.if !defined(RELEASEDIR)
	@@echo "RELEASEDIR must be set"
	@@false
.else
	@@true
.endif

#
# SET BUILDING TARGETS
#

.PRECIOUS: checkflist
checkflist: check_destdir
	DESTDIR=${DESTDIR} sh ${.CURDIR}/checkflist

.PRECIOUS: maketars
maketars: check_destdir check_releasedir
	sh ${.CURDIR}/maketars -d ${DESTDIR} -t ${RELEASEDIR}/binary/sets

.PRECIOUS: makesums
makesums: check_releasedir
	sh ${.CURDIR}/makesums -t ${RELEASEDIR}/binary/sets

#
# MAIN ENTRY POINTS
#

sets: maketars makesums
	@@true
@


1.1
log
@Make doing a few things here (e.g. checkflist) a little easier.  This
determines which crypto set to build based on <bsd.crypto.mk> and invokes
the programs with the various correct options.

Not complete yet, but a good starting point for a few things, and a little
more flexible than the method used in the release: target in etc/Makefile.
@
text
@d1 1
a1 1
#	$NetBSD$
a13 19
SRCTOP=	../..
.include <bsd.crypto.mk>

.if defined(CRYPTOBASE) && (${CRYPTOBASE} != "none")
CRYPTOWHICH!= basename ${CRYPTOBASE}
.endif

.if defined(CRYPTOWHICH)
.if (${CRYPTOWHICH} == "crypto-us")
CHECKFLIST_CRYPTOARG=-secr
CRYPTOSET="secr"
.endif

.if (${CRYPTOWHICH} == "crypto-intl")
CHECKFLIST_CRYPTOARG=-cryptint
CRYPTOSET="cryptint"
.endif
.endif # defined(CRYPTOWHICH)

d40 1
a40 1
	DESTDIR=${DESTDIR} sh ${.CURDIR}/checkflist ${CHECKFLIST_CRYPTOARG}
d42 2
a43 1
maketars_base: check_destdir check_releasedir
d46 2
a47 13
maketars_crypto: check_destdir check_releasedir
	sh ${.CURDIR}/maketars -d ${DESTDIR} -t ${RELEASEDIR}/binary/security \
	    ${CRYPTOSET}

.PRECIOUS: maketars
maketars: maketars_base
.if defined(CRYPTOSET)
	@@${MAKE} maketars_crypto
.else
	@@true
.endif

makesums_base: check_releasedir
a49 11
makesums_crypto: check_releasedir
	sh ${.CURDIR}/makesums -t ${RELEASEDIR}/binary/security

.PRECIOUS: makesums
makesums: makesums_base
.if defined(CRYPTOSET)
	@@${MAKE} makesums_crypto
.else
	@@true
.endif

a55 9

cryptoset: .PHONY
.if defined(CRYPTOSET)
	${MAKE} maketars_crypto
	${MAKE} makesums_crypto
.else
	@@echo "No crypto set to make."
	@@false
.endif
@

