head	1.413;
access;
symbols
	RELENG_8_4:1.404.0.2
	RELENG_9_1_0_RELEASE:1.392.2.3.2.2
	RELENG_9_1:1.392.2.3.0.2
	RELENG_9_1_BP:1.392.2.3
	RELENG_8_3_0_RELEASE:1.358.2.10.2.1
	RELENG_8_3:1.358.2.10.0.2
	RELENG_8_3_BP:1.358.2.10
	RELENG_9_0_0_RELEASE:1.392.2.1.2.2
	RELENG_9_0:1.392.2.1.0.2
	RELENG_9_0_BP:1.392.2.1
	RELENG_9:1.392.0.2
	RELENG_9_BP:1.392
	RELENG_7_4_0_RELEASE:1.341.2.8.2.1
	RELENG_8_2_0_RELEASE:1.358.2.3.4.1
	RELENG_7_4:1.341.2.8.0.2
	RELENG_7_4_BP:1.341.2.8
	RELENG_8_2:1.358.2.3.0.4
	RELENG_8_2_BP:1.358.2.3
	RELENG_8_1_0_RELEASE:1.358.2.3.2.1
	RELENG_8_1:1.358.2.3.0.2
	RELENG_8_1_BP:1.358.2.3
	RELENG_7_3_0_RELEASE:1.341.2.7.4.1
	RELENG_7_3:1.341.2.7.0.4
	RELENG_7_3_BP:1.341.2.7
	RELENG_8_0_0_RELEASE:1.358.2.1.2.1
	RELENG_8_0:1.358.2.1.0.2
	RELENG_8_0_BP:1.358.2.1
	RELENG_8:1.358.0.2
	RELENG_8_BP:1.358
	RELENG_7_2_0_RELEASE:1.341.2.7.2.1
	RELENG_7_2:1.341.2.7.0.2
	RELENG_7_2_BP:1.341.2.7
	RELENG_7_1_0_RELEASE:1.341.2.5.2.1
	RELENG_6_4_0_RELEASE:1.319.2.7.2.1
	RELENG_7_1:1.341.2.5.0.2
	RELENG_7_1_BP:1.341.2.5
	RELENG_6_4:1.319.2.7.0.2
	RELENG_6_4_BP:1.319.2.7
	RELENG_7_0_0_RELEASE:1.341.2.1
	RELENG_6_3_0_RELEASE:1.319.2.6
	RELENG_7_0:1.341.2.1.0.2
	RELENG_7_0_BP:1.341.2.1
	RELENG_6_3:1.319.2.6.0.2
	RELENG_6_3_BP:1.319.2.6
	RELENG_7:1.341.0.2
	RELENG_7_BP:1.341
	RELENG_6_2_0_RELEASE:1.319.2.4
	RELENG_6_2:1.319.2.4.0.4
	RELENG_6_2_BP:1.319.2.4
	RELENG_5_5_0_RELEASE:1.306.2.5
	RELENG_5_5:1.306.2.5.0.2
	RELENG_5_5_BP:1.306.2.5
	RELENG_6_1_0_RELEASE:1.319.2.4
	RELENG_6_1:1.319.2.4.0.2
	RELENG_6_1_BP:1.319.2.4
	RELENG_6_0_0_RELEASE:1.319
	RELENG_6_0:1.319.0.4
	RELENG_6_0_BP:1.319
	RELENG_6:1.319.0.2
	RELENG_6_BP:1.319
	RELENG_5_4_0_RELEASE:1.306.2.4
	RELENG_5_4:1.306.2.4.0.2
	RELENG_5_4_BP:1.306.2.4
	RELENG_4_11_0_RELEASE:1.234.2.19
	RELENG_4_11:1.234.2.19.0.6
	RELENG_4_11_BP:1.234.2.19
	RELENG_5_3_0_RELEASE:1.306
	RELENG_5_3:1.306.0.4
	RELENG_5_3_BP:1.306
	RELENG_5:1.306.0.2
	RELENG_5_BP:1.306
	RELENG_4_10_0_RELEASE:1.234.2.19
	RELENG_4_10:1.234.2.19.0.4
	RELENG_4_10_BP:1.234.2.19
	RELENG_5_2_1_RELEASE:1.291
	RELENG_5_2_0_RELEASE:1.291
	RELENG_5_2:1.291.0.2
	RELENG_5_2_BP:1.291
	RELENG_4_9_0_RELEASE:1.234.2.19
	RELENG_4_9:1.234.2.19.0.2
	RELENG_4_9_BP:1.234.2.19
	RELENG_5_1_0_RELEASE:1.280
	RELENG_5_1:1.280.0.2
	RELENG_5_1_BP:1.280
	RELENG_4_8_0_RELEASE:1.234.2.18
	RELENG_4_8:1.234.2.18.0.4
	RELENG_4_8_BP:1.234.2.18
	RELENG_5_0_0_RELEASE:1.271
	RELENG_5_0:1.271.0.2
	RELENG_5_0_BP:1.271
	RELENG_4_7_0_RELEASE:1.234.2.18
	RELENG_4_7:1.234.2.18.0.2
	RELENG_4_7_BP:1.234.2.18
	RELENG_4_6_2_RELEASE:1.234.2.12
	RELENG_4_6_1_RELEASE:1.234.2.12
	RELENG_4_6_0_RELEASE:1.234.2.12
	RELENG_4_6:1.234.2.12.0.2
	RELENG_4_6_BP:1.234.2.12
	RELENG_4_5_0_RELEASE:1.234.2.10
	RELENG_4_5:1.234.2.10.0.4
	RELENG_4_5_BP:1.234.2.10
	RELENG_4_4_0_RELEASE:1.234.2.10
	RELENG_4_4:1.234.2.10.0.2
	RELENG_4_4_BP:1.234.2.10
	KSE_MILESTONE_2:1.246
	KSE_PRE_MILESTONE_2:1.246
	RELENG_4_3_0_RELEASE:1.234.2.9
	RELENG_4_3:1.234.2.9.0.2
	RELENG_4_3_BP:1.234.2.9
	RELENG_4_2_0_RELEASE:1.234.2.3
	RELENG_4_1_1_RELEASE:1.234.2.1
	PRE_SMPNG:1.235
	RELENG_4_1_0_RELEASE:1.234
	RELENG_3_5_0_RELEASE:1.222.2.5
	RELENG_4_0_0_RELEASE:1.234
	RELENG_4:1.234.0.2
	RELENG_4_BP:1.234
	RELENG_3_4_0_RELEASE:1.222.2.5
	RELENG_3_3_0_RELEASE:1.222.2.5
	RELENG_3_2_PAO:1.222.2.4.0.2
	RELENG_3_2_PAO_BP:1.222.2.4
	RELENG_3_2_0_RELEASE:1.222.2.4
	RELENG_3_1_0_RELEASE:1.222.2.1
	RELENG_3:1.222.0.2
	RELENG_3_BP:1.222
	RELENG_2_2_8_RELEASE:1.109.2.35
	RELENG_3_0_0_RELEASE:1.220
	RELENG_2_2_7_RELEASE:1.109.2.33
	RELENG_2_2_6_RELEASE:1.109.2.25
	RELENG_2_2_5_RELEASE:1.109.2.19
	RELENG_2_2_2_RELEASE:1.109.2.4
	RELENG_2_2_1_RELEASE:1.109.2.2
	RELENG_2_2_0_RELEASE:1.109.2.2
	RELENG_2_1_7_RELEASE:1.57.4.19
	RELENG_2_1_6_1_RELEASE:1.57.4.19
	RELENG_2_1_6_RELEASE:1.57.4.19
	RELENG_2_2:1.109.0.2
	RELENG_2_2_BP:1.109
	RELENG_2_1_5_RELEASE:1.57.4.17
	RELENG_2_1_0_RELEASE:1.57.4.8
	RELENG_2_1_0:1.57.0.4
	RELENG_2_1_0_BP:1.57
	RELENG_2_0_5_RELEASE:1.57
	RELENG_2_0_5:1.57.0.2
	RELENG_2_0_5_BP:1.57
	RELENG_2_0_5_ALPHA:1.56
	RELEASE_2_0:1.30
	BETA_2_0:1.30
	ALPHA_2_0:1.29.0.2
	bsd_44_lite:1.1.1.1
	CSRG:1.1.1;
locks; strict;
comment	@# @;


1.413
date	2013.07.08.00.38.34;	author svnexp;	state Exp;
branches;
next	1.412;

1.412
date	2013.07.08.00.37.51;	author svnexp;	state Exp;
branches;
next	1.411;

1.411
date	2013.06.15.00.41.15;	author svnexp;	state Exp;
branches;
next	1.410;

1.410
date	2013.06.04.01.02.20;	author svnexp;	state Exp;
branches;
next	1.409;

1.409
date	2013.05.30.00.31.33;	author svnexp;	state Exp;
branches;
next	1.408;

1.408
date	2013.05.17.00.45.04;	author svnexp;	state Exp;
branches;
next	1.407;

1.407
date	2013.04.12.00.49.06;	author svnexp;	state Exp;
branches;
next	1.406;

1.406
date	2013.04.10.00.35.45;	author svnexp;	state Exp;
branches;
next	1.405;

1.405
date	2013.04.01.00.26.31;	author svnexp;	state Exp;
branches;
next	1.404;

1.404
date	2012.11.17.01.48.28;	author svnexp;	state Exp;
branches
	1.404.2.1;
next	1.403;

1.403
date	2012.11.03.20.43.12;	author marcel;	state Exp;
branches;
next	1.402;

1.402
date	2012.10.06.20.01.05;	author marcel;	state Exp;
branches;
next	1.401;

1.401
date	2012.09.12.14.44.25;	author obrien;	state Exp;
branches;
next	1.400;

1.400
date	2012.08.15.03.21.56;	author gonzo;	state Exp;
branches;
next	1.399;

1.399
date	2012.07.03.06.41.00;	author obrien;	state Exp;
branches;
next	1.398;

1.398
date	2012.03.29.02.54.35;	author jmallett;	state Exp;
branches;
next	1.397;

1.397
date	2012.03.13.00.38.49;	author jmallett;	state Exp;
branches;
next	1.396;

1.396
date	2012.02.16.14.08.14;	author pluknet;	state Exp;
branches;
next	1.395;

1.395
date	2011.11.20.20.05.47;	author gjb;	state Exp;
branches;
next	1.394;

1.394
date	2011.11.20.19.27.52;	author gjb;	state Exp;
branches;
next	1.393;

1.393
date	2011.11.20.19.05.32;	author gjb;	state Exp;
branches;
next	1.392;

1.392
date	2011.06.16.12.28.37;	author ru;	state Exp;
branches
	1.392.2.1;
next	1.391;

1.391
date	2011.05.14.01.53.38;	author attilio;	state Exp;
branches;
next	1.390;

1.390
date	2011.04.29.18.27.50;	author jhb;	state Exp;
branches;
next	1.389;

1.389
date	2011.04.12.02.07.23;	author bz;	state Exp;
branches;
next	1.388;

1.388
date	2011.04.10.03.53.06;	author dougb;	state Exp;
branches;
next	1.387;

1.387
date	2011.03.02.14.39.26;	author nwhitehorn;	state Exp;
branches;
next	1.386;

1.386
date	2011.03.01.14.54.14;	author jhb;	state Exp;
branches;
next	1.385;

1.385
date	2011.02.10.18.54.52;	author jhb;	state Exp;
branches;
next	1.384;

1.384
date	2011.02.02.23.59.24;	author imp;	state Exp;
branches;
next	1.383;

1.383
date	2011.01.31.15.17.47;	author imp;	state Exp;
branches;
next	1.382;

1.382
date	2011.01.25.08.13.31;	author bz;	state Exp;
branches;
next	1.381;

1.381
date	2011.01.23.16.28.44;	author bz;	state Exp;
branches;
next	1.380;

1.380
date	2011.01.22.23.16.44;	author bz;	state Exp;
branches;
next	1.379;

1.379
date	2011.01.22.23.10.58;	author bz;	state Exp;
branches;
next	1.378;

1.378
date	2011.01.22.22.57.28;	author bz;	state Exp;
branches;
next	1.377;

1.377
date	2011.01.12.04.59.29;	author imp;	state Exp;
branches;
next	1.376;

1.376
date	2011.01.11.22.57.41;	author imp;	state Exp;
branches;
next	1.375;

1.375
date	2011.01.11.18.32.05;	author imp;	state Exp;
branches;
next	1.374;

1.374
date	2011.01.07.20.36.27;	author imp;	state Exp;
branches;
next	1.373;

1.373
date	2011.01.07.20.26.33;	author imp;	state Exp;
branches;
next	1.372;

1.372
date	2011.01.03.22.48.01;	author imp;	state Exp;
branches;
next	1.371;

1.371
date	2010.12.24.04.55.56;	author imp;	state Exp;
branches;
next	1.370;

1.370
date	2010.12.18.14.34.05;	author nwhitehorn;	state Exp;
branches;
next	1.369;

1.369
date	2010.12.16.15.27.13;	author jhb;	state Exp;
branches;
next	1.368;

1.368
date	2010.11.13.22.38.33;	author imp;	state Exp;
branches;
next	1.367;

1.367
date	2010.11.10.06.39.49;	author imp;	state Exp;
branches;
next	1.366;

1.366
date	2010.06.13.13.02.43;	author raj;	state Exp;
branches;
next	1.365;

1.365
date	2010.03.18.18.58.17;	author dougb;	state Exp;
branches;
next	1.364;

1.364
date	2010.03.03.21.08.44;	author imp;	state Exp;
branches;
next	1.363;

1.363
date	2010.01.19.15.34.16;	author ed;	state Exp;
branches;
next	1.362;

1.362
date	2010.01.19.15.31.18;	author ed;	state Exp;
branches;
next	1.361;

1.361
date	2010.01.11.17.58.15;	author bz;	state Exp;
branches;
next	1.360;

1.360
date	2010.01.09.23.37.29;	author bz;	state Exp;
branches;
next	1.359;

1.359
date	2010.01.08.19.01.50;	author bz;	state Exp;
branches;
next	1.358;

1.358
date	2009.04.01.17.11.50;	author bz;	state Exp;
branches
	1.358.2.1;
next	1.357;

1.357
date	2009.03.13.07.23.58;	author imp;	state Exp;
branches;
next	1.356;

1.356
date	2008.12.27.15.07.51;	author bz;	state Exp;
branches;
next	1.355;

1.355
date	2008.12.01.00.45.51;	author alfred;	state Exp;
branches;
next	1.354;

1.354
date	2008.11.24.11.23.14;	author des;	state Exp;
branches;
next	1.353;

1.353
date	2008.06.17.11.08.49;	author bz;	state Exp;
branches;
next	1.352;

1.352
date	2008.06.17.09.06.46;	author bz;	state Exp;
branches;
next	1.351;

1.351
date	2008.05.25.22.13.17;	author jb;	state Exp;
branches;
next	1.350;

1.350
date	2008.05.25.02.48.57;	author jb;	state Exp;
branches;
next	1.349;

1.349
date	2008.05.23.04.20.59;	author jb;	state Exp;
branches;
next	1.348;

1.348
date	2008.04.29.09.08.33;	author rwatson;	state Exp;
branches;
next	1.347;

1.347
date	2008.03.31.13.32.55;	author pav;	state Exp;
branches;
next	1.346;

1.346
date	2008.03.25.15.47.22;	author ru;	state Exp;
branches;
next	1.345;

1.345
date	2008.01.30.19.33.18;	author jhb;	state Exp;
branches;
next	1.344;

1.344
date	2007.12.13.00.08.02;	author imp;	state Exp;
branches;
next	1.343;

1.343
date	2007.12.11.20.00.55;	author imp;	state Exp;
branches;
next	1.342;

1.342
date	2007.10.18.08.41.52;	author delphij;	state Exp;
branches;
next	1.341;

1.341
date	2007.05.16.08.46.35;	author des;	state Exp;
branches
	1.341.2.1;
next	1.340;

1.340
date	2007.04.02.21.32.44;	author marcel;	state Exp;
branches;
next	1.339;

1.339
date	2006.11.28.01.03.29;	author ru;	state Exp;
branches;
next	1.338;

1.338
date	2006.11.21.08.25.28;	author jb;	state Exp;
branches;
next	1.337;

1.337
date	2006.11.01.09.05.40;	author jb;	state Exp;
branches;
next	1.336;

1.336
date	2006.10.16.22.18.59;	author jb;	state Exp;
branches;
next	1.335;

1.335
date	2006.09.08.10.13.15;	author ru;	state Exp;
branches;
next	1.334;

1.334
date	2006.06.22.16.52.53;	author imp;	state Exp;
branches;
next	1.333;

1.333
date	2006.06.21.09.53.42;	author obrien;	state Exp;
branches;
next	1.332;

1.332
date	2006.06.07.03.33.48;	author trhodes;	state Exp;
branches;
next	1.331;

1.331
date	2006.06.06.16.24.54;	author imp;	state Exp;
branches;
next	1.330;

1.330
date	2006.05.26.18.10.06;	author netchild;	state Exp;
branches;
next	1.329;

1.329
date	2006.05.11.18.54.16;	author jhb;	state Exp;
branches;
next	1.328;

1.328
date	2006.03.18.14.30.23;	author ru;	state Exp;
branches;
next	1.327;

1.327
date	2006.03.15.14.22.32;	author ru;	state Exp;
branches;
next	1.326;

1.326
date	2006.03.01.13.07.17;	author yar;	state Exp;
branches;
next	1.325;

1.325
date	2005.11.28.11.14.36;	author ru;	state Exp;
branches;
next	1.324;

1.324
date	2005.11.28.11.03.59;	author ru;	state Exp;
branches;
next	1.323;

1.323
date	2005.07.29.21.51.33;	author netchild;	state Exp;
branches;
next	1.322;

1.322
date	2005.07.23.14.23.30;	author netchild;	state Exp;
branches;
next	1.321;

1.321
date	2005.07.19.11.21.14;	author ru;	state Exp;
branches;
next	1.320;

1.320
date	2005.07.15.14.38.54;	author ru;	state Exp;
branches;
next	1.319;

1.319
date	2005.06.16.18.16.12;	author ru;	state Exp;
branches
	1.319.2.1;
next	1.318;

1.318
date	2005.03.02.12.33.22;	author harti;	state Exp;
branches;
next	1.317;

1.317
date	2005.02.27.12.11.34;	author ru;	state Exp;
branches;
next	1.316;

1.316
date	2005.02.26.22.02.18;	author ru;	state Exp;
branches;
next	1.315;

1.315
date	2004.12.21.09.59.39;	author ru;	state Exp;
branches;
next	1.314;

1.314
date	2004.12.21.08.46.56;	author ru;	state Exp;
branches;
next	1.313;

1.313
date	2004.12.16.19.55.57;	author ru;	state Exp;
branches;
next	1.312;

1.312
date	2004.12.13.00.49.52;	author marcel;	state Exp;
branches;
next	1.311;

1.311
date	2004.12.07.14.41.16;	author harti;	state Exp;
branches;
next	1.310;

1.310
date	2004.11.06.03.14.26;	author peter;	state Exp;
branches;
next	1.309;

1.309
date	2004.10.18.17.47.31;	author ru;	state Exp;
branches;
next	1.308;

1.308
date	2004.08.18.07.17.01;	author ru;	state Exp;
branches;
next	1.307;

1.307
date	2004.08.18.06.49.56;	author ru;	state Exp;
branches;
next	1.306;

1.306
date	2004.08.09.11.38.41;	author harti;	state Exp;
branches
	1.306.2.1;
next	1.305;

1.305
date	2004.07.23.21.21.34;	author kensmith;	state Exp;
branches;
next	1.304;

1.304
date	2004.07.18.18.55.31;	author markm;	state Exp;
branches;
next	1.303;

1.303
date	2004.07.18.01.19.33;	author obrien;	state Exp;
branches;
next	1.302;

1.302
date	2004.07.17.20.57.37;	author marcel;	state Exp;
branches;
next	1.301;

1.301
date	2004.07.16.02.51.28;	author marcel;	state Exp;
branches;
next	1.300;

1.300
date	2004.07.09.13.55.50;	author phk;	state Exp;
branches;
next	1.299;

1.299
date	2004.04.13.13.42.01;	author des;	state Exp;
branches;
next	1.298;

1.298
date	2004.03.24.08.26.22;	author ru;	state Exp;
branches;
next	1.297;

1.297
date	2004.03.02.14.32.23;	author ru;	state Exp;
branches;
next	1.296;

1.296
date	2004.02.29.13.07.05;	author johan;	state Exp;
branches;
next	1.295;

1.295
date	2004.02.20.02.10.35;	author gad;	state Exp;
branches;
next	1.294;

1.294
date	2004.02.19.21.09.58;	author gad;	state Exp;
branches;
next	1.293;

1.293
date	2004.02.16.20.18.25;	author gad;	state Exp;
branches;
next	1.292;

1.292
date	2003.12.09.02.08.19;	author peter;	state Exp;
branches;
next	1.291;

1.291
date	2003.11.07.08.36.55;	author kris;	state Exp;
branches;
next	1.290;

1.290
date	2003.10.04.18.53.38;	author ru;	state Exp;
branches;
next	1.289;

1.289
date	2003.08.30.13.33.41;	author ru;	state Exp;
branches;
next	1.288;

1.288
date	2003.08.28.04.03.13;	author marcel;	state Exp;
branches;
next	1.287;

1.287
date	2003.08.06.11.06.38;	author ru;	state Exp;
branches;
next	1.286;

1.286
date	2003.07.20.12.38.29;	author ru;	state Exp;
branches;
next	1.285;

1.285
date	2003.07.19.23.17.08;	author ru;	state Exp;
branches;
next	1.284;

1.284
date	2003.07.04.17.35.26;	author ru;	state Exp;
branches;
next	1.283;

1.283
date	2003.07.04.14.27.06;	author ru;	state Exp;
branches;
next	1.282;

1.282
date	2003.06.22.21.56.22;	author ru;	state Exp;
branches;
next	1.281;

1.281
date	2003.06.22.10.01.03;	author simokawa;	state Exp;
branches;
next	1.280;

1.280
date	2003.04.03.05.34.36;	author imp;	state Exp;
branches;
next	1.279;

1.279
date	2003.04.03.05.28.09;	author imp;	state Exp;
branches;
next	1.278;

1.278
date	2003.02.27.13.11.33;	author ru;	state Exp;
branches;
next	1.277;

1.277
date	2003.02.19.16.57.12;	author ru;	state Exp;
branches;
next	1.276;

1.276
date	2003.02.19.15.40.19;	author ru;	state Exp;
branches;
next	1.275;

1.275
date	2003.02.18.17.35.20;	author phk;	state Exp;
branches;
next	1.274;

1.274
date	2003.01.29.10.00.42;	author ru;	state Exp;
branches;
next	1.273;

1.273
date	2002.12.30.16.48.35;	author schweikh;	state Exp;
branches;
next	1.272;

1.272
date	2002.12.14.22.36.56;	author imp;	state Exp;
branches;
next	1.271;

1.271
date	2002.12.03.17.49.05;	author bmah;	state Exp;
branches;
next	1.270;

1.270
date	2002.12.02.14.31.21;	author ru;	state Exp;
branches;
next	1.269;

1.269
date	2002.11.28.13.08.09;	author ru;	state Exp;
branches;
next	1.268;

1.268
date	2002.10.02.13.52.36;	author phk;	state Exp;
branches;
next	1.267;

1.267
date	2002.10.01.09.58.50;	author phk;	state Exp;
branches;
next	1.266;

1.266
date	2002.09.26.04.40.54;	author phk;	state Exp;
branches;
next	1.265;

1.265
date	2002.09.17.01.48.47;	author peter;	state Exp;
branches;
next	1.264;

1.264
date	2002.08.31.07.18.40;	author peter;	state Exp;
branches;
next	1.263;

1.263
date	2002.07.20.10.01.00;	author ru;	state Exp;
branches;
next	1.262;

1.262
date	2002.07.20.10.00.10;	author ru;	state Exp;
branches;
next	1.261;

1.261
date	2002.06.24.20.13.09;	author dillon;	state Exp;
branches;
next	1.260;

1.260
date	2002.06.24.05.14.54;	author dillon;	state Exp;
branches;
next	1.259;

1.259
date	2002.06.03.14.49.34;	author ru;	state Exp;
branches;
next	1.258;

1.258
date	2002.05.30.05.01.40;	author obrien;	state Exp;
branches;
next	1.257;

1.257
date	2002.05.24.16.08.13;	author ru;	state Exp;
branches;
next	1.256;

1.256
date	2002.05.12.16.00.43;	author ru;	state Exp;
branches;
next	1.255;

1.255
date	2002.05.08.01.55.08;	author jwd;	state Exp;
branches;
next	1.254;

1.254
date	2002.05.07.15.42.56;	author ru;	state Exp;
branches;
next	1.253;

1.253
date	2002.04.30.11.50.01;	author ru;	state Exp;
branches;
next	1.252;

1.252
date	2002.04.29.15.22.01;	author ru;	state Exp;
branches;
next	1.251;

1.251
date	2002.04.26.17.55.10;	author ru;	state Exp;
branches;
next	1.250;

1.250
date	2002.04.23.09.03.55;	author ru;	state Exp;
branches;
next	1.249;

1.249
date	2002.04.20.19.04.59;	author gshapiro;	state Exp;
branches;
next	1.248;

1.248
date	2002.03.03.22.37.35;	author keramida;	state Exp;
branches;
next	1.247;

1.247
date	2002.02.08.09.48.34;	author ru;	state Exp;
branches;
next	1.246;

1.246
date	2001.03.27.08.43.27;	author ru;	state Exp;
branches;
next	1.245;

1.245
date	2001.03.04.10.43.14;	author obrien;	state Exp;
branches;
next	1.244;

1.244
date	2001.03.02.16.52.06;	author ru;	state Exp;
branches;
next	1.243;

1.243
date	2001.02.13.07.47.41;	author jkh;	state Exp;
branches;
next	1.242;

1.242
date	2000.12.06.04.35.45;	author obrien;	state Exp;
branches;
next	1.241;

1.241
date	2000.12.01.22.00.33;	author jkh;	state Exp;
branches;
next	1.240;

1.240
date	2000.12.01.19.49.33;	author jkh;	state Exp;
branches;
next	1.239;

1.239
date	2000.11.21.04.37.29;	author marcel;	state Exp;
branches;
next	1.238;

1.238
date	2000.11.07.08.47.11;	author jkh;	state Exp;
branches;
next	1.237;

1.237
date	2000.11.05.23.14.49;	author jkh;	state Exp;
branches;
next	1.236;

1.236
date	2000.09.19.11.15.40;	author markm;	state Exp;
branches;
next	1.235;

1.235
date	2000.07.31.09.26.59;	author alex;	state Exp;
branches;
next	1.234;

1.234
date	2000.02.24.23.03.15;	author markm;	state Exp;
branches
	1.234.2.1;
next	1.233;

1.233
date	2000.01.09.18.17.48;	author marcel;	state Exp;
branches;
next	1.232;

1.232
date	99.12.23.13.53.44;	author marcel;	state Exp;
branches;
next	1.231;

1.231
date	99.12.08.18.10.15;	author marcel;	state Exp;
branches;
next	1.230;

1.230
date	99.12.08.13.45.11;	author marcel;	state Exp;
branches;
next	1.229;

1.229
date	99.09.18.08.27.55;	author jb;	state Exp;
branches;
next	1.228;

1.228
date	99.08.28.01.35.57;	author peter;	state Exp;
branches;
next	1.227;

1.227
date	99.07.31.13.47.23;	author hoek;	state Exp;
branches;
next	1.226;

1.226
date	99.03.29.10.59.52;	author obrien;	state Exp;
branches;
next	1.225;

1.225
date	99.03.20.20.10.19;	author jkh;	state Exp;
branches;
next	1.224;

1.224
date	99.02.17.20.56.09;	author msmith;	state Exp;
branches;
next	1.223;

1.223
date	99.01.26.09.12.20;	author jkh;	state Exp;
branches;
next	1.222;

1.222
date	98.12.28.17.03.49;	author peter;	state Exp;
branches
	1.222.2.1;
next	1.221;

1.221
date	98.10.17.15.25.26;	author bde;	state Exp;
branches;
next	1.220;

1.220
date	98.09.29.22.03.12;	author jkh;	state Exp;
branches;
next	1.219;

1.219
date	98.09.28.20.39.23;	author jb;	state Exp;
branches;
next	1.218;

1.218
date	98.09.15.05.10.17;	author jkh;	state Exp;
branches;
next	1.217;

1.217
date	98.09.10.20.44.55;	author ache;	state Exp;
branches;
next	1.216;

1.216
date	98.09.09.06.07.32;	author jb;	state Exp;
branches;
next	1.215;

1.215
date	98.09.07.18.10.26;	author ache;	state Exp;
branches;
next	1.214;

1.214
date	98.09.04.21.19.37;	author jb;	state Exp;
branches;
next	1.213;

1.213
date	98.09.04.09.19.19;	author jb;	state Exp;
branches;
next	1.212;

1.212
date	98.09.01.05.53.00;	author jb;	state Exp;
branches;
next	1.211;

1.211
date	98.08.31.01.08.08;	author jb;	state Exp;
branches;
next	1.210;

1.210
date	98.08.18.12.52.51;	author jb;	state Exp;
branches;
next	1.209;

1.209
date	98.08.04.17.13.38;	author bde;	state Exp;
branches;
next	1.208;

1.208
date	98.08.04.16.00.47;	author peter;	state Exp;
branches;
next	1.207;

1.207
date	98.08.03.08.28.14;	author bde;	state Exp;
branches;
next	1.206;

1.206
date	98.08.02.09.24.59;	author wosch;	state Exp;
branches;
next	1.205;

1.205
date	98.07.07.09.59.48;	author bde;	state Exp;
branches;
next	1.204;

1.204
date	98.07.07.05.37.34;	author bde;	state Exp;
branches;
next	1.203;

1.203
date	98.06.17.09.34.42;	author bde;	state Exp;
branches;
next	1.202;

1.202
date	98.06.13.02.03.36;	author peter;	state Exp;
branches;
next	1.201;

1.201
date	98.06.09.07.19.13;	author bde;	state Exp;
branches;
next	1.200;

1.200
date	98.06.07.10.50.28;	author sos;	state Exp;
branches;
next	1.199;

1.199
date	98.06.06.04.39.41;	author jkoshy;	state Exp;
branches;
next	1.198;

1.198
date	98.06.06.01.13.21;	author bde;	state Exp;
branches;
next	1.197;

1.197
date	98.06.06.00.56.23;	author bde;	state Exp;
branches;
next	1.196;

1.196
date	98.06.05.16.50.45;	author jkh;	state Exp;
branches;
next	1.195;

1.195
date	98.06.04.12.02.52;	author jb;	state Exp;
branches;
next	1.194;

1.194
date	98.06.04.06.25.22;	author charnier;	state Exp;
branches;
next	1.193;

1.193
date	98.06.02.18.28.55;	author jhay;	state Exp;
branches;
next	1.192;

1.192
date	98.06.02.11.22.08;	author peter;	state Exp;
branches;
next	1.191;

1.191
date	98.06.01.18.29.11;	author peter;	state Exp;
branches;
next	1.190;

1.190
date	98.05.30.07.32.28;	author jhay;	state Exp;
branches;
next	1.189;

1.189
date	98.05.29.05.15.47;	author jkh;	state Exp;
branches;
next	1.188;

1.188
date	98.05.29.05.14.08;	author jkh;	state Exp;
branches;
next	1.187;

1.187
date	98.05.28.13.20.35;	author peter;	state Exp;
branches;
next	1.186;

1.186
date	98.05.28.12.31.42;	author peter;	state Exp;
branches;
next	1.185;

1.185
date	98.05.27.18.50.01;	author peter;	state Exp;
branches;
next	1.184;

1.184
date	98.05.27.16.33.43;	author peter;	state Exp;
branches;
next	1.183;

1.183
date	98.05.27.15.40.35;	author peter;	state Exp;
branches;
next	1.182;

1.182
date	98.05.27.07.59.31;	author sos;	state Exp;
branches;
next	1.181;

1.181
date	98.05.26.20.12.43;	author sos;	state Exp;
branches;
next	1.180;

1.180
date	98.05.25.17.34.34;	author sos;	state Exp;
branches;
next	1.179;

1.179
date	98.05.18.03.28.02;	author jb;	state Exp;
branches;
next	1.178;

1.178
date	98.05.16.22.20.44;	author jb;	state Exp;
branches;
next	1.177;

1.177
date	98.05.15.17.12.00;	author bde;	state Exp;
branches;
next	1.176;

1.176
date	98.05.10.16.51.07;	author bde;	state Exp;
branches;
next	1.175;

1.175
date	98.05.08.21.29.35;	author jb;	state Exp;
branches;
next	1.174;

1.174
date	98.05.02.12.29.48;	author bde;	state Exp;
branches;
next	1.173;

1.173
date	98.04.27.16.21.33;	author bde;	state Exp;
branches;
next	1.172;

1.172
date	98.04.26.08.40.25;	author jkh;	state Exp;
branches;
next	1.171;

1.171
date	98.04.25.14.32.22;	author andreas;	state Exp;
branches;
next	1.170;

1.170
date	98.04.24.17.13.33;	author bde;	state Exp;
branches;
next	1.169;

1.169
date	98.04.19.13.44.52;	author dt;	state Exp;
branches;
next	1.168;

1.168
date	98.03.26.17.32.24;	author markm;	state Exp;
branches;
next	1.167;

1.167
date	98.03.19.16.43.19;	author bde;	state Exp;
branches;
next	1.166;

1.166
date	98.03.16.11.58.46;	author bde;	state Exp;
branches;
next	1.165;

1.165
date	98.03.15.04.52.58;	author bde;	state Exp;
branches;
next	1.164;

1.164
date	98.03.14.13.58.21;	author bde;	state Exp;
branches;
next	1.163;

1.163
date	98.03.13.09.41.58;	author bde;	state Exp;
branches;
next	1.162;

1.162
date	98.03.12.13.19.59;	author bde;	state Exp;
branches;
next	1.161;

1.161
date	98.03.12.10.55.02;	author bde;	state Exp;
branches;
next	1.160;

1.160
date	98.03.12.10.08.50;	author bde;	state Exp;
branches;
next	1.159;

1.159
date	98.02.19.07.34.46;	author jb;	state Exp;
branches;
next	1.158;

1.158
date	98.02.19.00.24.43;	author nate;	state Exp;
branches;
next	1.157;

1.157
date	98.02.06.09.52.24;	author adam;	state Exp;
branches;
next	1.156;

1.156
date	98.01.11.04.51.02;	author jb;	state Exp;
branches;
next	1.155;

1.155
date	97.10.10.13.02.36;	author asami;	state Exp;
branches;
next	1.154;

1.154
date	97.10.07.11.32.05;	author bde;	state Exp;
branches;
next	1.153;

1.153
date	97.10.06.10.21.36;	author jkh;	state Exp;
branches;
next	1.152;

1.152
date	97.10.06.09.58.11;	author jkh;	state Exp;
branches;
next	1.151;

1.151
date	97.10.05.22.28.50;	author fsmp;	state Exp;
branches;
next	1.150;

1.150
date	97.10.05.15.39.47;	author markm;	state Exp;
branches;
next	1.149;

1.149
date	97.10.05.09.34.41;	author jkh;	state Exp;
branches;
next	1.148;

1.148
date	97.09.28.16.25.28;	author mckay;	state Exp;
branches;
next	1.147;

1.147
date	97.09.28.09.26.05;	author markm;	state Exp;
branches;
next	1.146;

1.146
date	97.09.26.09.31.41;	author jkh;	state Exp;
branches;
next	1.145;

1.145
date	97.09.16.10.45.41;	author bde;	state Exp;
branches;
next	1.144;

1.144
date	97.09.15.05.58.50;	author rgrimes;	state Exp;
branches;
next	1.143;

1.143
date	97.09.05.09.11.24;	author peter;	state Exp;
branches;
next	1.142;

1.142
date	97.08.31.21.06.40;	author peter;	state Exp;
branches;
next	1.141;

1.141
date	97.08.26.14.15.25;	author peter;	state Exp;
branches;
next	1.140;

1.140
date	97.08.25.19.40.53;	author bde;	state Exp;
branches;
next	1.139;

1.139
date	97.08.21.15.43.54;	author bde;	state Exp;
branches;
next	1.138;

1.138
date	97.08.21.15.16.07;	author bde;	state Exp;
branches;
next	1.137;

1.137
date	97.08.18.06.54.18;	author peter;	state Exp;
branches;
next	1.136;

1.136
date	97.08.18.06.44.44;	author peter;	state Exp;
branches;
next	1.135;

1.135
date	97.08.17.21.14.22;	author andreas;	state Exp;
branches;
next	1.134;

1.134
date	97.08.12.10.12.56;	author asami;	state Exp;
branches;
next	1.133;

1.133
date	97.08.05.03.49.45;	author asami;	state Exp;
branches;
next	1.132;

1.132
date	97.07.31.08.31.50;	author asami;	state Exp;
branches;
next	1.131;

1.131
date	97.07.31.08.06.29;	author asami;	state Exp;
branches;
next	1.130;

1.130
date	97.06.08.15.04.06;	author jfieber;	state Exp;
branches;
next	1.129;

1.129
date	97.06.08.14.03.23;	author jhay;	state Exp;
branches;
next	1.128;

1.128
date	97.05.26.05.27.37;	author peter;	state Exp;
branches;
next	1.127;

1.127
date	97.05.21.22.48.51;	author asami;	state Exp;
branches;
next	1.126;

1.126
date	97.05.21.19.41.16;	author jkh;	state Exp;
branches;
next	1.125;

1.125
date	97.05.13.18.11.38;	author peter;	state Exp;
branches;
next	1.124;

1.124
date	97.05.10.06.53.40;	author bde;	state Exp;
branches;
next	1.123;

1.123
date	97.05.03.02.51.58;	author jb;	state Exp;
branches;
next	1.122;

1.122
date	97.04.30.16.02.03;	author bde;	state Exp;
branches;
next	1.121;

1.121
date	97.04.09.18.59.36;	author jdp;	state Exp;
branches;
next	1.120;

1.120
date	97.04.02.17.10.16;	author ache;	state Exp;
branches;
next	1.119;

1.119
date	97.04.02.16.44.06;	author ache;	state Exp;
branches;
next	1.118;

1.118
date	97.02.23.15.50.34;	author peter;	state Exp;
branches;
next	1.117;

1.117
date	97.01.21.13.12.10;	author jkh;	state Exp;
branches;
next	1.116;

1.116
date	97.01.14.05.29.05;	author jkh;	state Exp;
branches;
next	1.115;

1.115
date	97.01.12.18.32.53;	author jdp;	state Exp;
branches;
next	1.114;

1.114
date	97.01.12.05.33.24;	author steve;	state Exp;
branches;
next	1.113;

1.113
date	97.01.11.10.53.01;	author jmacd;	state Exp;
branches;
next	1.112;

1.112
date	97.01.07.02.28.57;	author jkh;	state Exp;
branches;
next	1.111;

1.111
date	96.12.20.08.18.47;	author asami;	state Exp;
branches;
next	1.110;

1.110
date	96.11.26.03.26.31;	author ache;	state Exp;
branches;
next	1.109;

1.109
date	96.11.01.19.03.33;	author adam;	state Exp;
branches
	1.109.2.1;
next	1.108;

1.108
date	96.10.25.14.22.50;	author bde;	state Exp;
branches;
next	1.107;

1.107
date	96.10.14.12.58.47;	author peter;	state Exp;
branches;
next	1.106;

1.106
date	96.10.06.02.17.43;	author jkh;	state Exp;
branches;
next	1.105;

1.105
date	96.10.05.18.36.38;	author ache;	state Exp;
branches;
next	1.104;

1.104
date	96.10.04.08.48.27;	author peter;	state Exp;
branches;
next	1.103;

1.103
date	96.09.21.06.06.41;	author ache;	state Exp;
branches;
next	1.102;

1.102
date	96.09.19.16.36.24;	author peter;	state Exp;
branches;
next	1.101;

1.101
date	96.09.18.18.14.37;	author jkh;	state Exp;
branches;
next	1.100;

1.100
date	96.09.10.04.21.36;	author jfieber;	state Exp;
branches;
next	1.99;

1.99
date	96.08.30.22.35.30;	author peter;	state Exp;
branches;
next	1.98;

1.98
date	96.08.25.05.17.49;	author jkh;	state Exp;
branches;
next	1.97;

1.97
date	96.08.23.16.50.27;	author jkh;	state Exp;
branches;
next	1.96;

1.96
date	96.08.07.19.28.09;	author nate;	state Exp;
branches;
next	1.95;

1.95
date	96.08.07.13.25.54;	author peter;	state Exp;
branches;
next	1.94;

1.94
date	96.08.07.13.21.43;	author peter;	state Exp;
branches;
next	1.93;

1.93
date	96.08.03.13.00.35;	author jkh;	state Exp;
branches;
next	1.92;

1.92
date	96.08.03.06.44.46;	author jkh;	state Exp;
branches;
next	1.91;

1.91
date	96.07.27.21.47.42;	author peter;	state Exp;
branches;
next	1.90;

1.90
date	96.07.21.00.05.31;	author jraynard;	state Exp;
branches;
next	1.89;

1.89
date	96.07.01.06.13.31;	author jkh;	state Exp;
branches;
next	1.88;

1.88
date	96.06.28.05.36.00;	author phk;	state Exp;
branches;
next	1.87;

1.87
date	96.06.27.06.00.52;	author peter;	state Exp;
branches;
next	1.86;

1.86
date	96.06.26.22.47.52;	author nate;	state Exp;
branches;
next	1.85;

1.85
date	96.06.24.04.22.10;	author jkh;	state Exp;
branches;
next	1.84;

1.84
date	96.06.22.17.58.44;	author pst;	state Exp;
branches;
next	1.83;

1.83
date	96.06.20.18.47.04;	author jkh;	state Exp;
branches;
next	1.82;

1.82
date	96.06.20.13.38.15;	author adam;	state Exp;
branches;
next	1.81;

1.81
date	96.06.19.21.19.56;	author nate;	state Exp;
branches;
next	1.80;

1.80
date	96.06.19.20.48.48;	author nate;	state Exp;
branches;
next	1.79;

1.79
date	96.05.04.07.12.07;	author markm;	state Exp;
branches;
next	1.78;

1.78
date	96.03.24.13.16.45;	author paul;	state Exp;
branches;
next	1.77;

1.77
date	96.03.11.14.59.10;	author jkh;	state Exp;
branches;
next	1.76;

1.76
date	96.02.17.14.23.25;	author peter;	state Exp;
branches;
next	1.75;

1.75
date	96.02.11.08.58.01;	author markm;	state Exp;
branches;
next	1.74;

1.74
date	96.01.30.05.46.35;	author nate;	state Exp;
branches;
next	1.73;

1.73
date	96.01.30.05.22.00;	author nate;	state Exp;
branches;
next	1.72;

1.72
date	96.01.01.08.33.17;	author peter;	state Exp;
branches;
next	1.71;

1.71
date	95.12.27.05.36.20;	author pst;	state Exp;
branches;
next	1.70;

1.70
date	95.11.28.20.04.19;	author nate;	state Exp;
branches;
next	1.69;

1.69
date	95.11.26.07.31.13;	author jkh;	state Exp;
branches;
next	1.68;

1.68
date	95.11.25.01.28.07;	author peter;	state Exp;
branches;
next	1.67;

1.67
date	95.11.09.09.58.17;	author jkh;	state Exp;
branches;
next	1.66;

1.66
date	95.11.05.18.42.23;	author jfieber;	state Exp;
branches;
next	1.65;

1.65
date	95.10.26.09.24.59;	author phk;	state Exp;
branches;
next	1.64;

1.64
date	95.10.24.18.51.08;	author nate;	state Exp;
branches;
next	1.63;

1.63
date	95.10.24.08.37.28;	author phk;	state Exp;
branches;
next	1.62;

1.62
date	95.09.17.03.38.54;	author jkh;	state Exp;
branches;
next	1.61;

1.61
date	95.09.16.23.22.39;	author gibbs;	state Exp;
branches;
next	1.60;

1.60
date	95.09.15.01.09.59;	author ache;	state Exp;
branches;
next	1.59;

1.59
date	95.08.30.17.27.57;	author davidg;	state Exp;
branches;
next	1.58;

1.58
date	95.08.04.12.06.51;	author asami;	state Exp;
branches;
next	1.57;

1.57
date	95.05.29.23.50.55;	author rgrimes;	state Exp;
branches
	1.57.4.1;
next	1.56;

1.56
date	95.05.13.03.34.23;	author rgrimes;	state Exp;
branches;
next	1.55;

1.55
date	95.05.06.03.59.58;	author rgrimes;	state Exp;
branches;
next	1.54;

1.54
date	95.05.05.18.00.30;	author rgrimes;	state Exp;
branches;
next	1.53;

1.53
date	95.04.27.11.25.48;	author jkh;	state Exp;
branches;
next	1.52;

1.52
date	95.03.28.18.14.17;	author sos;	state Exp;
branches;
next	1.51;

1.51
date	95.03.27.01.31.09;	author rgrimes;	state Exp;
branches;
next	1.50;

1.50
date	95.03.23.23.40.29;	author rgrimes;	state Exp;
branches;
next	1.49;

1.49
date	95.03.23.19.03.02;	author rgrimes;	state Exp;
branches;
next	1.48;

1.48
date	95.03.19.17.24.24;	author ats;	state Exp;
branches;
next	1.47;

1.47
date	95.03.19.08.23.47;	author rgrimes;	state Exp;
branches;
next	1.46;

1.46
date	95.03.18.07.00.25;	author rgrimes;	state Exp;
branches;
next	1.45;

1.45
date	95.03.17.04.59.44;	author phk;	state Exp;
branches;
next	1.44;

1.44
date	95.03.14.21.32.46;	author roberto;	state Exp;
branches;
next	1.43;

1.43
date	95.03.06.13.32.58;	author se;	state Exp;
branches;
next	1.42;

1.42
date	95.03.06.05.52.47;	author nate;	state Exp;
branches;
next	1.41;

1.41
date	95.02.26.01.27.27;	author phk;	state Exp;
branches;
next	1.40;

1.40
date	95.02.09.11.09.41;	author jkh;	state Exp;
branches;
next	1.39;

1.39
date	95.01.24.22.30.37;	author ache;	state Exp;
branches;
next	1.38;

1.38
date	95.01.24.22.15.25;	author ache;	state Exp;
branches;
next	1.37;

1.37
date	95.01.21.23.01.19;	author wollman;	state Exp;
branches;
next	1.36;

1.36
date	95.01.20.20.28.31;	author wollman;	state Exp;
branches;
next	1.35;

1.35
date	95.01.19.22.41.25;	author wollman;	state Exp;
branches;
next	1.34;

1.34
date	95.01.13.21.00.05;	author wollman;	state Exp;
branches;
next	1.33;

1.33
date	95.01.11.11.52.50;	author jkh;	state Exp;
branches;
next	1.32;

1.32
date	95.01.03.22.03.25;	author nate;	state Exp;
branches;
next	1.31;

1.31
date	94.12.04.02.46.28;	author ache;	state Exp;
branches;
next	1.30;

1.30
date	94.11.14.20.52.54;	author phk;	state Exp;
branches;
next	1.29;

1.29
date	94.11.08.00.55.08;	author ache;	state Exp;
branches;
next	1.28;

1.28
date	94.11.01.19.52.38;	author pst;	state Exp;
branches;
next	1.27;

1.27
date	94.10.15.21.19.56;	author wollman;	state Exp;
branches;
next	1.26;

1.26
date	94.10.11.23.33.00;	author ache;	state Exp;
branches;
next	1.25;

1.25
date	94.10.08.15.08.14;	author ache;	state Exp;
branches;
next	1.24;

1.24
date	94.09.30.16.08.47;	author paul;	state Exp;
branches;
next	1.23;

1.23
date	94.09.29.21.20.12;	author pst;	state Exp;
branches;
next	1.22;

1.22
date	94.09.29.13.06.46;	author csgr;	state Exp;
branches;
next	1.21;

1.21
date	94.09.23.09.00.35;	author rgrimes;	state Exp;
branches;
next	1.20;

1.20
date	94.09.23.08.36.37;	author rgrimes;	state Exp;
branches;
next	1.19;

1.19
date	94.09.19.05.32.31;	author phk;	state Exp;
branches;
next	1.18;

1.18
date	94.09.16.20.24.15;	author wollman;	state Exp;
branches;
next	1.17;

1.17
date	94.09.12.05.17.15;	author rgrimes;	state Exp;
branches;
next	1.16;

1.16
date	94.09.09.20.29.20;	author csgr;	state Exp;
branches;
next	1.15;

1.15
date	94.09.03.02.38.28;	author paul;	state Exp;
branches;
next	1.14;

1.14
date	94.08.26.20.44.12;	author paul;	state Exp;
branches;
next	1.13;

1.13
date	94.08.26.20.16.58;	author paul;	state Exp;
branches;
next	1.12;

1.12
date	94.08.25.14.45.46;	author paul;	state Exp;
branches;
next	1.11;

1.11
date	94.08.25.10.47.30;	author paul;	state Exp;
branches;
next	1.10;

1.10
date	94.08.20.21.34.59;	author csgr;	state Exp;
branches;
next	1.9;

1.9
date	94.08.16.02.55.14;	author jkh;	state Exp;
branches;
next	1.8;

1.8
date	94.08.14.16.53.33;	author jkh;	state Exp;
branches;
next	1.7;

1.7
date	94.08.14.16.52.44;	author jkh;	state Exp;
branches;
next	1.6;

1.6
date	94.08.13.22.47.28;	author jkh;	state Exp;
branches;
next	1.5;

1.5
date	94.08.10.19.19.35;	author jkh;	state Exp;
branches;
next	1.4;

1.4
date	94.08.07.21.01.26;	author jkh;	state Exp;
branches;
next	1.3;

1.3
date	94.08.07.20.56.35;	author jkh;	state Exp;
branches;
next	1.2;

1.2
date	94.08.07.20.52.54;	author jkh;	state Exp;
branches;
next	1.1;

1.1
date	94.05.27.12.42.52;	author rgrimes;	state Exp;
branches
	1.1.1.1;
next	;

1.404.2.1
date	2012.11.17.01.48.28;	author svnexp;	state dead;
branches;
next	1.404.2.2;

1.404.2.2
date	2013.03.28.13.00.03;	author svnexp;	state Exp;
branches;
next	;

1.392.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.392.2.1.2.1;
next	1.392.2.2;

1.392.2.2
date	2011.11.23.12.23.32;	author gjb;	state Exp;
branches;
next	1.392.2.3;

1.392.2.3
date	2012.02.20.17.09.52;	author pluknet;	state Exp;
branches
	1.392.2.3.2.1;
next	1.392.2.4;

1.392.2.4
date	2012.11.17.11.36.03;	author svnexp;	state Exp;
branches;
next	1.392.2.5;

1.392.2.5
date	2013.04.16.07.03.21;	author svnexp;	state Exp;
branches;
next	1.392.2.6;

1.392.2.6
date	2013.06.12.14.01.43;	author svnexp;	state Exp;
branches;
next	1.392.2.7;

1.392.2.7
date	2013.06.20.23.01.41;	author svnexp;	state Exp;
branches;
next	1.392.2.8;

1.392.2.8
date	2013.07.03.20.01.43;	author svnexp;	state Exp;
branches;
next	1.392.2.9;

1.392.2.9
date	2014.04.23.10.02.30;	author svnexp;	state Exp;
branches;
next	1.392.2.10;

1.392.2.10
date	2014.05.06.16.01.42;	author svnexp;	state Exp;
branches;
next	;

1.392.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.392.2.1.2.2;

1.392.2.1.2.2
date	2011.11.23.12.24.04;	author gjb;	state Exp;
branches;
next	1.392.2.1.2.3;

1.392.2.1.2.3
date	2012.11.17.08.36.04;	author svnexp;	state Exp;
branches;
next	;

1.392.2.3.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.392.2.3.2.2;

1.392.2.3.2.2
date	2012.11.17.08.46.53;	author svnexp;	state Exp;
branches;
next	;

1.358.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.358.2.1.2.1;
next	1.358.2.2;

1.358.2.2
date	2010.03.27.17.22.08;	author bz;	state Exp;
branches;
next	1.358.2.3;

1.358.2.3
date	2010.03.29.01.24.20;	author dougb;	state Exp;
branches
	1.358.2.3.2.1
	1.358.2.3.4.1;
next	1.358.2.4;

1.358.2.4
date	2011.03.03.18.52.11;	author jhb;	state Exp;
branches;
next	1.358.2.5;

1.358.2.5
date	2011.03.11.16.24.49;	author jhb;	state Exp;
branches;
next	1.358.2.6;

1.358.2.6
date	2011.04.09.12.42.40;	author bz;	state Exp;
branches;
next	1.358.2.7;

1.358.2.7
date	2011.04.13.19.54.54;	author dougb;	state Exp;
branches;
next	1.358.2.8;

1.358.2.8
date	2011.04.16.23.38.35;	author bz;	state Exp;
branches;
next	1.358.2.9;

1.358.2.9
date	2011.11.23.12.24.29;	author gjb;	state Exp;
branches;
next	1.358.2.10;

1.358.2.10
date	2012.02.08.18.21.48;	author bz;	state Exp;
branches
	1.358.2.10.2.1;
next	1.358.2.11;

1.358.2.11
date	2012.03.07.08.07.28;	author pluknet;	state Exp;
branches;
next	1.358.2.12;

1.358.2.12
date	2012.11.17.10.35.48;	author svnexp;	state Exp;
branches;
next	1.358.2.13;

1.358.2.13
date	2013.03.01.10.23.06;	author svnexp;	state Exp;
branches;
next	1.358.2.14;

1.358.2.14
date	2013.04.16.07.22.47;	author svnexp;	state Exp;
branches;
next	1.358.2.15;

1.358.2.15
date	2013.06.21.23.21.38;	author svnexp;	state Exp;
branches;
next	;

1.358.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.358.2.3.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.358.2.3.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.358.2.10.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.358.2.10.2.2;

1.358.2.10.2.2
date	2012.11.17.08.24.31;	author svnexp;	state Exp;
branches;
next	;

1.341.2.1
date	2007.11.22.01.33.08;	author delphij;	state Exp;
branches;
next	1.341.2.2;

1.341.2.2
date	2008.02.12.20.17.53;	author jhb;	state Exp;
branches;
next	1.341.2.3;

1.341.2.3
date	2008.05.10.18.43.57;	author rwatson;	state Exp;
branches;
next	1.341.2.4;

1.341.2.4
date	2008.08.27.04.41.15;	author jb;	state Exp;
branches;
next	1.341.2.5;

1.341.2.5
date	2008.08.27.19.37.19;	author kib;	state Exp;
branches
	1.341.2.5.2.1;
next	1.341.2.6;

1.341.2.6
date	2009.02.07.15.21.11;	author bz;	state Exp;
branches;
next	1.341.2.7;

1.341.2.7
date	2009.03.18.20.22.21;	author bz;	state Exp;
branches
	1.341.2.7.2.1
	1.341.2.7.4.1;
next	1.341.2.8;

1.341.2.8
date	2010.03.29.22.59.35;	author dougb;	state Exp;
branches
	1.341.2.8.2.1;
next	1.341.2.9;

1.341.2.9
date	2011.04.13.19.55.58;	author dougb;	state Exp;
branches;
next	1.341.2.10;

1.341.2.10
date	2011.11.23.12.24.48;	author gjb;	state Exp;
branches;
next	1.341.2.11;

1.341.2.11
date	2012.02.08.18.22.10;	author bz;	state Exp;
branches;
next	1.341.2.12;

1.341.2.12
date	2012.03.07.08.21.25;	author pluknet;	state Exp;
branches;
next	1.341.2.13;

1.341.2.13
date	2012.11.17.08.00.43;	author svnexp;	state Exp;
branches;
next	;

1.341.2.5.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.341.2.7.2.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.341.2.7.4.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.341.2.8.2.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.341.2.8.2.2;

1.341.2.8.2.2
date	2012.11.17.08.16.31;	author svnexp;	state Exp;
branches;
next	;

1.319.2.1
date	2005.11.16.06.56.09;	author ru;	state Exp;
branches;
next	1.319.2.2;

1.319.2.2
date	2006.01.07.19.40.08;	author netchild;	state Exp;
branches;
next	1.319.2.3;

1.319.2.3
date	2006.03.06.11.17.49;	author yar;	state Exp;
branches;
next	1.319.2.4;

1.319.2.4
date	2006.03.06.19.36.22;	author ru;	state Exp;
branches;
next	1.319.2.5;

1.319.2.5
date	2006.12.04.18.44.07;	author ru;	state Exp;
branches;
next	1.319.2.6;

1.319.2.6
date	2007.03.28.08.46.02;	author ru;	state Exp;
branches;
next	1.319.2.7;

1.319.2.7
date	2008.02.12.20.19.34;	author jhb;	state Exp;
branches
	1.319.2.7.2.1;
next	1.319.2.8;

1.319.2.8
date	2010.01.17.13.36.40;	author bz;	state Exp;
branches;
next	1.319.2.9;

1.319.2.9
date	2010.01.17.13.49.18;	author bz;	state Exp;
branches;
next	1.319.2.10;

1.319.2.10
date	2012.11.17.07.38.31;	author svnexp;	state Exp;
branches;
next	;

1.319.2.7.2.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.306.2.1
date	2004.11.08.19.38.31;	author ru;	state Exp;
branches;
next	1.306.2.2;

1.306.2.2
date	2004.11.10.23.39.31;	author peter;	state Exp;
branches;
next	1.306.2.3;

1.306.2.3
date	2005.01.29.19.57.36;	author marcel;	state Exp;
branches;
next	1.306.2.4;

1.306.2.4
date	2005.01.30.23.33.16;	author marcel;	state Exp;
branches;
next	1.306.2.5;

1.306.2.5
date	2006.03.06.11.22.53;	author yar;	state Exp;
branches;
next	;

1.234.2.1
date	2000.08.15.23.28.44;	author jhb;	state Exp;
branches;
next	1.234.2.2;

1.234.2.2
date	2000.11.05.22.44.47;	author jkh;	state Exp;
branches;
next	1.234.2.3;

1.234.2.3
date	2000.11.07.08.47.38;	author jkh;	state Exp;
branches;
next	1.234.2.4;

1.234.2.4
date	2000.12.01.21.58.09;	author jkh;	state Exp;
branches;
next	1.234.2.5;

1.234.2.5
date	2000.12.01.22.01.19;	author jkh;	state Exp;
branches;
next	1.234.2.6;

1.234.2.6
date	2000.12.06.06.00.43;	author obrien;	state Exp;
branches;
next	1.234.2.7;

1.234.2.7
date	2001.02.02.08.33.47;	author peter;	state Exp;
branches;
next	1.234.2.8;

1.234.2.8
date	2001.03.05.13.08.30;	author ru;	state Exp;
branches;
next	1.234.2.9;

1.234.2.9
date	2001.03.06.03.17.38;	author jkh;	state Exp;
branches;
next	1.234.2.10;

1.234.2.10
date	2001.04.25.09.08.35;	author ru;	state Exp;
branches;
next	1.234.2.11;

1.234.2.11
date	2002.04.28.19.59.27;	author gshapiro;	state Exp;
branches;
next	1.234.2.12;

1.234.2.12
date	2002.05.16.05.36.41;	author jwd;	state Exp;
branches;
next	1.234.2.13;

1.234.2.13
date	2002.07.16.14.05.29;	author ru;	state Exp;
branches;
next	1.234.2.14;

1.234.2.14
date	2002.07.16.18.36.19;	author ru;	state Exp;
branches;
next	1.234.2.15;

1.234.2.15
date	2002.07.20.10.05.53;	author ru;	state Exp;
branches;
next	1.234.2.16;

1.234.2.16
date	2002.07.22.14.21.43;	author ru;	state Exp;
branches;
next	1.234.2.17;

1.234.2.17
date	2002.07.23.08.22.49;	author ru;	state Exp;
branches;
next	1.234.2.18;

1.234.2.18
date	2002.07.25.09.33.13;	author ru;	state Exp;
branches;
next	1.234.2.19;

1.234.2.19
date	2003.04.16.09.59.40;	author ru;	state Exp;
branches;
next	1.234.2.20;

1.234.2.20
date	2012.11.17.07.21.58;	author svnexp;	state Exp;
branches;
next	;

1.222.2.1
date	99.01.27.02.24.45;	author jkh;	state Exp;
branches;
next	1.222.2.2;

1.222.2.2
date	99.02.17.21.04.44;	author msmith;	state Exp;
branches;
next	1.222.2.3;

1.222.2.3
date	99.03.24.04.26.19;	author jkh;	state Exp;
branches;
next	1.222.2.4;

1.222.2.4
date	99.05.10.19.55.58;	author obrien;	state Exp;
branches;
next	1.222.2.5;

1.222.2.5
date	99.08.29.15.55.25;	author peter;	state Exp;
branches;
next	;

1.109.2.1
date	96.11.28.21.43.35;	author phk;	state Exp;
branches;
next	1.109.2.2;

1.109.2.2
date	96.12.20.08.20.06;	author asami;	state Exp;
branches;
next	1.109.2.3;

1.109.2.3
date	97.04.11.16.57.40;	author asami;	state Exp;
branches;
next	1.109.2.4;

1.109.2.4
date	97.05.13.16.09.59;	author jdp;	state Exp;
branches;
next	1.109.2.5;

1.109.2.5
date	97.05.21.22.51.19;	author asami;	state Exp;
branches;
next	1.109.2.6;

1.109.2.6
date	97.05.27.23.40.47;	author nate;	state Exp;
branches;
next	1.109.2.7;

1.109.2.7
date	97.06.08.15.02.40;	author jfieber;	state Exp;
branches;
next	1.109.2.8;

1.109.2.8
date	97.07.31.08.32.42;	author asami;	state Exp;
branches;
next	1.109.2.9;

1.109.2.9
date	97.08.05.03.46.23;	author asami;	state Exp;
branches;
next	1.109.2.10;

1.109.2.10
date	97.08.11.18.36.35;	author asami;	state Exp;
branches;
next	1.109.2.11;

1.109.2.11
date	97.08.19.23.39.07;	author nate;	state Exp;
branches;
next	1.109.2.12;

1.109.2.12
date	97.08.21.05.14.19;	author peter;	state Exp;
branches;
next	1.109.2.13;

1.109.2.13
date	97.09.01.07.26.42;	author peter;	state Exp;
branches;
next	1.109.2.14;

1.109.2.14
date	97.09.05.09.12.51;	author peter;	state Exp;
branches;
next	1.109.2.15;

1.109.2.15
date	97.09.10.07.18.42;	author peter;	state Exp;
branches;
next	1.109.2.16;

1.109.2.16
date	97.09.15.05.52.04;	author rgrimes;	state Exp;
branches;
next	1.109.2.17;

1.109.2.17
date	97.09.15.17.39.31;	author jkh;	state Exp;
branches;
next	1.109.2.18;

1.109.2.18
date	97.09.17.23.50.26;	author rgrimes;	state Exp;
branches;
next	1.109.2.19;

1.109.2.19
date	97.09.28.16.33.05;	author mckay;	state Exp;
branches;
next	1.109.2.20;

1.109.2.20
date	97.10.26.22.46.16;	author jkh;	state Exp;
branches;
next	1.109.2.21;

1.109.2.21
date	98.02.06.09.52.34;	author adam;	state Exp;
branches;
next	1.109.2.22;

1.109.2.22
date	98.02.18.11.36.46;	author markm;	state Exp;
branches;
next	1.109.2.23;

1.109.2.23
date	98.02.19.00.23.43;	author nate;	state Exp;
branches;
next	1.109.2.24;

1.109.2.24
date	98.03.09.14.18.02;	author jkh;	state Exp;
branches;
next	1.109.2.25;

1.109.2.25
date	98.03.18.07.58.13;	author jkh;	state Exp;
branches;
next	1.109.2.26;

1.109.2.26
date	98.04.19.09.11.17;	author obrien;	state Exp;
branches;
next	1.109.2.27;

1.109.2.27
date	98.04.26.08.40.48;	author jkh;	state Exp;
branches;
next	1.109.2.28;

1.109.2.28
date	98.05.15.10.16.20;	author bde;	state Exp;
branches;
next	1.109.2.29;

1.109.2.29
date	98.05.29.06.06.08;	author jkh;	state Exp;
branches;
next	1.109.2.30;

1.109.2.30
date	98.06.02.18.41.21;	author jhay;	state Exp;
branches;
next	1.109.2.31;

1.109.2.31
date	98.06.02.18.55.17;	author jhay;	state Exp;
branches;
next	1.109.2.32;

1.109.2.32
date	98.06.29.10.15.32;	author jkh;	state Exp;
branches;
next	1.109.2.33;

1.109.2.33
date	98.07.03.14.28.32;	author jkh;	state Exp;
branches;
next	1.109.2.34;

1.109.2.34
date	98.09.04.06.07.43;	author jkh;	state Exp;
branches;
next	1.109.2.35;

1.109.2.35
date	98.09.07.19.05.21;	author jkh;	state Exp;
branches;
next	1.109.2.36;

1.109.2.36
date	99.09.05.10.58.36;	author peter;	state Exp;
branches;
next	;

1.57.4.1
date	95.08.30.05.40.34;	author davidg;	state Exp;
branches;
next	1.57.4.2;

1.57.4.2
date	95.08.30.14.23.40;	author davidg;	state Exp;
branches;
next	1.57.4.3;

1.57.4.3
date	95.09.16.23.24.31;	author gibbs;	state Exp;
branches;
next	1.57.4.4;

1.57.4.4
date	95.09.17.02.08.26;	author jkh;	state Exp;
branches;
next	1.57.4.5;

1.57.4.5
date	95.09.18.08.52.26;	author davidg;	state Exp;
branches;
next	1.57.4.6;

1.57.4.6
date	95.11.05.18.38.16;	author jfieber;	state Exp;
branches;
next	1.57.4.7;

1.57.4.7
date	95.11.09.10.57.04;	author jkh;	state Exp;
branches;
next	1.57.4.8;

1.57.4.8
date	95.11.10.03.06.55;	author jkh;	state Exp;
branches;
next	1.57.4.9;

1.57.4.9
date	96.02.22.20.31.49;	author peter;	state Exp;
branches;
next	1.57.4.10;

1.57.4.10
date	96.02.27.20.51.58;	author peter;	state Exp;
branches;
next	1.57.4.11;

1.57.4.11
date	96.05.09.06.15.02;	author jkh;	state Exp;
branches;
next	1.57.4.12;

1.57.4.12
date	96.05.21.15.44.17;	author jkh;	state Exp;
branches;
next	1.57.4.13;

1.57.4.13
date	96.06.03.05.02.48;	author jkh;	state Exp;
branches;
next	1.57.4.14;

1.57.4.14
date	96.06.05.02.35.04;	author jkh;	state Exp;
branches;
next	1.57.4.15;

1.57.4.15
date	96.06.20.14.03.52;	author jkh;	state Exp;
branches;
next	1.57.4.16;

1.57.4.16
date	96.06.21.19.41.35;	author markm;	state Exp;
branches;
next	1.57.4.17;

1.57.4.17
date	96.06.26.22.48.47;	author nate;	state Exp;
branches;
next	1.57.4.18;

1.57.4.18
date	96.08.11.03.05.16;	author rgrimes;	state Exp;
branches;
next	1.57.4.19;

1.57.4.19
date	96.11.08.06.08.10;	author jkh;	state Exp;
branches;
next	1.57.4.20;

1.57.4.20
date	97.06.08.15.00.40;	author jfieber;	state Exp;
branches;
next	1.57.4.21;

1.57.4.21
date	99.09.05.10.58.40;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	94.05.27.12.42.53;	author rgrimes;	state Exp;
branches;
next	;


desc
@@


1.413
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/253003
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@#
# $FreeBSD: head/Makefile 253003 2013-07-07 20:44:04Z alfred $
#
# The user-driven targets are:
#
# universe            - *Really* build *everything* (buildworld and
#                       all kernels on all architectures).
# tinderbox           - Same as universe, but presents a list of failed build
#                       targets and exits with an error if there were any.
# buildworld          - Rebuild *everything*, including glue to help do
#                       upgrades.
# installworld        - Install everything built by "buildworld".
# world               - buildworld + installworld, no kernel.
# buildkernel         - Rebuild the kernel and the kernel-modules.
# installkernel       - Install the kernel and the kernel-modules.
# installkernel.debug
# reinstallkernel     - Reinstall the kernel and the kernel-modules.
# reinstallkernel.debug
# kernel              - buildkernel + installkernel.
# kernel-toolchain    - Builds the subset of world necessary to build a kernel
# kernel-toolchains   - Build kernel-toolchain for all universe targets.
# doxygen             - Build API documentation of the kernel, needs doxygen.
# update              - Convenient way to update your source tree(s).
# check-old           - List obsolete directories/files/libraries.
# check-old-dirs      - List obsolete directories.
# check-old-files     - List obsolete files.
# check-old-libs      - List obsolete libraries.
# delete-old          - Delete obsolete directories/files.
# delete-old-dirs     - Delete obsolete directories.
# delete-old-files    - Delete obsolete files.
# delete-old-libs     - Delete obsolete libraries.
# targets             - Print a list of supported TARGET/TARGET_ARCH pairs
#                       for world and kernel targets.
# toolchains          - Build a toolchain for all world and kernel targets.
# 
# "quick" way to test all kernel builds:
# 	_jflag=`sysctl -n hw.ncpu`
# 	_jflag=$(($_jflag * 2))
# 	[ $_jflag -gt 12 ] && _jflag=12
# 	make universe -DMAKE_JUST_KERNELS JFLAG=-j${_jflag}
#
# This makefile is simple by design. The FreeBSD make automatically reads
# the /usr/share/mk/sys.mk unless the -m argument is specified on the
# command line. By keeping this makefile simple, it doesn't matter too
# much how different the installed mk files are from those in the source
# tree. This makefile executes a child make process, forcing it to use
# the mk files from the source tree which are supposed to DTRT.
#
# Most of the user-driven targets (as listed above) are implemented in
# Makefile.inc1.  The exceptions are universe, tinderbox and targets.
#
# If you want to build your system from source be sure that /usr/obj has
# at least 1GB of diskspace available.  A complete 'universe' build requires
# about 15GB of space.
#
# For individuals wanting to build from the sources currently on their
# system, the simple instructions are:
#
# 1.  `cd /usr/src'  (or to the directory containing your source tree).
# 2.  Define `HISTORICAL_MAKE_WORLD' variable (see README).
# 3.  `make world'
#
# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#       [steps 3. & 4. can be combined by using the "kernel" target]
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `mergemaster'		(you may wish to use -i, along with -U or -F).
#  9.  `make delete-old'
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
#
# See src/UPDATING `COMMON ITEMS' for more complete information.
#
# If TARGET=machine (e.g. ia64, sparc64, ...) is specified you can
# cross build world for other machine types using the buildworld target,
# and once the world is built you can cross build a kernel using the
# buildkernel target.
#
# Define the user-driven targets. These are listed here in alphabetical
# order, but that's not important.
#
# Targets that begin with underscore are internal targets intended for
# developer convenience only.  They are intentionally not documented and
# completely subject to change without notice.
#
# For more information, see the build(7) manual page.
#
TGTS=	all all-man buildenv buildenvvars buildkernel buildworld \
	check-old check-old-dirs check-old-files check-old-libs \
	checkdpadd clean cleandepend cleandir \
	delete-old delete-old-dirs delete-old-files delete-old-libs \
	depend distribute distributekernel distributekernel.debug \
	distributeworld distrib-dirs distribution doxygen \
	everything hier hierarchy install installcheck installkernel \
	installkernel.debug packagekernel packageworld \
	reinstallkernel reinstallkernel.debug \
	installworld kernel-toolchain libraries lint maninstall \
	obj objlink regress rerelease showconfig tags toolchain update \
	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
	_build-tools _cross-tools _includes _libraries _depend \
	build32 builddtb distribute32 install32 xdev xdev-build xdev-install \

TGTS+=	${SUBDIR_TARGETS}

BITGTS=	files includes
BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}
TGTS+=	${BITGTS}

.ORDER: buildworld installworld
.ORDER: buildworld distributeworld
.ORDER: buildworld buildkernel
.ORDER: buildkernel installkernel
.ORDER: buildkernel installkernel.debug
.ORDER: buildkernel reinstallkernel
.ORDER: buildkernel reinstallkernel.debug

PATH=	/sbin:/bin:/usr/sbin:/usr/bin
MAKEOBJDIRPREFIX?=	/usr/obj
_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
    -f /dev/null -V MAKEOBJDIRPREFIX dummy
.if !empty(_MAKEOBJDIRPREFIX)
.error MAKEOBJDIRPREFIX can only be set in environment, not as a global\
	(in make.conf(5)) or command-line variable.
.endif
MAKEPATH=	${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}
BINMAKE= \
	`if [ -x ${MAKEPATH}/make ]; then echo ${MAKEPATH}/make; else echo ${MAKE}; fi` \
	-m ${.CURDIR}/share/mk
_MAKE=	PATH=${PATH} ${BINMAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}

# Guess machine architecture from machine type, and vice versa.
.if !defined(TARGET_ARCH) && defined(TARGET)
_TARGET_ARCH=	${TARGET:S/pc98/i386/}
.elif !defined(TARGET) && defined(TARGET_ARCH) && \
    ${TARGET_ARCH} != ${MACHINE_ARCH}
_TARGET=		${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/}
.endif
# Legacy names, for another transition period mips:mips(n32|64)?eb -> mips:mips\1
.if defined(TARGET) && defined(TARGET_ARCH) && \
    ${TARGET} == "mips" && ${TARGET_ARCH:Mmips*eb}
_TARGET_ARCH=		${TARGET_ARCH:C/eb$//}
.warning "TARGET_ARCH of ${TARGET_ARCH} is deprecated in favor of ${_TARGET_ARCH}"
.endif
.if defined(TARGET) && ${TARGET} == "mips" && defined(TARGET_BIG_ENDIAN)
.warning "TARGET_BIG_ENDIAN is no longer necessary for MIPS.  Big-endian is not the default."
.endif
# arm with TARGET_BIG_ENDIAN -> armeb
.if defined(TARGET_ARCH) && ${TARGET_ARCH} == "arm" && defined(TARGET_BIG_ENDIAN)
.warning "TARGET_ARCH of arm with TARGET_BIG_ENDIAN is deprecated.  use armeb"
_TARGET_ARCH=armeb
.endif
.if defined(TARGET) && !defined(_TARGET)
_TARGET=${TARGET}
.endif
.if defined(TARGET_ARCH) && !defined(_TARGET_ARCH)
_TARGET_ARCH=${TARGET_ARCH}
.endif
# Otherwise, default to current machine type and architecture.
_TARGET?=	${MACHINE}
_TARGET_ARCH?=	${MACHINE_ARCH}

#
# Make sure we have an up-to-date make(1). Only world and buildworld
# should do this as those are the initial targets used for upgrades.
# The user can define ALWAYS_CHECK_MAKE to have this check performed
# for all targets.
#
.if defined(ALWAYS_CHECK_MAKE)
${TGTS}: upgrade_checks
.else
buildworld: upgrade_checks
.endif

#
# This 'cleanworld' target is not included in TGTS, because it is not a
# recursive target.  All of the work for it is done right here.   It is
# expected that BW_CANONICALOBJDIR == the CANONICALOBJDIR as would be
# created by bsd.obj.mk, except that we don't want to .include that file
# in this makefile.  
#
# In the following, the first 'rm' in a series will usually remove all
# files and directories.  If it does not, then there are probably some
# files with file flags set, so this unsets them and tries the 'rm' a
# second time.  There are situations where this target will be cleaning
# some directories via more than one method, but that duplication is
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
#
BW_CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR}
cleanworld:
.if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR}
.if exists(${BW_CANONICALOBJDIR}/)
	-rm -rf ${BW_CANONICALOBJDIR}/*
	-chflags -R 0 ${BW_CANONICALOBJDIR}
	rm -rf ${BW_CANONICALOBJDIR}/*
.endif
	#   To be safe in this case, fall back to a 'make cleandir'
	${_+_}@@cd ${.CURDIR}; ${_MAKE} cleandir
.else
	-rm -rf ${.OBJDIR}/*
	-chflags -R 0 ${.OBJDIR}
	rm -rf ${.OBJDIR}/*
.endif

#
# Handle the user-driven targets, using the source relative mk files.
#

.if empty(.MAKEFLAGS:M-n)
# skip this for -n to avoid changing previous behavior of 
# 'make -n buildworld' etc.
${TGTS}: .MAKE
.endif

${TGTS}:
	${_+_}@@cd ${.CURDIR}; ${_MAKE} ${.TARGET}

# Set a reasonable default
.MAIN:	all

STARTTIME!= LC_ALL=C date
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s ; echo
.if !empty(CHECK_TIME)
.error check your date/time: ${STARTTIME}
.endif

.if defined(HISTORICAL_MAKE_WORLD) || defined(DESTDIR)
#
# world
#
# Attempt to rebuild and reinstall everything. This target is not to be
# used for upgrading an existing FreeBSD system, because the kernel is
# not included. One can argue that this target doesn't build everything
# then.
#
world: upgrade_checks
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make world started on ${STARTTIME}"
	@@echo "--------------------------------------------------------------"
.if target(pre-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Making 'pre-world' target"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}; ${_MAKE} pre-world
.endif
	${_+_}@@cd ${.CURDIR}; ${_MAKE} buildworld
	${_+_}@@cd ${.CURDIR}; ${_MAKE} -B installworld
.if target(post-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Making 'post-world' target"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}; ${_MAKE} post-world
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make world completed on `LC_ALL=C date`"
	@@echo "                   (started ${STARTTIME})"
	@@echo "--------------------------------------------------------------"
.else
world:
	@@echo "WARNING: make world will overwrite your existing FreeBSD"
	@@echo "installation without also building and installing a new"
	@@echo "kernel.  This can be dangerous.  Please read the handbook,"
	@@echo "'Rebuilding world', for how to upgrade your system."
	@@echo "Define DESTDIR to where you want to install FreeBSD,"
	@@echo "including /, to override this warning and proceed as usual."
	@@echo ""
	@@echo "Bailing out now..."
	@@false
.endif

#
# kernel
#
# Short hand for `make buildkernel installkernel'
#
kernel: buildkernel installkernel

#
# Perform a few tests to determine if the installed tools are adequate
# for building the world.
#
upgrade_checks:
.if !defined(.PARSEDIR)
.if !defined(WITHOUT_BMAKE)
	(cd ${.CURDIR} && ${MAKE} bmake)
.else
	@@if ! (cd ${.CURDIR}/tools/build/make_check && \
	    PATH=${PATH} ${BINMAKE} obj >/dev/null 2>&1 && \
	    PATH=${PATH} ${BINMAKE} >/dev/null 2>&1); \
	then \
	    (cd ${.CURDIR} && ${MAKE} make); \
	fi
.endif
.endif

#
# Upgrade make(1) to the current version using the installed
# headers, libraries and tools.  Also, allow the location of
# the system bsdmake-like utility to be overridden.
#
MMAKEENV=	MAKEOBJDIRPREFIX=${MAKEPATH} \
		DESTDIR= \
		INSTALL="sh ${.CURDIR}/tools/install.sh"
MMAKE=		${MMAKEENV} ${MAKE} \
		-D_UPGRADING \
		-DNOMAN -DNO_MAN -DNOSHARED -DNO_SHARED \
		-DNO_CPU_CFLAGS -DNO_WERROR

make bmake: .PHONY
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Building an up-to-date make(1)"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}/usr.bin/${.TARGET}; \
		${MMAKE} obj && \
		${MMAKE} depend && \
		${MMAKE} all && \
		${MMAKE} install DESTDIR=${MAKEPATH} BINDIR=

tinderbox:
	@@cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe

toolchains:
	@@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe

kernel-toolchains:
	@@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=kernel-toolchain universe

#
# universe
#
# Attempt to rebuild *everything* for all supported architectures,
# with a reasonable chance of success, regardless of how old your
# existing system is.
#
.if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets)
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64
TARGET_ARCHES_arm?=	arm armeb armv6 armv6eb
TARGET_ARCHES_mips?=	mipsel mips mips64el mips64 mipsn32
TARGET_ARCHES_powerpc?=	powerpc powerpc64
TARGET_ARCHES_pc98?=	i386
.for target in ${TARGETS}
TARGET_ARCHES_${target}?= ${target}
.endfor

.if defined(UNIVERSE_TARGET)
MAKE_JUST_WORLDS=	YES
.else
UNIVERSE_TARGET?=	buildworld
.endif
KERNSRCDIR?=		${.CURDIR}/sys

targets:
	@@echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets"
.for target in ${TARGETS}
.for target_arch in ${TARGET_ARCHES_${target}}
	@@echo "    ${target}/${target_arch}"
.endfor
.endfor

.if defined(DOING_TINDERBOX)
FAILFILE=${.CURDIR}/_.tinderbox.failed
MAKEFAIL=tee -a ${FAILFILE}
.else
MAKEFAIL=cat
.endif

universe: universe_prologue upgrade_checks
universe_prologue:
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make universe started on ${STARTTIME}"
	@@echo "--------------------------------------------------------------"
.if defined(DOING_TINDERBOX)
	@@rm -f ${FAILFILE}
.endif
.for target in ${TARGETS}
universe: universe_${target}
.ORDER: universe_prologue upgrade_checks universe_${target} universe_epilogue
universe_${target}: universe_${target}_prologue
universe_${target}_prologue:
	@@echo ">> ${target} started on `LC_ALL=C date`"
.if !defined(MAKE_JUST_KERNELS)
.for target_arch in ${TARGET_ARCHES_${target}}
universe_${target}: universe_${target}_${target_arch}
universe_${target}_${target_arch}: universe_${target}_prologue
	@@echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`"
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \
	    TARGET=${target} \
	    TARGET_ARCH=${target_arch} \
	    > _.${target}.${target_arch}.${UNIVERSE_TARGET} 2>&1 || \
	    (echo "${target}.${target_arch} ${UNIVERSE_TARGET} failed," \
	    "check _.${target}.${target_arch}.${UNIVERSE_TARGET} for details" | \
	    ${MAKEFAIL}))
	@@echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`"
.endfor
.endif
.if !defined(MAKE_JUST_WORLDS)
# If we are building world and kernels wait for the required worlds to finish
.if !defined(MAKE_JUST_KERNELS)
.for target_arch in ${TARGET_ARCHES_${target}}
universe_${target}_kernels: universe_${target}_${target_arch}
.endfor
.endif
universe_${target}: universe_${target}_kernels
universe_${target}_kernels: universe_${target}_prologue
.if exists(${KERNSRCDIR}/${target}/conf/NOTES)
	@@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
	    ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
	    (echo "${target} 'make LINT' failed," \
	    "check _.${target}.makeLINT for details"| ${MAKEFAIL}))
.endif
	@@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} TARGET=${target} \
	    universe_kernels
.endif
	@@echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
universe_kernels: universe_kernconfs
.if !defined(TARGET)
TARGET!=	uname -m
.endif
KERNCONFS!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
		! -name DEFAULTS ! -name NOTES
universe_kernconfs:
.for kernel in ${KERNCONFS}
TARGET_ARCH_${kernel}!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
	config -m ${KERNSRCDIR}/${TARGET}/conf/${kernel} 2> /dev/null | \
	grep -v WARNING: | cut -f 2
.if empty(TARGET_ARCH_${kernel})
.error "Target architecture for ${TARGET}/conf/${kernel} unknown.  config(8) likely too old."
.endif
universe_kernconfs: universe_kernconf_${TARGET}_${kernel}
universe_kernconf_${TARGET}_${kernel}:
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildkernel \
	    TARGET=${TARGET} \
	    TARGET_ARCH=${TARGET_ARCH_${kernel}} \
	    KERNCONF=${kernel} \
	    > _.${TARGET}.${kernel} 2>&1 || \
	    (echo "${TARGET} ${kernel} kernel failed," \
	    "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
.endfor
universe: universe_epilogue
universe_epilogue:
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make universe completed on `LC_ALL=C date`"
	@@echo "                      (started ${STARTTIME})"
	@@echo "--------------------------------------------------------------"
.if defined(DOING_TINDERBOX)
	@@if [ -e ${FAILFILE} ] ; then \
		echo "Tinderbox failed:" ;\
		cat ${FAILFILE} ;\
		exit 1 ;\
	fi
.endif
.endif

buildLINT:
	${MAKE} -C ${.CURDIR}/sys/${_TARGET}/conf LINT
@


1.412
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/253002
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 253002 2013-07-07 20:39:11Z alfred $
d40 1
a40 1
# 	make universe -DMAKE_JUST_KERNELS JFLAG=${jflag}
@


1.411
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251750
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 251750 2013-06-14 16:30:11Z sjg $
d35 6
@


1.410
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251352
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 251352 2013-06-03 23:51:46Z sjg $
d212 6
@


1.409
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251107
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 251107 2013-05-29 19:16:59Z crees $
d378 1
a378 1
.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue
@


1.408
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/250719
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 250719 2013-05-16 21:26:46Z sjg $
d68 2
a69 2
#  8.  `make delete-old'
#  9.  `mergemaster'		(you may wish to use -i, along with -U or -F).
@


1.407
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249395
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 249395 2013-04-12 00:34:19Z sjg $
d284 1
a284 1
.if defined(WITH_BMAKE)
@


1.406
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249316
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 249316 2013-04-09 20:21:35Z dim $
d284 3
d294 1
d309 1
a309 1
make: .PHONY
d314 1
a314 1
	${_+_}@@cd ${.CURDIR}/usr.bin/make; \
@


1.405
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248937
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 248937 2013-03-31 02:03:34Z andrew $
d364 1
a364 1
universe: universe_prologue
d374 1
a374 1
.ORDER: universe_prologue universe_${target} universe_epilogue
@


1.404
log
@Switching exporter and resync
@
text
@d2 1
a2 1
# $FreeBSD: head/Makefile 242522 2012-11-03 20:43:12Z marcel $
d395 8
@


1.404.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:00:03 +0000
@
text
@d1 448
@


1.404.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 368
#
# $FreeBSD: releng/8.4/Makefile 247537 2013-03-01 09:39:29Z des $
#
# The user-driven targets are:
#
# universe            - *Really* build *everything* (buildworld and
#                       all kernels on all architectures).
# buildworld          - Rebuild *everything*, including glue to help do
#                       upgrades.
# installworld        - Install everything built by "buildworld".
# world               - buildworld + installworld, no kernel.
# buildkernel         - Rebuild the kernel and the kernel-modules.
# installkernel       - Install the kernel and the kernel-modules.
# installkernel.debug
# reinstallkernel     - Reinstall the kernel and the kernel-modules.
# reinstallkernel.debug
# kernel              - buildkernel + installkernel.
# doxygen             - Build API documentation of the kernel, needs doxygen.
# update              - Convenient way to update your source tree (cvs).
# check-old           - List obsolete directories/files/libraries.
# check-old-dirs      - List obsolete directories.
# check-old-files     - List obsolete files.
# check-old-libs      - List obsolete libraries.
# delete-old          - Delete obsolete directories/files.
# delete-old-dirs     - Delete obsolete directories.
# delete-old-files    - Delete obsolete files.
# delete-old-libs     - Delete obsolete libraries.
# toolchains          - Build a toolchain for all world and kernel targets.
#
# This makefile is simple by design. The FreeBSD make automatically reads
# the /usr/share/mk/sys.mk unless the -m argument is specified on the
# command line. By keeping this makefile simple, it doesn't matter too
# much how different the installed mk files are from those in the source
# tree. This makefile executes a child make process, forcing it to use
# the mk files from the source tree which are supposed to DTRT.
#
# The user-driven targets (as listed above) are implemented in Makefile.inc1.
#
# If you want to build your system from source be sure that /usr/obj has
# at least 800MB of diskspace available.
#
# For individuals wanting to build from the sources currently on their
# system, the simple instructions are:
#
# 1.  `cd /usr/src'  (or to the directory containing your source tree).
# 2.  Define `HISTORICAL_MAKE_WORLD' variable (see README).
# 3.  `make world'
#
# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#       [steps 3. & 4. can be combined by using the "kernel" target]
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `mergemaster'		(you may wish to use -i, along with -U or -F).
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
#
# See src/UPDATING `COMMON ITEMS' for more complete information.
#
# If TARGET=machine (e.g. ia64, sparc64, ...) is specified you can
# cross build world for other machine types using the buildworld target,
# and once the world is built you can cross build a kernel using the
# buildkernel target.
#
# Define the user-driven targets. These are listed here in alphabetical
# order, but that's not important.
#
# Targets that begin with underscore are internal targets intended for
# developer convenience only.  They are intentionally not documented and
# completely subject to change without notice.
#
# For more information, see the build(7) manual page.
#
TGTS=	all all-man buildenv buildenvvars buildkernel buildworld \
	check-old check-old-dirs check-old-files check-old-libs \
	checkdpadd clean cleandepend cleandir \
	delete-old delete-old-dirs delete-old-files delete-old-libs \
	depend distribute distributeworld distrib-dirs distribution doxygen \
	everything hierarchy install installcheck installkernel \
	installkernel.debug reinstallkernel reinstallkernel.debug \
	installworld kernel-toolchain libraries lint maninstall \
	obj objlink regress rerelease showconfig tags toolchain update \
	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
	_build-tools _cross-tools _includes _libraries _depend \
	build32 distribute32 install32 xdev xdev-build xdev-install
TGTS+=	${SUBDIR_TARGETS}

BITGTS=	files includes
BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}
TGTS+=	${BITGTS}

.ORDER: buildworld installworld
.ORDER: buildworld distributeworld
.ORDER: buildworld buildkernel
.ORDER: buildkernel installkernel
.ORDER: buildkernel installkernel.debug
.ORDER: buildkernel reinstallkernel
.ORDER: buildkernel reinstallkernel.debug

PATH=	/sbin:/bin:/usr/sbin:/usr/bin
MAKEOBJDIRPREFIX?=	/usr/obj
_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
    -f /dev/null -V MAKEOBJDIRPREFIX dummy
.if !empty(_MAKEOBJDIRPREFIX)
.error MAKEOBJDIRPREFIX can only be set in environment, not as a global\
	(in make.conf(5)) or command-line variable.
.endif
MAKEPATH=	${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}
BINMAKE= \
	`if [ -x ${MAKEPATH}/make ]; then echo ${MAKEPATH}/make; else echo ${MAKE}; fi` \
	-m ${.CURDIR}/share/mk
_MAKE=	PATH=${PATH} ${BINMAKE} -f Makefile.inc1

#
# Make sure we have an up-to-date make(1). Only world and buildworld
# should do this as those are the initial targets used for upgrades.
# The user can define ALWAYS_CHECK_MAKE to have this check performed
# for all targets.
#
.if defined(ALWAYS_CHECK_MAKE)
${TGTS}: upgrade_checks
.else
buildworld: upgrade_checks
.endif

#
# This 'cleanworld' target is not included in TGTS, because it is not a
# recursive target.  All of the work for it is done right here.   It is
# expected that BW_CANONICALOBJDIR == the CANONICALOBJDIR as would be
# created by bsd.obj.mk, except that we don't want to .include that file
# in this makefile.  
#
# In the following, the first 'rm' in a series will usually remove all
# files and directories.  If it does not, then there are probably some
# files with file flags set, so this unsets them and tries the 'rm' a
# second time.  There are situations where this target will be cleaning
# some directories via more than one method, but that duplication is
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
#
BW_CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR}
cleanworld:
.if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR}
.if exists(${BW_CANONICALOBJDIR}/)
	-rm -rf ${BW_CANONICALOBJDIR}/*
	-chflags -R 0 ${BW_CANONICALOBJDIR}
	rm -rf ${BW_CANONICALOBJDIR}/*
.endif
	#   To be safe in this case, fall back to a 'make cleandir'
	${_+_}@@cd ${.CURDIR}; ${_MAKE} cleandir
.else
	-rm -rf ${.OBJDIR}/*
	-chflags -R 0 ${.OBJDIR}
	rm -rf ${.OBJDIR}/*
.endif

#
# Handle the user-driven targets, using the source relative mk files.
#

${TGTS}:
	${_+_}@@cd ${.CURDIR}; \
		${_MAKE} ${.TARGET}

# Set a reasonable default
.MAIN:	all

STARTTIME!= LC_ALL=C date
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s
.if !empty(CHECK_TIME)
.error check your date/time: ${STARTTIME}
.endif

.if defined(HISTORICAL_MAKE_WORLD) || defined(DESTDIR)
#
# world
#
# Attempt to rebuild and reinstall everything. This target is not to be
# used for upgrading an existing FreeBSD system, because the kernel is
# not included. One can argue that this target doesn't build everything
# then.
#
world: upgrade_checks
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make world started on ${STARTTIME}"
	@@echo "--------------------------------------------------------------"
.if target(pre-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Making 'pre-world' target"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}; ${_MAKE} pre-world
.endif
	${_+_}@@cd ${.CURDIR}; ${_MAKE} buildworld
	${_+_}@@cd ${.CURDIR}; ${_MAKE} -B installworld
.if target(post-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Making 'post-world' target"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}; ${_MAKE} post-world
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make world completed on `LC_ALL=C date`"
	@@echo "                   (started ${STARTTIME})"
	@@echo "--------------------------------------------------------------"
.else
world:
	@@echo "WARNING: make world will overwrite your existing FreeBSD"
	@@echo "installation without also building and installing a new"
	@@echo "kernel.  This can be dangerous.  Please read the handbook,"
	@@echo "'Rebuilding world', for how to upgrade your system."
	@@echo "Define DESTDIR to where you want to install FreeBSD,"
	@@echo "including /, to override this warning and proceed as usual."
	@@echo ""
	@@echo "Bailing out now..."
	@@false
.endif

#
# kernel
#
# Short hand for `make buildkernel installkernel'
#
kernel: buildkernel installkernel

#
# Perform a few tests to determine if the installed tools are adequate
# for building the world.
#
upgrade_checks:
	@@if ! (cd ${.CURDIR}/tools/build/make_check && \
	    PATH=${PATH} ${BINMAKE} obj >/dev/null 2>&1 && \
	    PATH=${PATH} ${BINMAKE} >/dev/null 2>&1); \
	then \
	    (cd ${.CURDIR} && ${MAKE} make); \
	fi

#
# Upgrade make(1) to the current version using the installed
# headers, libraries and tools.  Also, allow the location of
# the system bsdmake-like utility to be overridden.
#
MMAKEENV=	MAKEOBJDIRPREFIX=${MAKEPATH} \
		DESTDIR= \
		INSTALL="sh ${.CURDIR}/tools/install.sh"
MMAKE=		${MMAKEENV} ${MAKE} \
		-D_UPGRADING \
		-DNOMAN -DNO_MAN -DNOSHARED -DNO_SHARED \
		-DNO_CPU_CFLAGS -DNO_WERROR

make: .PHONY
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo ">>> Building an up-to-date make(1)"
	@@echo "--------------------------------------------------------------"
	${_+_}@@cd ${.CURDIR}/usr.bin/make; \
		${MMAKE} obj && \
		${MMAKE} depend && \
		${MMAKE} all && \
		${MMAKE} install DESTDIR=${MAKEPATH} BINDIR=

tinderbox:
	@@cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe

toolchains:
	@@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe

#
# universe
#
# Attempt to rebuild *everything* for all supported architectures,
# with a reasonable chance of success, regardless of how old your
# existing system is.
#
.if make(universe) || make(universe_kernels) || make(tinderbox)
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64

.if defined(UNIVERSE_TARGET)
MAKE_JUST_WORLDS=	YES
.else
UNIVERSE_TARGET?=	buildworld
.endif
KERNSRCDIR?=		${.CURDIR}/sys

.if defined(DOING_TINDERBOX)
FAILFILE=${.CURDIR}/_.tinderbox.failed
MAKEFAIL=tee -a ${FAILFILE}
.else
MAKEFAIL=cat
.endif

universe: universe_prologue
universe_prologue:
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make universe started on ${STARTTIME}"
	@@echo "--------------------------------------------------------------"
.if defined(DOING_TINDERBOX)
	@@rm -f ${FAILFILE}
.endif
.for target in ${TARGETS}
universe: universe_${target}
.ORDER: universe_prologue universe_${target} universe_epilogue
universe_${target}:
	@@echo ">> ${target} started on `LC_ALL=C date`"
.if !defined(MAKE_JUST_KERNELS)
	@@echo ">> ${target} ${UNIVERSE_TARGET} started on `LC_ALL=C date`"
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \
	    TARGET=${target} \
	    > _.${target}.${UNIVERSE_TARGET} 2>&1 || \
	    (echo "${target} ${UNIVERSE_TARGET} failed," \
	    "check _.${target}.${UNIVERSE_TARGET} for details" | ${MAKEFAIL}))
	@@echo ">> ${target} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`"
.endif
.if !defined(MAKE_JUST_WORLDS)
.if exists(${KERNSRCDIR}/${target}/conf/NOTES)
	@@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
	    ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
	    (echo "${target} 'make LINT' failed," \
	    "check _.${target}.makeLINT for details"| ${MAKEFAIL}))
.endif
	@@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} TARGET=${target} \
	    universe_kernels
.endif
	@@echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
universe_kernels: universe_kernconfs
.if !defined(TARGET)
TARGET!=	uname -m
.endif
KERNCONFS!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
		! -name DEFAULTS ! -name NOTES
universe_kernconfs:
.for kernel in ${KERNCONFS}
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildkernel \
	    TARGET=${TARGET} \
	    KERNCONF=${kernel} \
	    > _.${TARGET}.${kernel} 2>&1 || \
	    (echo "${TARGET} ${kernel} kernel failed," \
	    "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
.endfor
universe: universe_epilogue
universe_epilogue:
	@@echo "--------------------------------------------------------------"
	@@echo ">>> make universe completed on `LC_ALL=C date`"
	@@echo "                      (started ${STARTTIME})"
	@@echo "--------------------------------------------------------------"
.if defined(DOING_TINDERBOX)
	@@if [ -e ${FAILFILE} ] ; then \
		echo "Tinderbox failed:" ;\
		cat ${FAILFILE} ;\
		exit 1 ;\
	fi
.endif
.endif
@


1.403
log
@SVN rev 242522 on 2012-11-03 20:43:12Z by marcel

Add the buildLINT convenience target, handy for build automation.
The automation can set TARGET_ARCH and TARGET and then make various
top-level targets, including buildLINT and buildkernel (with
KERNCONF=LINT). Previously there was no way to generate the LINT
kernel configuration without having to do something exceptionally
painful.
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.402
log
@SVN rev 241298 on 2012-10-06 20:01:05Z by marcel

Add support for bmake. This includes:
1.  Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE,
    there's a bootstrap complication in ths respect. Avoid it. Make the
    necessary changes to have upgrade_checks work wth bmake anyway.
2.  Remove the use of -E. It's not needed in our build because we use ?= for
    the respective variables, which means that we'll take the environment
    value (if any) anyway.
3.  Properly declare phony targets as phony as bmake is a lot smarter (and
    thus agressive) about build avoidance.
4.  Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot
    smarter about build avoidance and should not find files we generate in
    the source tree. We should not have files in the repository we want to
    generate, but this is an easier way to cross this hurdle.
5.  Have behavior under bmake the same as it is under make with respect to
    halting when sub-commands fail. Add "set -e" to compound commands so
    that bmake is informed when sub-commands fail.
6.  Make sure crunchgen uses the same make as the rest of the build. This
    is important when the make utility isn't called make (but bmake for
    example).
7.  While here, add support for using MAKEOBJDIR to set the object tree
    location. It's the second alternative bmake looks for when determining
    the actual object directory (= .OBJDIR).

Submitted by:	Simon Gerraty <sjg@@juniper.net>
Submitted by:	John Van Horne <jvanhorne@@juniper.net>
@
text
@d446 3
@


1.401
log
@SVN rev 240403 on 2012-09-12 14:44:25Z by obrien

Not all Pmake derivatives silently handle empty shell output, so ensure there
is something for make(1) to consume.  Bmake gives output such as:
   "warning: Couldn't read shell's output for "/bin/sh -c true"
Note we parted from traditional Pmake behavior in r18864 / r18255.
@
text
@d283 1
d290 1
@


1.400
log
@SVN rev 239272 on 2012-08-15 03:21:56Z by gonzo

Merging of projects/armv6, part 3

r238211:
Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb

This adds a new TARGET_ARCH for building on ARM
processors that support the ARMv6K multiprocessor
extensions.  In particular, these processors have
better support for TLS and mutex operations.

This mostly touches a lot of Makefiles to extend
existing patterns for inferring CPUARCH from ARCH.
It also configures:
 * GCC to default to arm1176jz-s
 * GCC to predefine __FreeBSD_ARCH_armv6__
 * gas to default to ARM_ARCH_V6K
 * uname -p to return 'armv6'
 * make so that MACHINE_ARCH defaults to 'armv6'
It also changes a number of headers to use
the compiler __ARM_ARCH_XXX__ macros to configure
processor-specific support routines.

Submitted by:	Tim Kientzle <kientzle@@freebsd.org>
@
text
@d219 1
a219 1
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s
@


1.399
log
@SVN rev 238051 on 2012-07-03 06:41:00Z by obrien

Add "hier" as an alternate spelling of "hierarchy" to match hier(9).
@
text
@d138 1
a138 1
_TARGET=		${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/armeb/arm/}
d332 1
a332 1
TARGET_ARCHES_arm?=	arm armeb
@


1.398
log
@SVN rev 233644 on 2012-03-29 02:54:35Z by jmallett

Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.
This makes our naming scheme more closely match other systems and the
expectations of much third-party software.  MIPS builds which are little-endian
should require and exhibit no changes.  Big-endian TARGET_ARCHes must be
changed:
	From:		To:
	mipseb		mips
	mipsn32eb	mipsn32
	mips64eb	mips64

An entry has been added to UPDATING and some foot-shooting protection (complete
with warnings which should become errors in the near future) to the top-level
base system Makefile.
@
text
@d95 1
a95 1
	everything hierarchy install installcheck installkernel \
@


1.397
log
@SVN rev 232907 on 2012-03-13 00:38:49Z by jmallett

Add a kernel-toolchains target like the toolchains target, but building only
the parts of the toolchain necessary to build kernels.
@
text
@d135 1
a135 1
_TARGET_ARCH=	${TARGET:S/pc98/i386/:S/mips/mipsel/}
d138 1
a138 1
_TARGET=		${TARGET_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/}
d140 1
a140 1
# Legacy names, for a transition period mips:mips -> mipsel:mips
d142 3
a144 6
    ${TARGET_ARCH} == "mips" && ${TARGET} == "mips"
.warning "TARGET_ARCH of mips is deprecated in favor of mipsel or mipseb"
.if defined(TARGET_BIG_ENDIAN)
_TARGET_ARCH=mipseb
.else
_TARGET_ARCH=mipsel
d146 2
d333 1
a333 1
TARGET_ARCHES_mips?=	mipsel mipseb mips64el mips64eb mipsn32eb
@


1.396
log
@SVN rev 231821 on 2012-02-16 14:08:14Z by pluknet

delete-old does not have delete-old-libs dependency.
Reflect this in the comment.

PR:		conf/163993
Submitted by:	Eugen Konkov <kes-kes at yandex ru>
MFC after:	3 days
@
text
@d21 1
d321 3
@


1.395
log
@SVN rev 227771 on 2011-11-20 20:05:47Z by gjb

Replace 'chflags' with 'file flags' in a comment, since 'chflags'
is a command, not a flag itself.

While here, wrap a line for readability.

Submitted by:		arundel
MFC after:		3 days
X-MFC-With:		227769, 227770
@
text
@d27 1
a27 1
# delete-old          - Delete obsolete directories/files/libraries.
@


1.394
log
@SVN rev 227770 on 2011-11-20 19:27:52Z by gjb

Fix the note in r227769 to be less specific to the immutable flag.

Submitted by:		arundel
MFC after:		3 days
X-MFC-With:		r227769
@
text
@d185 1
a185 1
# files with chflags set, so this unsets them and tries the 'rm' a
d189 2
a190 2
# files without file flags set in the first 'rm' instance saves
# time, because 'chflags' will need to operate on fewer files afterwards.
@


1.393
log
@SVN rev 227769 on 2011-11-20 19:05:32Z by gjb

Add a note to src/Makefile that explains that 'rm' runs twice because the
second invocation only needs to operate on files with the immutable flag
set.

Submitted by:		arundel (via private email) (original version)
Discussed on:		-toolchain@@
MFC after:		3 days
@
text
@d189 2
a190 3
# files without the immutable flag set in the first 'rm' instance saves
# time, because 'chflags' will need to operate on fewer files (with the
# immutable flag set) afterwards.
@


1.392
log
@SVN rev 223148 on 2011-06-16 12:28:37Z by ru

It's a bit odd, but "make update" in src/ can also update the ports/,
doc/, and now www/ trees, but only using the "cvsup" transport.

When "make update" is run using a tree's makefile, it can also use
"cvs" (except for www/) and "svn" (only src/).

Clean up documentation and code regarding "make update":

- Increase oddness by adding support for WWWSUPFILE and NO_WWWUPDATE to
  Makefile.inc1 (analogous to PORTSSUPFILE/NO_PORTSUPDATE and
  DOCSUPFILE/NO_DOCUPDATE; WWWSUPFILE already supported by www/Makefile).

- Document all trees that support CVS_UPDATE.

- Document all trees that support SUP_UPDATE.

- Document SVN_UPDATE.

- Document NO_WWWUPDATE.

- make.conf(5) mistakenly said that *SUPFILE* had defaults.

- Add an example entry for WWWSUPFILE.
@
text
@d188 4
a191 1
# needed to correctly handle all the possible situations.
@


1.392.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.392.2.2
log
@SVN rev 227879 on 2011-11-23 12:23:32Z by gjb

MFC r227769, 227770, 227771:

- Add a note to src/Makefile that explains that 'rm' runs twice because
  thesecond invocation only needs to operate on files with the immutable
  flag set.

- Fix the note in r227769 to be less specific to the immutable flag.

- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
  command, not a flag itself.

Approved by:		re (kib)
@
text
@d185 1
a185 1
# files with file flags set, so this unsets them and tries the 'rm' a
d188 1
a188 3
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
@


1.392.2.3
log
@SVN rev 231941 on 2012-02-20 17:09:52Z by pluknet

MFC r231821:

 delete-old does not have delete-old-libs dependency.
 Reflect this in the comment.

PR:		conf/163993
Submitted by:	Eugen Konkov <kes-kes at yandex ru>
@
text
@d27 1
a27 1
# delete-old          - Delete obsolete directories/files.
@


1.392.2.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 231941 2012-02-20 17:09:52Z pluknet $
@


1.392.2.5
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249534
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 249534 2013-04-16 06:51:07Z dim $
d359 1
a359 1
universe: universe_prologue upgrade_checks
d369 1
a369 1
.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue
@


1.392.2.6
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251653
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 251653 2013-06-12 13:17:43Z gjb $
d219 1
a219 1
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s ; echo
@


1.392.2.7
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/252048
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 252048 2013-06-20 22:50:08Z sjg $
a129 5

.if defined(.PARSEDIR)
# don't pass -J to fmake
_MAKE=	PATH=${PATH} MAKEFLAGS="${MAKEFLAGS:N-J:N1*,1*}" ${BINMAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
.else
a130 1
.endif
@


1.392.2.8
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/252588
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 252588 2013-07-03 19:12:35Z obrien $
d94 1
a94 1
	everything hier hierarchy install installcheck installkernel \
@


1.392.2.9
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/264812
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 264812 2014-04-23 09:32:33Z brueffer $
a33 4
# xdev                - xdev-build + xdev-install for the architecture
#                       specified with XDEV and XDEV_ARCH.
# xdev-build          - Build cross-development tools.
# xdev-install        - Install cross-development tools.
@


1.392.2.10
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/265450
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/Makefile 265450 2014-05-06 15:38:44Z brooks $
d225 2
a226 11
# The historic default "all" target creates files which may cause stale
# or (in the cross build case) unlinkable results. Fail with an error
# when no target is given. The users can explicitly specify "all"
# if they want the historic behavior.
.MAIN:	_guard

_guard:
	@@echo
	@@echo "Explicit target required (use \"all\" for historic behavior)"
	@@echo
	@@false
@


1.392.2.3.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.392.2.3.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.1/Makefile 231941 2012-02-20 17:09:52Z pluknet $
@


1.392.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.392.2.1.2.2
log
@SVN rev 227880 on 2011-11-23 12:24:04Z by gjb

MFC r227769, 227770, 227771:

- Add a note to src/Makefile that explains that 'rm' runs twice because
  thesecond invocation only needs to operate on files with the immutable
  flag set.

- Fix the note in r227769 to be less specific to the immutable flag.

- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
  command, not a flag itself.

Approved by:		re (kib)
@
text
@d185 1
a185 1
# files with file flags set, so this unsets them and tries the 'rm' a
d188 1
a188 3
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
@


1.392.2.1.2.3
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.0/Makefile 227880 2011-11-23 12:24:04Z gjb $
@


1.391
log
@SVN rev 221869 on 2011-05-14 01:53:38Z by attilio

Disconnect sun4v architecture from the three.

Some files keep the SUN4V tags as a code reference, for the future,
if any rewamped sun4v support wants to be added again.

Reviewed by:	marius
Tested by:	sbruno
Approved by:	re
@
text
@d22 1
a22 1
# update              - Convenient way to update your source tree (cvs).
@


1.390
log
@SVN rev 221216 on 2011-04-29 18:27:50Z by jhb

Add the mipsn32eb TARGET_ARCH to the list of mips targets for the
XLRN32 kernel config.

Reviewed by:	imp, jmallet
@
text
@d134 1
a134 1
_TARGET_ARCH=	${TARGET:S/pc98/i386/:S/sun4v/sparc64/:S/mips/mipsel/}
d326 1
a326 1
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
a330 1
TARGET_ARCHES_sun4v?=	sparc64
@


1.389
log
@SVN rev 220556 on 2011-04-12 02:07:23Z by bz

If building (custom) FreeBSD images people tend to patch param.h.  In case
this happens just before the build is started (within the same second)
CHECK_TIME actually triggers thinking param.h is in the future (see f_Xtime,
c_Xtime logi in find(1) sources for the details in !F_EXACTTIME case).
Using the -mtime -0s (seconds, rather than no unit) avoids this 1s race.

Submitted by:	ed (2009-05-03)
Reviewed by:	cperciva (2009-05-03), emaste
Tested by:	bz (for almost two years)
MFC after:	4 days
@
text
@d328 1
a328 1
TARGET_ARCHES_mips?=	mipsel mipseb mips64el mips64eb
@


1.388
log
@SVN rev 220512 on 2011-04-10 03:53:06Z by dougb

Update recommendation for mergemaster. The -a and -i options are exclusive.

PR:		docs/156271
Submitted by:	Fedor Dikarev <fedor.dikarev@@gmail.com>
@
text
@d217 1
a217 1
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0
@


1.387
log
@SVN rev 219177 on 2011-03-02 14:39:26Z by nwhitehorn

Improve the distributeworld target in Makefile.inc1 and update the release
infrastructure to use it. make distributeworld can now be used without
preparing its environment first and installs games into its distribution
using the regular make distribute logic instead of post-processing with
a script.

Also add two new targets, packageworld and packagekernel, that tar up the
results of distributeworld and distributekernel (also new), respectively.
@
text
@d68 1
a68 1
#  9.  `mergemaster'                         (you may wish to use -U or -ai).
@


1.386
log
@SVN rev 219137 on 2011-03-01 14:54:14Z by jhb

Fully honor KERNSRCDIR for 'make universe' if it is set.

MFC after:	1 week
@
text
@d92 2
a93 1
	depend distribute distributeworld distrib-dirs distribution doxygen \
d95 2
a96 1
	installkernel.debug reinstallkernel reinstallkernel.debug \
@


1.385
log
@SVN rev 218524 on 2011-02-10 18:54:52Z by jhb

- Add a new UNIVERSE_TARGET variable for 'make universe'.  If it is set,
  then that target is invoked for each architecture rather than the
  default action of building world and kernels for each architecture.
- Add a 'make toolchains' wrapper which uses UNIVERSE_TARGET to build
  toolchains for all architectures.
- Document JFLAG, MAKE_JUST_KERNELS, and MAKE_JUST_WORLDS variables for
  'make universe'.

Reviewed by:	bz
MFC after:	1 week
@
text
@d339 1
d387 2
a388 2
.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
	@@(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
d402 1
a402 1
KERNCONFS!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
d407 2
a408 2
TARGET_ARCH_${kernel}!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
	config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} 2> /dev/null | \
@


1.384
log
@SVN rev 218206 on 2011-02-02 23:59:24Z by imp

Setting TARGET and TARGET_ARCH needs to be done in _MAKE, not in the
TGTS rule as _MAKE is used elsewhere.  This should fix make world.
@
text
@d33 1
d311 4
a314 2
	@@cd ${.CURDIR} && \
		DOING_TINDERBOX=YES ${MAKE} JFLAG=${JFLAG} universe
d334 6
d373 1
a373 1
	@@echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`"
d375 1
a375 1
	    ${MAKE} ${JFLAG} buildworld \
d378 3
a380 3
	    > _.${target}.${target_arch}.buildworld 2>&1 || \
	    (echo "${target}.${target_arch} world failed," \
	    "check _.${target}.${target_arch}.buildworld for details" | \
d382 1
a382 1
	@@echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C date`"
@


1.383
log
@SVN rev 218130 on 2011-01-31 15:17:47Z by imp

Move the architecture guessing from Makefile.inc1 to Makefile.  We
need to do this because variables specified on the command line
override those specified in the Makefile.  This is why we also moved
from TARGET to _TARGET in Makefile, and then set TARGET on the command
line when we fork a submake with Makefile.inc1.

This makes mips/mips work again, even without the workaround committed to
lib/libc/Makefile.
@
text
@d127 1
a127 1
_MAKE=	PATH=${PATH} ${BINMAKE} -f Makefile.inc1
d208 1
a208 1
	${_+_}cd ${.CURDIR}; ${_MAKE} TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} ${.TARGET}
@


1.382
log
@SVN rev 217815 on 2011-01-25 08:13:31Z by bz

Back out r217734. [1]

Properly document what `make targets` is supposed to list to avoid
further confusion given the place the target sits. Should have happened
with r217125.

Requested by:	imp [1]
Reviewed by:	rwatson
@
text
@d129 32
d208 1
a208 2
	${_+_}@@cd ${.CURDIR}; \
		${_MAKE} ${.TARGET}
@


1.381
log
@SVN rev 217754 on 2011-01-23 16:28:44Z by bz

For `make tinderbox` there is no need to print the extra commands.

MFC after:	5 days
@
text
@d31 2
a32 1
# targets             - Print a list of supported TARGET/TARGET_ARCH pairs.
d301 1
a301 1
	@@echo "Supported TARGETS/TARGET_ARCH pairs"
@


1.380
log
@SVN rev 217735 on 2011-01-22 23:16:44Z by bz

Make `make tinderbox` work with MAKEOBJDIRPREFIX set (or in possibly other
combinations) by forcing FAILFILE into .CURDIR as we do for all other
universe output files. [1]  Similarly make FAILFILE start with "_." as well.

Reviewed by:	silence-on-src [1]
MFC after:	6 days
@
text
@d278 1
a278 1
	cd ${.CURDIR} && \
d320 1
a320 1
	rm -f ${FAILFILE}
@


1.379
log
@SVN rev 217734 on 2011-01-22 23:10:58Z by bz

In `make targets` print the make variable TARGETS as we expect it rather
than the grammatically better sounding variant without the 'S'.  This
allows copy and paste and is less confusing.
@
text
@d308 1
a308 1
FAILFILE=tinderbox.failed
@


1.378
log
@SVN rev 217733 on 2011-01-22 22:57:28Z by bz

Properly document what the top-level `make tinderbox` does.

Reviewed by:	jmallett
MFC After:	3 days
X-MFC:		build.7 only
@
text
@d300 1
a300 1
	@@echo "Supported TARGET/TARGET_ARCH pairs"
@


1.377
log
@SVN rev 217297 on 2011-01-12 04:59:29Z by imp

Provide up-to-date estimates that are pessimal today...
@
text
@d8 2
a9 1
# tinderbox           - Same as universe, but stop on first failure.
@


1.376
log
@SVN rev 217294 on 2011-01-11 22:57:41Z by imp

Proving once again, I can't typo: fix a type.
@
text
@d43 2
a44 1
# at least 800MB of diskspace available.
@


1.375
log
@SVN rev 217273 on 2011-01-11 18:32:05Z by imp

Minor improvements in the wording of a comment.  Document tinderbox target.
@
text
@d40 1
a40 1
# Makefile.inc1.  The exceptions are universe, tingerbox and targets.
@


1.374
log
@SVN rev 217125 on 2011-01-07 20:36:27Z by imp

make targets

This produces a list of currently supported targets.  Here "supported"
means "built in make universe" on the theory that those targets are
more supported than any that might work in 'make buildworld TARGET=x
TARGET_ARCH=y' since the latter are less tested.

Suggested by: rwatson
@
text
@d8 1
d39 2
a40 1
# The user-driven targets (as listed above) are implemented in Makefile.inc1.
@


1.373
log
@SVN rev 217123 on 2011-01-07 20:26:33Z by imp

Retire TARGET_ABI.

Implement MACHINE_ARCH=mips64e[lb] to build N64 images.  This replaces
MACHINE_ARCH=mipse[lb] TARGET_ABI=n64.

MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires
WITHOUT_CDDL due to atomic issues in libzfs.  I've not investigated
this much, but implemented this to preserve as much of the TARGET_ABI
functionality that I could.  Since its presence doesn't affect the
working cases, I've kept it in for now.

Added mips64e[lb] to make universe, so more kernels build.

And I think this (finally) closes the curtain on the tbemd tree.
@
text
@d29 1
d284 1
a284 1
.if make(universe) || make(universe_kernels) || make(tinderbox)
d295 8
@


1.372
log
@SVN rev 216934 on 2011-01-03 22:48:01Z by imp

When TARGET_ARCH_${kernel} gets set, it is using the host's config,
not the one we build as part of make world.  This means that make
universe will fail if building on a too-old current or any stable
system prior to a few days ago in weird ways (parse errors from
shell).  This copes with these old systems in two ways:

(1) Works around the WARNING: issue by filtering all warnings that
    sneak onto stdout.

(2) if TARGET_ARCH_${kernel} winds up being empty, then we error out
    immediately with a semi-useful error message.  This usually comes from
    config not groking -m.

Ideally, we'd use a buildworld's config here, but that's tricky, so
I'll leave that detail to others to fix (it has to be done post make
world for the arch rather than at the top level makefile).  This
should make 'make universe' usable from recent 8-stable systems
(recent == last few months or so) for building -current.  They have
-m, but spewed warnings out stdout.  Older systems will now at least
get a firm error early rather than a confusing error late.
@
text
@d286 1
a286 1
TARGET_ARCHES_mips?=	mipsel mipseb
@


1.371
log
@SVN rev 216685 on 2010-12-24 04:55:56Z by imp

Redirect stderr from config to /dev/null.  config -m is printing lots
of annoying warnings when dealing with arm.  The arm config files need
to be fixed, but this restricts the output to a more useful place.
@
text
@d354 4
a357 1
	cut -f 2
@


1.370
log
@SVN rev 216520 on 2010-12-18 14:34:05Z by nwhitehorn

Reconnect arm to the universe build, and connect big-endian MIPS and ARM
and powerpc64 to universe for the first time. In general, provide
(slightly hacky) knowledge of multi-architecture TARGETs to universe as
well as the ability to distinguish the correct toolchain for a given
kernel using config -m.
@
text
@d353 2
a354 2
			config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \
			cut -f 2
@


1.369
log
@SVN rev 216487 on 2010-12-16 15:27:13Z by jhb

Pass JFLAG as JFLAG from tinderbox to universe.  This gives the same
semantics for JFLAG with tinderbox as for universe.  Previously doing
'make JFLAG=-j4 tinderbox' was equivalent to 'make -j4 universe'
(i.e. 4 worlds in parallel) rather than 'make JFLAG=-j4 universe'
(i.e. worlds in sequence, each built with -j4).

MFC after:	1 month
@
text
@d284 9
a292 1
TARGETS?=amd64 i386 ia64 pc98 powerpc sparc64 sun4v mips
d312 3
a314 1
universe_${target}:
d316 4
a319 1
	@@echo ">> ${target} started on `LC_ALL=C date`"
d323 7
a329 4
	    > _.${target}.buildworld 2>&1 || \
	    (echo "${target} world failed," \
	    "check _.${target}.buildworld for details" | ${MAKEFAIL}))
	@@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
d352 5
d360 1
@


1.368
log
@SVN rev 215271 on 2010-11-13 22:38:33Z by imp

Add mips back to universe
@
text
@d274 1
a274 1
		DOING_TINDERBOX=YES ${MAKE} ${JFLAG} universe
@


1.367
log
@SVN rev 215082 on 2010-11-10 06:39:49Z by imp

Complete the integration of tbemd branch into head.

TARGET_BIG_ENDIAN is now completely dead, except where it was
originally supposed to be used (internally in the toolchain building).

TARGET_ARCH has changed in three cases:
(1) Little endian mips has changed to mipsel.
(2) Big endian mips has changed to mipseb.
(3) Big endian arm has changed to armeb.

Some additional changes are needed to make 'make universe' work on arm
and mips after this change, so those are commented out for now.

UPDATING information will be forthcoming.  Any remaining rough edges
will be hammered out in -current.
@
text
@d284 1
a284 1
TARGETS?=amd64 i386 ia64 pc98 powerpc sparc64 sun4v
@


1.366
log
@SVN rev 209128 on 2010-06-13 13:02:43Z by raj

Connect FDT infrastructure to the build system.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
@
text
@d284 1
a284 1
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
@


1.365
log
@SVN rev 205290 on 2010-03-18 18:58:17Z by dougb

For those of us mere mortals who do not aspire to the lofty heights
of kernel hackery, add MAKE_JUST_WORLDS so that we can take part in
the 'make universe' goodnes without using unecessary time and resources.
@
text
@d92 2
a93 1
	build32 distribute32 install32 xdev xdev-build xdev-install
@


1.364
log
@SVN rev 204661 on 2010-03-03 21:08:44Z by imp

Give make kernel-toolchain a one-liner here.  Although documented in
build(7), many people look here for a quick reminder...
@
text
@d314 1
d323 1
@


1.363
log
@SVN rev 202629 on 2010-01-19 15:34:16Z by ed

Back out the change to Makefile made in r202628.

It was just a local modification to build the i386 and amd64 more
quickly.
@
text
@d18 1
@


1.362
log
@SVN rev 202628 on 2010-01-19 15:31:18Z by ed

Recommit r193732:

  Remove __gnu89_inline.

  Now that we use C99 almost everywhere, just use C99-style in the pmap
  code. Since the pmap code is the only consumer of __gnu89_inline, remove
  it from cdefs.h as well. Because the flag was only introduced 17 months
  ago, I don't expect any problems.

  Reviewed by:    alc

It was backed out, because it prevented us from building kernels using a
7.x compiler. Now that most people use 8.x, there is nothing that holds
us back. Even if people run 7.x, they should be able to build a kernel
if they run `make kernel-toolchain' or `make buildworld' first.
@
text
@d306 1
a306 1
	    ${MAKE} ${JFLAG} kernel-toolchain \
@


1.361
log
@SVN rev 202095 on 2010-01-11 17:58:15Z by bz

Rather than using an extra variable, only call uname if really needed and
then directly assign the result.

Submitted by:	jmallett
MFC after:	24 days
X-MFC with:	r201815
@
text
@d306 1
a306 1
	    ${MAKE} ${JFLAG} buildworld \
@


1.360
log
@SVN rev 201960 on 2010-01-09 23:37:29Z by bz

Use uname -m [1] and rename BUILD_ARCH to XMACHINE[2].

Submitted by:	nyan[1], imp[2]
MFC after:	27 days
X-MFC with:	r201815
@
text
@d324 3
a326 2
XMACHINE!=	uname -m
TARGET?=	${XMACHINE}
@


1.359
log
@SVN rev 201815 on 2010-01-08 19:01:50Z by bz

To avoid hardcoding further kernel configuration names for
make universe, split the logic into two parts:
- 1st to build worlds and generate kernel configs like LINT.
- 2nd to build kernels for a given TARGET architecture correctly
  finding all newly generated configs, not knowing anything about
  LINT anymore. (*)

(*) If you know better/cleaner/... ways to do this, let me know.

Discussed on/with:	arch, jhb, rwatson
MFC after:		1 month
@
text
@d324 2
a325 2
BUILD_ARCH!=	uname -p
TARGET?=	${BUILD_ARCH}
@


1.358
log
@SVN rev 190628 on 2009-04-01 17:11:50Z by bz

Add a new world named 'mips' to our universe.

Discussed with:		imp
@
text
@d281 1
a281 1
.if make(universe) || make(tinderbox)
a299 4
KERNCONFS!=	cd ${.CURDIR}/sys/${target}/conf && \
		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
		! -name DEFAULTS ! -name LINT
KERNCONFS:=	${KERNCONFS:S/^NOTES$/LINT/}
d319 11
d333 1
a333 1
	    TARGET=${target} \
d335 3
a337 5
	    > _.${target}.${kernel} 2>&1 || \
	    (echo "${target} ${kernel} kernel failed," \
	    "check _.${target}.${kernel} for details"| ${MAKEFAIL}))
.endfor
	@@echo ">> ${target} completed on `LC_ALL=C date`"
@


1.358.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.358.2.2
log
@SVN rev 205747 on 2010-03-27 17:22:08Z by bz

MFC r201815:

  To avoid hardcoding further kernel configuration names for
  make universe, split the logic into two parts:
  - 1st to build worlds and generate kernel configs like LINT.
  - 2nd to build kernels for a given TARGET architecture correctly
    finding all newly generated configs, not knowing anything about
    LINT anymore.

MFC rr201960:

  Use uname -m [1] and rename BUILD_ARCH to XMACHINE[2].

  Submitted by: nyan[1], imp[2]

MFC r202095:

  Rather than using an extra variable, only call uname if really needed and
  then directly assign the result.

  Submitted by: jmallett
@
text
@d281 1
a281 1
.if make(universe) || make(universe_kernels) || make(tinderbox)
d300 4
a322 12
	@@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} TARGET=${target} \
	    universe_kernels
	@@echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
universe_kernels: universe_kernconfs
.if !defined(TARGET)
TARGET!=	uname -m
.endif
KERNCONFS!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
		! -name DEFAULTS ! -name NOTES
universe_kernconfs:
d326 1
a326 1
	    TARGET=${TARGET} \
d328 5
a332 3
	    > _.${TARGET}.${kernel} 2>&1 || \
	    (echo "${TARGET} ${kernel} kernel failed," \
	    "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
@


1.358.2.3
log
@SVN rev 205817 on 2010-03-29 01:24:20Z by dougb

MFC r205290:

MAKE_JUST_WORLDS
@
text
@a312 1
.if !defined(MAKE_JUST_WORLDS)
a320 1
.endif
@


1.358.2.4
log
@SVN rev 219245 on 2011-03-03 18:52:11Z by jhb

MFC 216487,217754,218524:
- Pass JFLAG as JFLAG from tinderbox to universe.
- For `make tinderbox` there is no need to print the extra commands.
- Add a new UNIVERSE_TARGET variable for 'make universe'.  If it is set,
  then that target is invoked for each architecture rather than the
  default action of building world and kernels for each architecture.
- Add a 'make toolchains' wrapper which uses UNIVERSE_TARGET to build
  toolchains for all architectures.
- Document JFLAG, MAKE_JUST_KERNELS, and MAKE_JUST_WORLDS variables for
  'make universe'.
@
text
@a27 1
# toolchains          - Build a toolchain for all world and kernel targets.
d271 2
a272 4
	@@cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe

toolchains:
	@@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe
a283 6
.if defined(UNIVERSE_TARGET)
MAKE_JUST_WORLDS=	YES
.else
UNIVERSE_TARGET?=	buildworld
.endif

d297 1
a297 1
	@@rm -f ${FAILFILE}
d303 1
a304 2
.if !defined(MAKE_JUST_KERNELS)
	@@echo ">> ${target} ${UNIVERSE_TARGET} started on `LC_ALL=C date`"
d306 1
a306 1
	    ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \
d308 4
a311 4
	    > _.${target}.${UNIVERSE_TARGET} 2>&1 || \
	    (echo "${target} ${UNIVERSE_TARGET} failed," \
	    "check _.${target}.${UNIVERSE_TARGET} for details" | ${MAKEFAIL}))
	@@echo ">> ${target} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`"
@


1.358.2.5
log
@SVN rev 219505 on 2011-03-11 16:24:49Z by jhb

MFC 219137: Fully honor KERNSRCDIR for 'make universe' if it is set.
@
text
@a291 1
KERNSRCDIR?=		${.CURDIR}/sys
d324 2
a325 2
.if exists(${KERNSRCDIR}/${target}/conf/NOTES)
	@@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
d339 1
a339 1
KERNCONFS!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
@


1.358.2.6
log
@SVN rev 220491 on 2011-04-09 12:42:40Z by bz

MFC r217735:

  Make `make tinderbox` work with MAKEOBJDIRPREFIX set (or in possibly other
  combinations) by forcing FAILFILE into .CURDIR as we do for all other
  universe output files. [1]  Similarly make FAILFILE start with "_." as well.

  Reviewed by:  silence-on-src [1]
@
text
@d295 1
a295 1
FAILFILE=${.CURDIR}/_.tinderbox.failed
@


1.358.2.7
log
@SVN rev 220608 on 2011-04-13 19:54:54Z by dougb

MFC r220512:

Update recommendation for mergemaster. The -a and -i options are exclusive.
@
text
@d61 1
a61 1
#  9.  `mergemaster'		(you may wish to use -i, along with -U or -F).
@


1.358.2.8
log
@SVN rev 220734 on 2011-04-16 23:38:35Z by bz

MFC r220556:

  If building (custom) FreeBSD images people tend to patch param.h.  In case
  this happens just before the build is started (within the same second)
  CHECK_TIME actually triggers thinking param.h is in the future (see f_Xtime,
  c_Xtime logi in find(1) sources for the details in !F_EXACTTIME case).
  Using the -mtime -0s (seconds, rather than no unit) avoids this 1s race.
@
text
@d176 1
a176 1
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s
@


1.358.2.9
log
@SVN rev 227881 on 2011-11-23 12:24:29Z by gjb

MFC r227769, 227770, 227771:

- Add a note to src/Makefile that explains that 'rm' runs twice because
  thesecond invocation only needs to operate on files with the immutable
  flag set.

- Fix the note in r227769 to be less specific to the immutable flag.

- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
  command, not a flag itself.
@
text
@d143 1
a143 1
# files with file flags set, so this unsets them and tries the 'rm' a
d146 1
a146 3
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
@


1.358.2.10
log
@SVN rev 231218 on 2012-02-08 18:21:48Z by bz

Remove sun4v from universe targets.

Approved by:	re
@
text
@d287 1
a287 1
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64
@


1.358.2.11
log
@SVN rev 232646 on 2012-03-07 08:07:28Z by pluknet

MFC r231821:

delete-old does not have delete-old-libs dependency.
Reflect this in the comment.

PR:		conf/163993
Submitted by:	Eugen Konkov <kes-kes at yandex ru>
@
text
@d24 1
a24 1
# delete-old          - Delete obsolete directories/files.
@


1.358.2.12
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/Makefile 232646 2012-03-07 08:07:28Z pluknet $
@


1.358.2.13
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/247537
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/Makefile 247537 2013-03-01 09:39:29Z des $
@


1.358.2.14
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249535
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/Makefile 249535 2013-04-16 06:52:32Z dim $
d303 1
a303 1
universe: universe_prologue upgrade_checks
d313 1
a313 1
.ORDER: universe_prologue upgrade_checks universe_${target}_prologue universe_${target} universe_epilogue
@


1.358.2.15
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/252073
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/Makefile 252073 2013-06-21 22:45:03Z sjg $
a119 5

.if defined(.PARSEDIR)
# don't pass -J to fmake
_MAKE=	PATH=${PATH} MAKEFLAGS="${MAKEFLAGS:N-J:N1*,1*}" ${BINMAKE} -f Makefile.inc1
.else
a120 1
.endif
d178 1
a178 1
CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s; echo
@


1.358.2.10.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.358.2.10.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/8.3/Makefile 231480 2012-02-10 23:49:04Z tuexen $
@


1.358.2.3.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.358.2.3.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.358.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.357
log
@SVN rev 189760 on 2009-03-13 07:23:58Z by imp

Implement the xdev target.  When you define XDEV=arch XDEV_ARCH=arch,
you can build the cross development tools and install them as
$XDEV-freebsd-xxx for each tool.  This allows one to use autoconf to
find the tools for cross building scenarios.
@
text
@d282 1
a282 1
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v
@


1.356
log
@SVN rev 186519 on 2008-12-27 15:07:51Z by bz

Permit digits at the beginning and end of kernel config file names for
`make universe'. This catches a few more arm and, once enabled, mips
configs and permits having local configs named like NOINET6.

Reviewed by:	phk
MFC after:	4 weeks
@
text
@d91 1
a91 1
	build32 distribute32 install32
@


1.355
log
@SVN rev 185499 on 2008-12-01 00:45:51Z by alfred

Provide a 'tinderbox' target that compiles enough of FreeBSD that
a developer can rest reasonably assured that the tinderbox will not
be broken.  This target leverages most of 'universe' but will exit
non-zero and output a summary at the end.

"make tinderbox"
@
text
@d301 1
a301 1
		find [A-Z]*[A-Z] -type f -maxdepth 0 \
@


1.354
log
@SVN rev 185250 on 2008-11-24 11:23:14Z by des

Change the universe target to warn the user for every world or kernel that
fails.  The error message includes a reference to the relevant log file.

Approved by:	phk
MFC after:	1 week
@
text
@d270 4
d281 1
a281 1
.if make(universe)
d284 7
d296 3
d313 2
a314 2
	    echo "${target} world failed," \
	    "check _.${target}.buildworld for details")
d320 2
a321 2
	    echo "${target} 'make LINT' failed," \
	    "check _.${target}.makeLINT for details")
d329 2
a330 2
	    echo "${target} ${kernel} kernel failed," \
	    "check _.${target}.${kernel} for details")
d340 7
@


1.353
log
@SVN rev 179845 on 2008-06-17 11:08:49Z by bz

Back out rev. 1.352  (SVN rev 179842) as phk pointed out that
SRCCONF was omitted here to be able to build non standard trees
with universe as well.
@
text
@d295 2
a296 1
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildworld \
d298 3
a300 2
	    __MAKE_CONF=/dev/null \
	    > _.${target}.buildworld 2>&1
d304 4
a307 2
	-cd ${.CURDIR}/sys/${target}/conf && ${MAKE} LINT \
	    > ${.CURDIR}/_.${target}.makeLINT 2>&1
d310 2
a311 1
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
d314 3
a316 2
	    __MAKE_CONF=/dev/null \
	    > _.${target}.${kernel} 2>&1
@


1.352
log
@SVN rev 179842 on 2008-06-17 09:06:46Z by bz

For make universe, in addition to make.conf, also ignore a
src.conf with possibe non-default options.

Reviewed by:	ru
MFC after:	10 days
@
text
@d297 1
a297 1
	    __MAKE_CONF=/dev/null SRCCONF=/dev/null \
d309 1
a309 1
	    __MAKE_CONF=/dev/null SRCCONF=/dev/null \
@


1.351
log
@Backout the change to remove sun4v.

Note that sun4v is currently broken on T2000 hardware so it's pretty
much a lame duck at this point.
@
text
@d297 1
a297 1
	    __MAKE_CONF=/dev/null \
d309 1
a309 1
	    __MAKE_CONF=/dev/null \
@


1.350
log
@Remove sun4v from the list of arches in 'make universe'. There has been
no active development on it for over a year now and it isn't
reliable under a simple buildworld. Developers can't be expected to
test code targeted for it.
@
text
@d278 1
a278 1
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64
@


1.349
log
@Add a knob to allow just the kernels to be built during a 'make universe'.
This is useful when wanting to retry a broken build using NOCLEAN and the
buildworlds are known to have completed.
@
text
@d278 1
a278 1
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v
@


1.348
log
@Mention -U and -ai arguments to mergemaster in a comment for the
general mergemaster line.

MFC after:	3 days
Suggested by:	Ben Laurie
@
text
@d293 1
d300 1
@


1.347
log
@Double up the necessary size of /usr/obj to 800MB

PR:		misc/99735
Reported by:	Philip M. Gollucci <pgollucci@@p6m7g8.com>,
		Maxim Konovalov <maxim@@macomnet.ru>
@
text
@d60 1
a60 1
#  9.  `mergemaster'
@


1.346
log
@Add code that should catch the most common case when date/time is
set incorrectly.
@
text
@d39 1
a39 1
# at least 400MB of diskspace available.
@


1.345
log
@Add a note pointing to build(7) for more info.

MFC after:	1 week
Reviewed by:	ru
@
text
@d175 4
@


1.344
log
@We don't need to invent BSDMAKE.  ${MAKE} is sufficient.

Submitted by: jmallet@@
@
text
@d78 2
@


1.343
log
@Don't assume that make(1) is a bsd-like make program.  It might not be.  This
only matters in the early stages of bootstrapping, of course, but gnu make can't
handle bsd make Makefiles at all if they use any of the 'dot' directives, which
src/Makefile has in abudnance.
@
text
@d237 1
a237 1
	    (cd ${.CURDIR} && ${BSDMAKE} make); \
a244 1
BSDMAKE?=make
d248 1
a248 1
MMAKE=		${MMAKEENV} ${BSDMAKE} \
@


1.342
log
@Do not bail out for cleanworld target just because
chflags is failed.
@
text
@d237 1
a237 1
	    (cd ${.CURDIR} && make make); \
d242 2
a243 1
# headers, libraries and tools.
d245 1
d249 1
a249 1
MMAKE=		${MMAKEENV} make \
@


1.341
log
@Expose all of {check,delete}-old{,-dirs,-files,-libs}.

MFC after:	3 weeks
@
text
@d150 1
a150 1
	chflags -R 0 ${BW_CANONICALOBJDIR}
d157 1
a157 1
	chflags -R 0 ${.OBJDIR}
@


1.341.2.1
log
@MFC revision 1.342
date: 2007/10/18 08:41:52;  author: delphij;  state: Exp;  lines: +2 -2
Do not bail out for cleanworld target just because
chflags is failed.

Approved by:	re (kensmith)
@
text
@d150 1
a150 1
	-chflags -R 0 ${BW_CANONICALOBJDIR}
d157 1
a157 1
	-chflags -R 0 ${.OBJDIR}
@


1.341.2.2
log
@MFC: Add a note pointing to build(7) for more info.
@
text
@a77 2
# For more information, see the build(7) manual page.
#
@


1.341.2.3
log
@Merge Makefile:1.348 from HEAD to RELENG_7:

  Mention -U and -ai arguments to mergemaster in a comment for the
  general mergemaster line.

  Suggested by:   Ben Laurie
@
text
@d60 1
a60 1
#  9.  `mergemaster'                         (you may wish to use -U or -ai).
@


1.341.2.4
log
@SVN rev 182231 on 2008-08-27 04:41:15Z by jb

MFC

DTrace support.

Note that this defaults the 'make buildkernel' to build with CTF data so
that the release kernel and modules are DTrace-able.
@
text
@a119 3
.if !defined(WITHOUT_CTF)
_MAKE+= -DWITH_CTF
.endif
@


1.341.2.5
log
@SVN rev 182295 on 2008-08-27 19:37:19Z by kib

Do not build CFT information during buildworld. The resulted stripped
static binaries are not executable.

Approved by:	jhb
@
text
@d120 3
@


1.341.2.6
log
@SVN rev 188289 on 2009-02-07 15:21:11Z by bz

MFC: r186519

  Permit digits in the kernel config file names for `make universe'.
  This catches a few more kernel config for various architectures
  and permits having local configs named like NOINET6.
@
text
@d282 1
a282 1
		find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
@


1.341.2.7
log
@SVN rev 189985 on 2009-03-18 20:22:21Z by bz

MFC r179232 by jb:

  Add a knob to allow just the kernels to be built during a 'make universe'.

MFC r185250 by des:

  Change the universe target to warn the user for every world or kernel that
  fails.  The error message includes a reference to the relevant log file.
@
text
@a287 1
.if !defined(MAKE_JUST_KERNELS)
d289 1
a289 2
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildworld \
d291 2
a292 3
	    > _.${target}.buildworld 2>&1 || \
	    echo "${target} world failed," \
	    "check _.${target}.buildworld for details")
a293 1
.endif
d295 2
a296 4
	@@(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
	    ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
	    echo "${target} 'make LINT' failed," \
	    "check _.${target}.makeLINT for details")
d299 1
a299 2
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildkernel \
d302 2
a303 3
	    > _.${target}.${kernel} 2>&1 || \
	    echo "${target} ${kernel} kernel failed," \
	    "check _.${target}.${kernel} for details")
@


1.341.2.8
log
@SVN rev 205867 on 2010-03-29 22:59:35Z by dougb

MFC r205290:

MAKE_JUST_WORLDS
@
text
@a297 1
.if !defined(MAKE_JUST_WORLDS)
a312 1
.endif
@


1.341.2.9
log
@SVN rev 220609 on 2011-04-13 19:55:58Z by dougb

MFC r220512:

Update recommendation for mergemaster. The -a and -i options are exclusive.
@
text
@d60 1
a60 1
#  9.  `mergemaster'		(you may wish to use -i, along with -U or -F).
@


1.341.2.10
log
@SVN rev 227882 on 2011-11-23 12:24:48Z by gjb

MFC r227769, 227770, 227771:

- Add a note to src/Makefile that explains that 'rm' runs twice because
  thesecond invocation only needs to operate on files with the immutable
  flag set.

- Fix the note in r227769 to be less specific to the immutable flag.

- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
  command, not a flag itself.
@
text
@d142 1
a142 1
# files with file flags set, so this unsets them and tries the 'rm' a
d145 1
a145 3
# needed to correctly handle all the possible situations.  Removing all
# files without file flags set in the first 'rm' instance saves time,
# because 'chflags' will need to operate on fewer files afterwards.
@


1.341.2.11
log
@SVN rev 231219 on 2012-02-08 18:22:10Z by bz

Remove sun4v from universe targets.

Approved by:	re
@
text
@d275 1
a275 1
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64
@


1.341.2.12
log
@SVN rev 232649 on 2012-03-07 08:21:25Z by pluknet

MFC r231821:

 delete-old does not have delete-old-libs dependency.
 Reflect this in the comment.

PR:		conf/163993
Submitted by:	Eugen Konkov <kes-kes at yandex ru>
@
text
@d24 1
a24 1
# delete-old          - Delete obsolete directories/files.
@


1.341.2.13
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/7/Makefile 232649 2012-03-07 08:21:25Z pluknet $
@


1.341.2.8.2.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.341.2.8.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/7.4/Makefile 214307 2010-10-24 23:09:00Z obrien $
@


1.341.2.7.4.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.341.2.7.2.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.341.2.5.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.340
log
@Introduce a variable TARGETS that can be set on the make command line
and that controls which platforms are being built as part of a "make
universe". By default TARGETS is set to the 8 platforms currently
being built. This variable is useful for running or re-running a
"make universe" with only a selected set of platforms. This makes the
universe target slightly more useful in cases the universe is limited
to a developer's scope or objectives. For example, when a universe
failed for a particular platform and fixes need to be tested for that
particular platform then a developer can restart the universe for
only that platform, even if the initial universe is still building
other platforms.
@
text
@d20 8
a27 3
# check-old           - Print a list of old files/directories in the system.
# delete-old          - Delete obsolete files and directories interactively.
# delete-old-libs     - Delete obsolete libraries interactively.
d78 4
a81 2
TGTS=	all all-man buildenv buildenvvars buildkernel buildworld check-old \
	checkdpadd clean cleandepend cleandir delete-old delete-old-libs \
@


1.339
log
@Add arm to universe.
@
text
@d264 2
d271 1
a271 1
.for target in amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v
@


1.338
log
@Remove the NO_CTF option. It would have been required to support
DTrace.
@
text
@d269 1
a269 1
.for target in amd64 i386 ia64 pc98 sparc64 sun4v
@


1.337
log
@When building an upgraded make, don't worry about processing it for
use with DTrace because the normal buildworld will do that when the
tools are built.
@
text
@d243 1
a243 1
		-DNO_CPU_CFLAGS -DNO_WERROR -DNO_CTF
@


1.336
log
@Add sun4v to the 'universe'.
@
text
@d243 1
a243 1
		-DNO_CPU_CFLAGS -DNO_WERROR
@


1.335
log
@In "make universe", utilize simplified cross-build synopsis,
"make TARGET=<machine> build*", now that it actually works.

Prompted by:	imp
@
text
@d269 1
a269 1
.for target in amd64 i386 ia64 pc98 sparc64
@


1.334
log
@Per weak consensus on this topic, remove suggestion to set
HISTORICAL_MAKE_WORLD from the text that's output.  This was committed
against the previous consensus.  Leave the documentation in this file
as a compromose.  The HISTORICAL_MAKE_WORLD knob is intentionally
obfuscated and we only trust people smart enough to read the Makefile
to use it.  All others have no business using it due to its danger,
unless DESTDIR is set.

Dissentors: grog, obrien, trhodes
@
text
@d61 2
a62 2
# If TARGET_ARCH=arch (e.g. ia64, sparc64, ...) is specified you can
# cross build world for other architectures using the buildworld target,
d269 2
a270 4
.for target in i386 i386:pc98 sparc64 ia64 amd64
.for arch in ${target:C/:.*$//}
.for mach in ${target:C/^.*://}
KERNCONFS!=	cd ${.CURDIR}/sys/${mach}/conf && \
d274 4
a277 4
universe: universe_${mach}
.ORDER: universe_prologue universe_${mach} universe_epilogue
universe_${mach}:
	@@echo ">> ${mach} started on `LC_ALL=C date`"
d279 1
a279 1
	    TARGET_ARCH=${arch} TARGET=${mach} \
d281 5
a285 5
	    > _.${mach}.buildworld 2>&1
	@@echo ">> ${mach} buildworld completed on `LC_ALL=C date`"
.if exists(${.CURDIR}/sys/${mach}/conf/NOTES)
	-cd ${.CURDIR}/sys/${mach}/conf && ${MAKE} LINT \
	    > ${.CURDIR}/_.${mach}.makeLINT 2>&1
d289 1
a289 1
	    TARGET_ARCH=${arch} TARGET=${mach} \
d292 1
a292 4
	    > _.${mach}.${kernel} 2>&1
.endfor
	@@echo ">> ${mach} completed on `LC_ALL=C date`"
.endfor
d294 1
@


1.333
log
@Note a short-cut in the build procedure.
@
text
@a208 3
	@@echo "You may get the historical 'make world' behavior by defining"
	@@echo "HISTORICAL_MAKE_WORLD.  You should understand the implications"
	@@echo "before doing this."
@


1.332
log
@Simply running ``make world'' will bomb unless you dig up the
undocumented HISTORICAL_MAKE_WORLD variable and set it.  Note it
here so the blow up will not really be a surprise to people who
read.

Link the buildingworld chapter of our handbook in the README
while I'm here.
@
text
@d50 1
@


1.331
log
@Create a new target 'buildenvvars'.  This target reports the build
environment for cross building (the same one you'd get interactively
in make buildenv).  This cannot be a simple

        make -f Makefile.inc1 -V WMAKEENV

because in PATH is not set correctly unless one takes a trip through
the Makefile/Makefile.inc1 indirection, the logic of which is too
large to reproduce outside of Makefiles.
@
text
@d11 1
a11 1
# world               - buildworld + installworld.
d40 2
a41 1
# 2.  `make world'
@


1.330
log
@Connect the kernel subsystem API documentation generation framework to
the build infrastructure: "make doxygen"

Changes to the man pages will be made when some defaults are revisited.

Requested by:	gnn
@
text
@d71 3
a73 3
TGTS=	all all-man buildenv buildkernel buildworld check-old checkdpadd \
	clean cleandepend cleandir delete-old delete-old-libs depend \
	distribute distributeworld distrib-dirs distribution doxygen \
@


1.329
log
@Disconnect Alpha from 'make universe'.
@
text
@d18 1
d73 4
a76 4
	distribute distributeworld distrib-dirs distribution everything \
	hierarchy install installcheck installkernel installkernel.debug\
	reinstallkernel reinstallkernel.debug installworld \
	kernel-toolchain libraries lint maninstall \
@


1.328
log
@Add the new "showconfig" target that displays build configuration.

Suggested by:	phk
@
text
@d269 1
a269 1
.for target in i386 i386:pc98 sparc64 alpha ia64 amd64
@


1.327
log
@Make ${SUBDIR_TARGETS} work at the uppermost level as well.
@
text
@d76 1
a76 1
	obj objlink regress rerelease tags toolchain update \
@


1.326
log
@Do not discard the current value of __MAKE_CONF when testing
whether MAKEOBJDIRPREFIX is set at a wrong place.

Reviewed by:	ru
MFC after:	3 days
@
text
@d80 1
@


1.325
log
@Fix a bug in previous revision: skip LINT if it exists, not NOTES
(the source for LINT), as I initially intended.
@
text
@d96 1
a96 1
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} \
d100 1
a100 1
	(in /etc/make.conf) or command-line variable.
@


1.324
log
@universe: don't attempt to compile DEFAULTS and don't compile LINT twice.
@
text
@d273 1
a273 1
		! -name DEFAULTS ! -name NOTES
@


1.323
log
@Forced commit [1] to add another design goal which I forgot to mention in
the initial commit of the delete-old feature:

One of the design goals of the recently committed way of removing obsolete
files was to *not* remove a file which we never had in the base system (I'm
not sure I mentioned this in the commit log). So if an administrator decides
to move something to somewhere in the base system (for whatever reason), it
will stay where it is (and this is good, since this move was done with a
specific purpose).

Suggested by:	Jeremie Le Hen <jeremie@@le-hen.org> [1]
Approved by:	mentor (joerg; implicit)
@
text
@d272 2
a273 1
		find [A-Z]*[A-Z] -type f -maxdepth 0
@


1.322
log
@Add delete-old and delete-old-libs targets:
  - removes obsolete files/dirs or libraries.
  - works in interactive (default) and batch mode
  - respects DISTDIR
  - documented in UPDATING and build(7)

The head of the file ObsoleteFiles.inc contains instructions how to add
obsolete files/dirs/libs to the list. Obviously one should add obsolete
files to this list, when he removes a file/dir/lib from the basesystem.

Additionally add check-old target:
  - allows re@@ to check if a file on the obsolete list resurfaces

Design goals:
  - allows full control by the user (default interactive mode)
  - possibility of scripted removal of obsolete files (batch mode)
  - opt-in removal of files (explicit list of files)
  - seperate removal of libs (2 delete targets)

Important design decissions:
  - structured list of files to remove instead of a plain text file:
    * allows to remove additional files if a NO_foo knob is specified
      without the need to change the targets (no NO_foo knob is respected
      yet)
  - not using mtree like NetBSD does:
    * mtree doesn't has an interactive mode

Discussed on:		arch (long ago), current (this year)
Additional input from:	re (hrs)
Approved by:		mentor (joerg)
@
text
@@


1.321
log
@- Embed the "buildkernels" target into the "universe" target so that
  the "make -n universe" output looks more builder (human) friendly.

- Wrap the "universe" target into a ".if make(universe)"; it's only
  intended to be called directly so it should be safe to do it.
@
text
@d19 3
d44 11
a54 9
# 1.  `cd /usr/src'       (or to the directory containing your source tree).
# 2.  `make buildworld'
# 3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
# 4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
# 5.  `reboot'        (in single user mode: boot -s from the loader prompt).
# 6.  `mergemaster -p'
# 7.  `make installworld'
# 8.  `mergemaster'
# 9.  `reboot'
d70 3
a72 3
TGTS=	all all-man buildenv buildkernel buildworld checkdpadd clean \
	cleandepend cleandir depend distribute distributeworld \
	distrib-dirs distribution everything \
@


1.320
log
@Make the `distrib-dirs' target official and working properly
when cross-building (installing).  (This is useful for NFS
installing world/kernel to another architecture machine.)
@
text
@d257 1
d266 3
d282 7
a288 1
	cd ${.CURDIR} && ${MAKE} buildkernels TARGET_ARCH=${arch} TARGET=${mach}
a298 11

.if make(buildkernels)
KERNCONFS!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
		find [A-Z]*[A-Z] -type f -maxdepth 0 ! -name NOTES
buildkernels:
.for kernel in ${KERNCONFS}
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
	    KERNCONF=${kernel} \
	    __MAKE_CONF=/dev/null \
	    > _.${TARGET}.${kernel} 2>&1
.endfor
@


1.319
log
@Provide 32-bit runtime support on amd64 as a separate distribution, lib32.

Prodded by:	obrien
Nodded by:	peter
Approved by:	re
@
text
@d67 1
a67 1
	distribution everything \
@


1.319.2.1
log
@MFC the following:

o Makefile: 1.319, 1,320
o Makefile.inc1: 1.500, 1.508, 1.509, 1.513, 1.515, 1.517

- Embed the "buildkernels" target into the "universe" target so that
  the "make -n universe" output looks more builder (human) friendly.

- Wrap the "universe" target into a ".if make(universe)"; it's only
  intended to be called directly so it should be safe to do it.

- Make the `distrib-dirs' target official and working properly
  when cross-building (installing).  (This is useful for NFS
  installing world/kernel to another architecture machine.)

- Remove duplicate settings from LIB32MAKE definition.
- Install lib32 bits using the real install(1) program.
- clean ${LIB32TMP} in _worldtmp
- clean ${OBJTREE}/lib32 in _cleanobj
- ensure that ${WORLDTMP} exists in build32

- Require DESTDIR to be set when cross-installing.

- Force a full Groff upgrade during the build.
@
text
@d67 1
a67 1
	distrib-dirs distribution everything \
a256 1
.if make(universe)
a264 3
KERNCONFS!=	cd ${.CURDIR}/sys/${mach}/conf && \
		find [A-Z]*[A-Z] -type f -maxdepth 0
KERNCONFS:=	${KERNCONFS:S/^NOTES$/LINT/}
d278 1
a278 7
.for kernel in ${KERNCONFS}
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
	    TARGET_ARCH=${arch} TARGET=${mach} \
	    KERNCONF=${kernel} \
	    __MAKE_CONF=/dev/null \
	    > _.${mach}.${kernel} 2>&1
.endfor
d289 11
@


1.319.2.2
log
@MFC:
	The ObsoleteFiles removal/test targets
	  - check-old
	  - delete-old
	  - delete-old-libs
	and the corresponding docs.

Note:	Someone may want to have a look at the man-page and perhaps MFC
	some other parts (unrelated to ObsoleteFiles).

Tested by:	bz
@
text
@a18 3
# check-old           - Print a list of old files/directories in the system.
# delete-old          - Delete obsolete files and directories interactively.
# delete-old-libs     - Delete obsolete libraries interactively.
d41 9
a49 11
#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `mergemaster'
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
d65 3
a67 3
TGTS=	all all-man buildenv buildkernel buildworld check-old checkdpadd \
	clean cleandepend cleandir delete-old delete-old-libs depend \
	distribute distributeworld distrib-dirs distribution everything \
@


1.319.2.3
log
@MFC rev. 1.326:

  Do not discard the current value of __MAKE_CONF when testing
  whether MAKEOBJDIRPREFIX is set at a wrong place.

Approved by:	re (scottl)
@
text
@d96 1
a96 1
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
d100 1
a100 1
	(in make.conf(5)) or command-line variable.
@


1.319.2.4
log
@MFC: don't attempt to compile DEFAULTS and don't compile LINT twice.

Requested by:	jkoshy
Approved by:	re (scottl)
@
text
@d272 1
a272 2
		find [A-Z]*[A-Z] -type f -maxdepth 0 \
		! -name DEFAULTS ! -name LINT
@


1.319.2.5
log
@MFC: Support cross-building by just specifying TARGET.

Requested by:	sam
@
text
@d58 2
a59 2
# If TARGET=machine (e.g. ia64, sparc64, ...) is specified you can
# cross build world for other machine types using the buildworld target,
d268 4
a271 2
.for target in alpha amd64 i386 ia64 pc98 sparc64
KERNCONFS!=	cd ${.CURDIR}/sys/${target}/conf && \
d275 4
a278 4
universe: universe_${target}
.ORDER: universe_prologue universe_${target} universe_epilogue
universe_${target}:
	@@echo ">> ${target} started on `LC_ALL=C date`"
d280 1
a280 1
	    TARGET=${target} \
d282 5
a286 5
	    > _.${target}.buildworld 2>&1
	@@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
	-cd ${.CURDIR}/sys/${target}/conf && ${MAKE} LINT \
	    > ${.CURDIR}/_.${target}.makeLINT 2>&1
d290 1
a290 1
	    TARGET=${target} \
d293 4
a296 1
	    > _.${target}.${kernel} 2>&1
a297 1
	@@echo ">> ${target} completed on `LC_ALL=C date`"
@


1.319.2.6
log
@MFC: Add powerpc to the universe.  In rev. 1.339 I accidentally
added it in HEAD without mentioning the fact in the commit log.
@
text
@d268 1
a268 1
.for target in alpha amd64 i386 ia64 pc98 powerpc sparc64
@


1.319.2.7
log
@MFC: Add a note pointing to build(7) for more info.
@
text
@a69 2
# For more information, see the build(7) manual page.
#
@


1.319.2.8
log
@SVN rev 202479 on 2010-01-17 13:36:40Z by bz

MFC r201898:
  Add comments trying to explain what bad things happen here, i.e.
  how hashed MD5/SHA are implemented, abusing Final() for padding and
  sw_octx to transport the key from the beginning to the end.

  Enlightened about what was going on here by: cperciva
  Reviewed by:  cperciva
@
text
@a264 2
TARGETS?=alpha amd64 i386 ia64 pc98 powerpc sparc64

d270 1
a270 1
.for target in ${TARGETS}
a277 1
.if !defined(MAKE_JUST_KERNELS)
d279 1
a279 2
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildworld \
d281 2
a282 3
	    > _.${target}.buildworld 2>&1 || \
	    echo "${target} world failed," \
	    "check _.${target}.buildworld for details")
a283 1
.endif
d285 2
a286 4
	@@(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
	    ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
	    echo "${target} 'make LINT' failed," \
	    "check _.${target}.makeLINT for details")
d289 1
a289 2
	@@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
	    ${MAKE} ${JFLAG} buildkernel \
d292 2
a293 3
	    > _.${target}.${kernel} 2>&1 || \
	    echo "${target} ${kernel} kernel failed," \
	    "check _.${target}.${kernel} for details")
@


1.319.2.9
log
@SVN rev 202483 on 2010-01-17 13:49:18Z by bz

Backup this part of r202479 which was not meant to be committed along with
the merge of r201898.
@
text
@d265 2
d272 1
a272 1
.for target in alpha amd64 i386 ia64 pc98 powerpc sparc64
d280 1
d282 2
a283 1
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildworld \
d285 3
a287 2
	    __MAKE_CONF=/dev/null \
	    > _.${target}.buildworld 2>&1
d289 1
d291 4
a294 2
	-cd ${.CURDIR}/sys/${target}/conf && ${MAKE} LINT \
	    > ${.CURDIR}/_.${target}.makeLINT 2>&1
d297 2
a298 1
	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
d301 3
a303 2
	    __MAKE_CONF=/dev/null \
	    > _.${target}.${kernel} 2>&1
@


1.319.2.10
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/6/Makefile 202483 2010-01-17 13:49:18Z bz $
@


1.319.2.7.2.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.318
log
@Repo-copy tools/regression/usr.bin/make to tools/build/make_check
and adjust the path in the Makefile for the upgrade_checks target.
These checks are really feature upgrade checks that should be fast
and just find out whether we need to build a new make before
proceeding with other targets like buildworld. This makes the
place free for a real regression test suite in the old place.
@
text
@d74 1
a74 1
	build32 install32
@


1.317
log
@Added the convenience "distribution" target which calls the
target of the same name from src/etc/Makefile with a proper
environment, suitable to be used during upgrades and cross-
builds.
@
text
@d220 1
a220 1
	@@if ! (cd ${.CURDIR}/tools/regression/usr.bin/make && \
@


1.316
log
@Added the "buildenv" target, for developers only!

CAVEAT: if you run tcsh(1) from within this target, this will
reset your PATH making this target mostly useless.  Careful!

Submitted by:	jmg, ru
@
text
@d66 2
a67 1
	cleandepend cleandir depend distribute distributeworld everything \
@


1.315
log
@NOSHARED -> NO_SHARED
@
text
@d65 1
a65 1
TGTS=	all all-man buildkernel buildworld checkdpadd clean \
@


1.314
log
@Start the dreaded NOFOO -> NO_FOO conversion.

OK'ed by:	core
@
text
@d235 1
a235 1
		-DNOMAN -DNO_MAN -DNOSHARED \
@


1.313
log
@Previous revision didn't fix all cases.  For example,
testing for variables that are always defined (e.g.,
"make -V CC") would still print a false warning.  Fix
this by only passing a submake the MAKEOBJDIRPREFIX=*
argument if it was present.  As a result, we loose
the check for -DMAKEOBJDIRPREFIX, or an esoteric
"MAKEOBJDIRPREFIX = foo" (with embedded spaces), but
these are unorthodox enough to not care about them.

The make(1) bug mentioned in the previous revision
was just fixed in make/main.c,v 1.109.
@
text
@d235 1
a235 1
		-DNOMAN -DNOSHARED \
@


1.312
log
@Unbreak the MAKEOBJDIRPREFIX variable check by avoiding bugs in make(1).
When make flags are passed to make in the environment, the string is
chopped up in an (argc,argv) vector. This happens in brk_string() and
the chopped up string is stored in static buffer. When this includes
something like "-V BINMAKE", then a pointer into the static buffer is
put on the variables list for evaluation later. However, brk_string()
is used for more than just chopping up the MAKEFLAGS env. variable, so
it's very likely that the static buffer is clobbered. In fact, this is
exactly what happens.
The result is that _MAKEOBJDIRPREFIX gets assigned whatever garbage
the child make happens to emit, causing the test to fail. Like this:

pluto2% cd /usr/src
pluto2% make -V BINMAKE
"/q/6.x/src/Makefile", line 94: MAKEOBJDIRPREFIX can only be set in environment, not as a global (in /etc/make.conf) or command-line variable.
pluto2% make -dv -V BINMAKE | & grep _MAKEOBJDIRPREFIX
Global:_MAKEOBJDIRPREFIX = }

The fix is to not use MAKEFLAGS for this, but simple pass the flags
as arguments. Ideally make(1) should be fixed but that's beyond the
scope of my attention span.

This fixes release.
@
text
@d89 3
a91 2
_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} ${.MAKEFLAGS} \
		-f /dev/null -V MAKEOBJDIRPREFIX dummy
@


1.311
log
@Fix builds with a read-only directory and a make upgrade. This is done
by forcing the creation of an object directory for the make regression
tests. Let make handle the tracking of the dependency and installation
of test_shell script.

Submitted by:	ru
@
text
@d89 1
a89 2
_MAKEOBJDIRPREFIX!= /usr/bin/env -i \
		PATH=${PATH} MAKEFLAGS="${.MAKEFLAGS}" ${MAKE} \
@


1.310
log
@Convert tools/lib32/build.sh into world connectable hooks.  This still
rates pretty high on the "hack!" scale, but it works for me.  Adding
-DWANT_LIB32 to the world build command line, or 'WANT_LIB32=yes' to
/etc/make.conf will include the 32 bit libraries with the build.

I have not made this default behavior.  Cross compiling this stuff is an
adventure I have not investigated.

This is still a WIP.  We needed this at work so that we could install from
a readonly obj tree - lib32/build.sh wasn't up to that.
@
text
@d220 1
@


1.309
log
@Fixed MAKEOBJDIRPREFIX variable type check in case the env(1)
binary is not in PATH, as is the case with installworld, etc.
@
text
@d72 2
a73 1
	_build-tools _cross-tools _includes _libraries _depend
@


1.308
log
@My take at improving the universe: allow the worlds to be
built in parallel.  Examples:

make universe
	Build worlds sequentially, each world sequentially.

make universe JFLAG=-j4
	Build worlds sequentially, each world in parallel.

make -j4 universe
make -j4 universe JFLAG=-j2
	Build four worlds in parallel, each world will be
	built in parallel too.  World parallelization is
	set to four in the first synopsis, and to two in
	the second.

make -j4 universe JFLAG=-B
	Build worlds in parallel, each world sequentially.

("world" == buildworld followed by buildkernels.)

Prayers:	obrien, phk
@
text
@d88 2
a89 1
_MAKEOBJDIRPREFIX!= env -i PATH=${PATH} MAKEFLAGS="${.MAKEFLAGS}" ${MAKE} \
@


1.307
log
@Moved the MAKEOBJDIRPREFIX check from Makefile.inc1 to Makefile,
to suppress warnings with installworld and distributeworld when
env(1) cannot be found in the PATH.
@
text
@d153 2
a155 3
.if make(world)
STARTTIME!= LC_ALL=C date
.endif
d250 1
a250 1
# with reasonable chance of success, regardless of how old your
d253 2
a254 2
i386_mach=	pc98
universe:
d258 6
a263 2
.for arch in i386 sparc64 alpha ia64 amd64
.for mach in ${arch} ${${arch}_mach}
d274 1
a274 1
	cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernels TARGET_ARCH=${arch} TARGET=${mach}
d278 3
a288 2
.endif

d296 1
@


1.306
log
@Make make recurse into sub-directories and sub-makes when given
two -n flags.  If only one -n flag is given the old behaviour
is retained (POLA).  In order to make this working for installworld
change the IMAKEENV in this case so that the tools are found
(we have no temporary installation environment in this case).

Submitted by:	ru (IMAKEENV part)
@
text
@d88 6
@


1.306.2.1
log
@MFC:

- moved the MAKEOBJDIRPREFIX check from Makefile.inc1 to Makefile,
- improved "make universe",
- fixed "make world DESTDIR=/mnt".
@
text
@a87 7
_MAKEOBJDIRPREFIX!= /usr/bin/env -i \
		PATH=${PATH} MAKEFLAGS="${.MAKEFLAGS}" ${MAKE} \
		-f /dev/null -V MAKEOBJDIRPREFIX dummy
.if !empty(_MAKEOBJDIRPREFIX)
.error MAKEOBJDIRPREFIX can only be set in environment, not as a global\
	(in /etc/make.conf) or command-line variable.
.endif
d147 2
d150 1
a150 2

.if defined(HISTORICAL_MAKE_WORLD) || defined(DESTDIR)
d245 1
a245 1
# with a reasonable chance of success, regardless of how old your
d248 2
a249 2
universe: universe_prologue
universe_prologue:
d253 2
a254 6
.for target in i386 i386:pc98 sparc64 alpha ia64 amd64
.for arch in ${target:C/:.*$//}
.for mach in ${target:C/^.*://}
universe: universe_${mach}
.ORDER: universe_prologue universe_${mach} universe_epilogue
universe_${mach}:
d265 1
a265 1
	cd ${.CURDIR} && ${MAKE} buildkernels TARGET_ARCH=${arch} TARGET=${mach}
a268 3
.endfor
universe: universe_epilogue
universe_epilogue:
d277 2
a285 1
.endif
@


1.306.2.2
log
@MFC: add optional WITH_LIB32 hooks for amd64.  Note that the tls/%fs/%gs
support code hasn't been merged.
@
text
@d72 1
a72 2
	_build-tools _cross-tools _includes _libraries _depend \
	build32 install32
@


1.306.2.3
log
@MFC 1.312: Unbreak the MAKEOBJDIRPREFIX variable check by avoiding
bugs in make(1). For a complete explanantion, see the commit log
of rev. 1.312.
@
text
@d89 2
a90 1
_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} ${.MAKEFLAGS} \
@


1.306.2.4
log
@MFC rev. 1.313:
Improvement over rev 1.312 (and its MFC'd equivalent 1.306.2.3).
@
text
@d89 2
a90 3
_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} \
    -f /dev/null -V MAKEOBJDIRPREFIX dummy
@


1.306.2.5
log
@MFC rev. 1.326:

  Do not discard the current value of __MAKE_CONF when testing
  whether MAKEOBJDIRPREFIX is set at a wrong place.

Approved by:    re (scottl)
@
text
@d90 1
a90 1
    ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \
d94 1
a94 1
	(in make.conf(5)) or command-line variable.
@


1.305
log
@The doc team reworked the section of the handbook describing how to
rebuild things, further discouraging 'make world'.  The title of
that section is now changed...
@
text
@d129 1
a129 1
	@@cd ${.CURDIR}; ${_MAKE} cleandir
d141 1
a141 1
	@@cd ${.CURDIR}; \
d168 1
a168 1
	@@cd ${.CURDIR}; ${_MAKE} pre-world
d170 2
a171 2
	@@cd ${.CURDIR}; ${_MAKE} buildworld
	@@cd ${.CURDIR}; ${_MAKE} -B installworld
d177 1
a177 1
	@@cd ${.CURDIR}; ${_MAKE} post-world
d235 1
a235 1
	@@cd ${.CURDIR}/usr.bin/make; \
@


1.304
log
@Rename a preposterously long name with one that might look a bit
more professional. While here, write a few lines of explanatory
text to explain what its for.

Discussed with:	rwatson
With hat:	core
@
text
@d189 1
a189 1
	@@echo "'Using make world', for how to upgrade your system."
@


1.303
log
@Add an "out" to the now required BS of defining DESTDIR.
@
text
@d147 1
a147 1
.if defined(I_KNOW_WHAT_IM_DOING_THANKYOU_VERY_MUCH) || defined(DESTDIR)
d190 1
a190 1
	@@echo "Define DESTDIR to the where you want to install FreeBSD,"
d192 4
@


1.302
log
@Properly terminate a quoted string in the previous commit. Oddly
enough this only seems to cause problems with -jX so went unnoticed
until now.
@
text
@d147 1
a147 1
.if defined(DESTDIR)
@


1.301
log
@As per discussions on current@@, protect unsuspecting users from
trying to upgrade their system with make world instead of following
the preferred and suggested sequence of commands. The fact remains
that make world does not upgrade the kernel.
Allow make world when DESTDIR has been specified, including when
DESTDIR specifies the root file system. Otherwise, print a useful
warning and fail.

Reviewed, tested and scrutinized by: gad@@
@
text
@d190 1
a190 1
	@@echo "Define DESTDIR to the where you want to install FreeBSD,
@


1.300
log
@Add a JFLAG which can be used to speed up universe:
	make universe JFLAG=-j12
@
text
@d147 1
d154 4
a157 2
# Attempt to rebuild and reinstall *everything*, with reasonable chance of
# success, regardless of how old your existing system is.
d184 11
@


1.299
log
@Add a kernel-toolchain target which only builds the bits required to build
a kernel.  This is essentially the same as the toolchain target, except
that it does not build headers and libraries.

Submitted by:	ru
@
text
@d238 1
a238 1
	-cd ${.CURDIR} && ${MAKE} buildworld \
d247 1
a247 1
	cd ${.CURDIR} && ${MAKE} buildkernels TARGET_ARCH=${arch} TARGET=${mach}
d263 1
a263 1
	-cd ${.CURDIR} && ${MAKE} buildkernel \
@


1.298
log
@Added the `toolchain' top-level target, which builds enough of
buildworld, up to and including libraries, except for actually
building the world.

Requested by:	many
@
text
@d69 1
a69 1
	libraries lint maninstall \
@


1.297
log
@Protect shell expansions.
@
text
@d70 1
a70 1
	obj objlink regress rerelease tags update \
@


1.296
log
@Add amd64 to universe.

Approved by:	peter
@
text
@d147 1
d149 1
d256 1
d259 1
@


1.295
log
@Change the 'realclean' target name to be 'cleanworld', to match other
targets like buildworld, installworld.

Suggested by:	obrien
@
text
@d233 1
a233 1
.for arch in i386 sparc64 alpha ia64
@


1.294
log
@Improvements on the 'make realclean' target.  Some are style improvements,
but the biggest issue is that there are situatons when
${.OBJDIR} == ${.SRCDIR}, and in those situations the previous version
would happily remove all your /usr/src while it was cleaning out the objects.
Not that *you* would be happy about it...  Thanks to bde for immediately
noticing this serious possibility.

More improvements will be made to this target, but I wanted to commit this
safer version right now, before anyone lost their /usr/src due to it.

Reviewed by:	bde
MFC after:	10 days
@
text
@d107 1
a107 1
# This 'realclean' target is not included in TGTS, because it is not a
d121 1
a121 1
realclean:
@


1.293
log
@Add a 'realclean' target, which simply and quickly removes everything
that was built in previous 'make buildworld' and 'make buildkernel'.  The
target knows enough to run a 'chflags -R 0' and a second 'rm' if the first
'rm' ran into any errors while removing files.

Suggested by:	email with Richard Coleman Re: upcoming 64b-time_t changes.
Reviewed by:	imp, marcel, and others on -hackers
MFC after:	1 week
@
text
@d107 28
a134 13
# This 'realclean' target is not included in TGTS, because it is not
# a recursive target.  All of the work for it is done right here.
# The first 'rm' will usually remove all files and directories.  If
# it does not, then there are probably some files with chflags set.
# Unset all special chflags, and try the 'rm' a second time.
realclean :
	-rm -Rf ${.OBJDIR}/* 2>/dev/null
	@@-if [ "`echo ${.OBJDIR}/*`" != "${.OBJDIR}/*" ] ; then \
	    echo "chflags -R 0 ${.OBJDIR}/*" ; \
	    chflags -R 0 ${.OBJDIR}/* ;  \
	    echo "rm -Rf ${.OBJDIR}/*" ; \
	    rm -Rf ${.OBJDIR}/* ; \
	fi
@


1.292
log
@Put on some factor 30+ bikeshed repellent and export the internal
Makefile.inc1 underscore targets with a big warning that they are
intentionally undocumented, subject to change without notice and
might poison your dog etc.  If you don't know what they are, then they
are not meant for you to use.

I've added these by hand to so many many trees that I've lost count.  I
find them rather useful.
@
text
@d107 15
@


1.291
log
@Don't allow the 'make' target (which rebuilds make for bootstrapping)
to become confused by a file called 'make' in /usr/src

Submitted by:	ru
@
text
@d61 4
d70 3
a72 1
	obj objlink regress rerelease tags update
@


1.290
log
@Retired the "most" and "installmost" targets -- they just
do not have a chance to work nowadays as we have a lot of
internal libraries in lib/.

Discussed with:	marcel, wollman
@
text
@d174 1
a174 1
make:
@


1.289
log
@Cosmetics: folded BITGTS into TGTS.
@
text
@a18 2
# most                - Build user commands, no libraries or include files.
# installmost         - Install user commands, no libraries or include files.
d64 1
a64 1
	reinstallkernel reinstallkernel.debug installmost installworld \
d66 1
a66 1
	most obj objlink regress rerelease tags update
@


1.288
log
@Limit testing for an up-to-date version of make(1) to the world and
buildworld targets by default, but allow it to be done for all user
targets by introducing a boolean option, named ALWAYS_CHECK_MAKE.

This change is by no means perfect and I don't even want to claim
this to be a solution. It does however address the fact that not
everybody likes to see make(1) rebuilt simply because the regression
test failed for some reason or other, including pilot error. It
therefore serves the purpose of keeping the crowd happy until we
have something better or simply reached a compromise.

The reasons for changing the default behaviour are:
o  It avoids a negative, possibly non-intuitive option,
o  It's according to POLA and fond of feet,
o  Only buildworld is documented to do its best to be
   successful at reasonably cost.

Reviewed by: gad, imp, obrien, peter
@
text
@d72 1
d97 1
a97 1
${TGTS} ${BITGTS}: upgrade_checks
d106 1
a106 1
${TGTS} ${BITGTS}:
@


1.287
log
@- Don't print "elf" before printing "make world" (aout support has been
  removed).

- Avoid using printf(1) where a simple shell's built-in echo is enough.
@
text
@d90 12
d104 2
a105 1
${TGTS} ${BITGTS}: upgrade_checks
@


1.286
log
@The `mk' target is long dead.
@
text
@d108 1
a108 1
	@@echo ">>> elf make world started on ${STARTTIME}"
d128 2
a129 1
	@@printf ">>> elf make world completed on `LC_ALL=C date`\n                       (started ${STARTTIME})\n"
d202 2
a203 1
	@@printf ">>> make universe completed on `LC_ALL=C date`\n                      (started ${STARTTIME})\n"
@


1.285
log
@Use an up-to-date make binary in the upgrade_checks target if
one is already available.  This avoids sometimes unnecessary
step of attempting to rebuild the make binary again which may
fail at all if, for example, one has removed his /usr/include
before doing an installworld (to keep /usr/include tidied up).

Pointed out by:	kris, marcel
@
text
@d68 1
a68 1
	mk most obj objlink regress rerelease tags update
@


1.284
log
@Don't hardcore PATH into BINMAKE; the latter should only be
comprised of the path to a make(1) binary (possibly the one
built by the "make" target in this Makefile), and a path to
a fresh share/mk.  The idea is to allow "make release" pick
up the right "make" binary, if one exists.

This fixes release.5 I broke with the last commit here; the
second PATH here was overriding the right one from WMAKEENV
while rebuilding the "build-tools" for crunched binaries.
@
text
@d144 1
a144 1
	    PATH=${PATH} ${MAKE} >/dev/null 2>&1); \
@


1.283
log
@Fixed style bugs related to parentheses in Makefile.inc1.

Submitted by:	bde

Fixed nearby bug: propagate the root Makefile's idea of
the appropriate "make" binary down to release/Makefile.
@
text
@d84 1
a84 1
BINMAKE=	PATH=${PATH} \
d87 1
a87 1
_MAKE=	${BINMAKE} -f Makefile.inc1
@


1.282
log
@Do the upgrade checks quietly.
@
text
@d84 1
a84 1
_MAKE=	PATH=${PATH} \
d86 2
a87 1
	-m ${.CURDIR}/share/mk -f Makefile.inc1
@


1.281
log
@Allow installkernel.debug and reinstallkernel.debug.
@
text
@d143 1
a143 1
	    PATH=${PATH} ${MAKE} 2>/dev/null); \
d163 1
a163 1
	@@echo " Building an up-to-date make(1)"
@


1.280
log
@Kill upgrade target docs.  It too is stale.

Submitted by: ru
@
text
@d14 1
d16 1
d65 3
a67 2
	hierarchy install installcheck installkernel \
	reinstallkernel installmost installworld libraries lint maninstall \
d77 1
d79 1
@


1.279
log
@Kill aout to elf upgrade path.  From an old comment in the makefile:

# If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will
# update the legacy support for aout. This includes all libraries, ld.so
# and boot objects. This part of build should be regarded as
# deprecated and you should _not_ expect to be able to do this past the
# release of 4.0. You have exactly one major release to move entirely
# to elf.

Now that we're past 5.0, these aren't needed at all anymore and it is
well past its freshness date.
@
text
@a16 1
# upgrade             - Upgrade a.out (2.2.x/3.0) system to the new ELF way
@


1.278
log
@Don't make buildworld and buildkernel in parallel.
And this is probably what you expect when you say
"make -jX buildworld buildkernel".
@
text
@a19 7
# aout-to-elf         - Upgrade a system from a.out to elf format (see below).
# aout-to-elf-build   - Build everything required to upgrade a system from
#                       a.out to elf format (see below).
# aout-to-elf-install - Install everything built by aout-to-elf-build (see
#                       below).
# move-aout-libs      - Move the a.out libraries into an aout sub-directory
#                       of each elf library sub-directory.
a58 22
# ----------------------------------------------------------------------------
#
#           Upgrading an i386 system from a.out to elf format
#
#
# The aout->elf transition build is performed by doing a `make upgrade' (or
# `make aout-to-elf') or in two steps by a `make aout-to-elf-build' followed
# by a `make aout-to-elf-install', depending on user preference.
# You need to have at least 320 MB of free space for the object tree.
#
# The upgrade process checks the installed release. If this is 3.0-CURRENT,
# it is assumed that your kernel contains all the syscalls required by the
# current sources.
#
# The upgrade procedure will stop and ask for confirmation to proceed
# several times. On each occasion, you can type Ctrl-C to abort the
# upgrade.  Optionally, you can also start it with NOCONFIRM=yes and skip
# the confirmation steps.
#
# ----------------------------------------------------------------------------
#
#
a165 17

#
# Define the upgrade targets. These are listed here in alphabetical
# order, but that's not important.
#
UPGRADE=	aout-to-elf aout-to-elf-build aout-to-elf-install \
		move-aout-libs

#
# Handle the upgrade targets, using the source relative mk files.
#

upgrade:	aout-to-elf

${UPGRADE} : upgrade_checks
	@@cd ${.CURDIR}; \
		${_MAKE} -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET}
@


1.277
log
@Don't spam sys/${MACHINE}/conf/ with _.${MACHINE}.makeLINT.

Submitted by:	johan
@
text
@d102 1
@


1.276
log
@Fixed universe.

Folded pc98 into the common case.
Retired ${JFLAG} (``make -jX universe'' should work).
@
text
@d234 1
a234 1
	    > _.${mach}.makeLINT 2>&1
@


1.275
log
@Fix make universe's kernel builds on pc98:  We need to pass both ARCH
and TARGET_ARCH.
@
text
@d6 2
a7 2
# universe 	      - *Really* build *everything*:  Buildworld and
#			all kernels on all architectures.
d212 8
a219 1

d225 10
a234 8
	@@printf ">> ${arch} started on `LC_ALL=C date`\n"
	-cd ${.CURDIR} && make ${JFLAG} buildworld TARGET_ARCH=${arch} \
		__MAKE_CONF=/dev/null \
		> _.${arch}.buildworld 2>&1
	@@printf ">> ${arch} buildworld ended on `LC_ALL=C date`\n"
.if exists(${.CURDIR}/sys/${arch}/conf/NOTES)
	-cd ${.CURDIR}/sys/${arch}/conf && make LINT \
		> _.${arch}.makeLINT 2>&1
d236 3
a238 2
	cd ${.CURDIR} && make buildkernels ARCH=${arch} TARGET_ARCH=${arch} JFLAG="${JFLAG}"
	@@printf ">> ${arch} ended on `LC_ALL=C date`\n"
a239 12
	@@printf ">> pc98 started on `LC_ALL=C date`\n"
	-cd ${.CURDIR} && make buildworld TARGET=pc98 TARGET_ARCH=i386 \
		__MAKE_CONF=/dev/null \
		> _.pc98.buildworld 2>&1
	@@printf ">> pc98 buildworld ended on `LC_ALL=C date`\n"
.if exists(${.CURDIR}/sys/pc98/conf/NOTES)
	-cd ${.CURDIR}/sys/pc98/conf && make LINT \
		> _.pc98.makeLINT 2>&1
.endif
	cd ${.CURDIR} && make buildkernels ARCH=pc98 TARGET_ARCH=i386 \
		JFLAG="${JFLAG}"
	@@printf ">> pc98 ended on `LC_ALL=C date`\n"
d244 2
a245 2
KERNCONFS !=	echo ${.CURDIR}/sys/${ARCH}/conf/[A-Z]*
KERNCONF2 = ${KERNCONFS:T:N*[a-z]*:NCVS:NNOTES}
d248 5
a252 7
.for kernel in ${KERNCONF2}
.if exists(${.CURDIR}/sys/${ARCH}/conf/${kernel})
	-cd ${.CURDIR} && make ${JFLAG} buildkernel \
		ARCH=${ARCH} TARGET_ARCH=${TARGET_ARCH} KERNCONF=${kernel} \
		__MAKE_CONF=/dev/null \
		 > _.${ARCH}.${kernel} 2>&1
.endif
@


1.274
log
@Part 3/3 of unbreaking cross releases:

When we call "distributeworld" as part of "make release", we set
MACHINE and MACHINE_ARCH to point to TARGET and TARGET_ARCH; this
confused src/Makefile's idea of what ${MAKEPATH}, and consequently
${MAKE}, is (well, it still confuses ${MAKEPATH}, but see below).

To overcome this problem, we now take the following approach:

- We preserve the make(1)'s idea of its argv[0], ${MAKE}.
- We check to see if ${MAKE} passes the regression tests.
- If it does, we use it.  Otherwise, we build and use an
  up-to-date make(1).

This fix is still not quite right, in a situation where a single
/usr/obj is shared between different architecture machines, but
it is less critical and I hope to fix that soon.
@
text
@d217 1
a217 1
.for arch in i386 sparc64 alpha ia64 
d227 1
a227 1
	cd ${.CURDIR} && make buildkernels TARGET_ARCH=${arch} JFLAG="${JFLAG}"
d239 1
a239 1
	cd ${.CURDIR} && make buildkernels TARGET=pc98 TARGET_ARCH=i386 \
d246 1
a246 1
KERNCONFS !=	echo ${.CURDIR}/sys/${TARGET_ARCH}/conf/[A-Z]*
d251 1
a251 1
.if exists(${.CURDIR}/sys/${TARGET_ARCH}/conf/${kernel})
d253 1
a253 1
		TARGET_ARCH=${TARGET_ARCH} KERNCONF=${kernel} \
d255 1
a255 1
		 > _.${TARGET_ARCH}.${kernel} 2>&1
@


1.273
log
@Minor typo fixes and whitespace cleanups.
@
text
@d105 1
d107 4
a110 3
MAKEPATH=	${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE_ARCH}
PATH=	${MAKEPATH}:/sbin:/bin:/usr/sbin:/usr/bin
MAKE=	PATH=${PATH} make -m ${.CURDIR}/share/mk -f Makefile.inc1
d117 1
a117 1
		${MAKE} ${.TARGET}
d138 1
a138 1
	@@cd ${.CURDIR}; ${MAKE} pre-world
d140 2
a141 2
	@@cd ${.CURDIR}; ${MAKE} buildworld
	@@cd ${.CURDIR}; ${MAKE} -B installworld
d147 1
a147 1
	@@cd ${.CURDIR}; ${MAKE} post-world
d166 5
a170 3
	@@(cd ${.CURDIR}/tools/regression/usr.bin/make && \
	    PATH=${PATH} make 2>/dev/null) || \
	    (cd ${.CURDIR} && make make)
d210 1
a210 1
		${MAKE} -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET}
@


1.272
log
@Build kernels for pc98 just like the other platforms.  Also, remove
one space to make the dates line up for easy mental math.

# Too bad only i386 and pc98 are the only parts of the universe
# currently buildable on my box :-(
@
text
@d20 1
a20 1
# aout-to-elf         - Upgrade an system from a.out to elf format (see below).
d29 1
a29 1
# the /usr/share/mk/sys.mk unless the -m argument is specified on the 
d74 1
a74 1
# You need to have at least 320 Mb of free space for the object tree.
a253 1

@


1.271
log
@Minor, cosmetic change to buildworld output to make it reflect
rev. 1.270 more accurately.

Reviewed by:	ru
Approved by:	re (jhb)
@
text
@d226 1
d230 8
d239 1
a239 1
	@@printf ">>> make universe completed on `LC_ALL=C date`\n                       (started ${STARTTIME})\n"
@


1.270
log
@If /usr/bin/make fails to pass the regression tests, it might not
be suitable for building.  The old action here was to upgrade the
make in /usr/bin.  This is both bogus and does not work under non
root.  So, rather than overwriting the existing /usr/bin/make, we
now install it into a safe location, and use it from there.

Reviewed by:	imp, marcel
Approved by:	re (rwatson)
@
text
@d183 1
a183 1
	@@echo " Upgrading make(1)"
@


1.269
log
@Moved make(1) regression tests from src/Makefile to where they
belong (src/tools/regression/usr.bin/make), and use the latter
to test if make(1) is adequate for building the world.

Approved by:	re
@
text
@d105 3
a107 1
PATH=	/sbin:/bin:/usr/sbin:/usr/bin
d164 3
a166 2
	@@(cd ${.CURDIR}/tools/regression/usr.bin/make && make 2>/dev/null) || \
	(cd ${.CURDIR} && make make)
d169 1
a169 1
# Upgrade the installed make to the current version using the installed
d172 8
d183 1
a183 1
	@@echo " Upgrading the installed make"
d186 4
a189 2
		make obj && make -D_UPGRADING depend && \
		make -D_UPGRADING all && make install
@


1.268
log
@PC98 is not a true architecture, but a subarchitecture of i386, so we need
to use a slightly differnt command to PC98::buildworld.
@
text
@d159 1
a159 5
# for building the world. These are for older systems (prior to 2.2.5).
#
# From 2.2.5 onwards, the installed tools will pass these upgrade tests,
# so the normal make world is capable of doing what is required to update
# the system to current.
d162 2
a163 21
	@@cd ${.CURDIR}; \
	if ! make -m ${.CURDIR}/share/mk -Dnotdef test >/dev/null 2>&1; then \
		make make; \
	fi
	@@cd ${.CURDIR}; \
	if make -V .CURDIR:C/.// 2>&1 >/dev/null | \
	    grep -q "Unknown modifier 'C'"; then \
		make make; \
	fi

#
# A simple test target used as part of the test to see if make supports
# the -m argument.  Also test that make will only evaluate a conditional
# as far as is necessary to determine its value.
#
test:
.if defined(notdef)
.undef notdef
.if defined(notdef) && ${notdef:U}
.endif
.endif
d167 1
a167 2
# headers, libraries and build tools. This is required on installed versions
# prior to 2.2.5 in which the installed make doesn't support the -m argument.
@


1.267
log
@Add pc98 to universe target.
Remember about /usr/obj and look for conf/NOTES in the right place.
@
text
@d224 1
a224 1
.for arch in i386 sparc64 pc98 alpha ia64 
d237 3
@


1.266
log
@Add "make universe" target which:

        for each arch i386 sparc64 alpha ia64
                make buildworld TARGET_ARCH=$arch
                if NOTES found
                        make LINT
                foreach kern ${arch}/conf/[A-Z0-9]*
                        make buildkernel TARGET_ARCH=$arch KERNCONF=$kern

Errors from the individual steps are ignored and the stdout+stderr
are saved in distinct files in root of the source tree with names
like: _.${arch}.${target}

On my dual 1.6G Athlon it takes roughly four hours to run this target.
@
text
@d224 1
a224 1
.for arch in i386 sparc64 alpha ia64
d230 2
a231 2
.if exists(sys/${arch}/conf/NOTES)
	cd ${.CURDIR}/sys/${arch}/conf && make LINT \
@


1.265
log
@Initiate deorbit burn for the i386-only a.out related support.  Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
@
text
@d6 2
d218 36
@


1.264
log
@Deal with bootstrapping from an old -current (almost exactly a year old)
which fails the make tests (doesn't understand ${notdef:U}) and therefore
fails on __FBSDID in usr.bin/make/*.  -DBOOTSTRAPPING is no help here since
this is before we are using the new share/mk/* files, and it would conflict
with the builtin -DBOOTSTRAPPING support later.. so use a different flag.
@
text
@a58 7
# If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will
# update the legacy support for aout. This includes all libraries, ld.so
# and boot objects. This part of build should be regarded as
# deprecated and you should _not_ expect to be able to do this past the
# release of 4.0. You have exactly one major release to move entirely
# to elf.
#
a82 3
# At the end of the upgrade procedure, /etc/objformat is created or
# updated to contain OBJFORMAT=elf. From then on, you're elf by default.
#
d125 1
a125 1
	@@echo ">>> ${OBJFORMAT} make world started on ${STARTTIME}"
d145 1
a145 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n                       (started ${STARTTIME})\n"
@


1.263
log
@Indentation.
@
text
@d207 2
a208 1
		make obj && make depend && make all && make install
@


1.262
log
@Upgrade make(1) if not passing the ``.if defined(notdef) && ${notdef:U}''
test (revealed by bsd.lib.mk,v 1.134).
@
text
@d175 3
a177 3
		if ! make -m ${.CURDIR}/share/mk -Dnotdef test >/dev/null 2>&1; then \
			make make; \
		fi
d179 4
a182 4
		if make -V .CURDIR:C/.// 2>&1 >/dev/null | \
		    grep -q "Unknown modifier 'C'"; then \
			make make; \
		fi
@


1.261
log
@correct syntax in last commit
@
text
@d175 1
a175 1
		if ! make -m ${.CURDIR}/share/mk test > /dev/null 2>&1; then \
d186 2
a187 1
# the -m argument.
d190 5
@


1.260
log
@Document TARGET_ARCH
@
text
@d66 1
a66 1
# If -DTARGET_ARCH=arch (e.g. ia64, sparc64, ...) is specified you can
@


1.259
log
@Reimplement FILES support using bsd.files.mk with the
same set of features as in recently added bsd.incs.mk
(FILESGROUPS, accessibility from both bsd.prog.mk and
bsd.lib.mk, de-pessimized typical installation path,
etc.)  New standard targets: buildfiles, installfiles,
and files (buildfiles + installfiles).
@
text
@d66 5
@


1.258
log
@Line up the make world completed output.
@
text
@d100 1
a100 1
BITGTS=	includes
@


1.257
log
@Forgot to commit this for the `includes' -> `buildincludes',
`incsinstall' -> `installincludes' changes.
@
text
@d150 1
a150 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n                        (started ${STARTTIME})\n"
@


1.256
log
@Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
@
text
@d96 1
a96 1
	hierarchy includes incsinstall install installcheck installkernel \
d100 3
d114 1
a114 1
${TGTS}: upgrade_checks
@


1.255
log
@Bring doc up-to-date with current buildworld/buildkernel practices.

Reviewed by:	jhb
@
text
@d96 1
a96 1
	hierarchy includes install installcheck installkernel \
@


1.254
log
@Added internal, non-recursive (SUBDIR) versions of the `all-man'
and `maninstall' targets.  This fixes the issue where each subdir
was descended into twice during "make all", and also resurrects
the standardization of `maninstall'.

Urged by:	bde
@
text
@d35 2
a36 2
# For novices wanting to build from current sources, the simple instructions
# are:
d38 2
a39 3
# 1.  Ensure that your /usr/obj directory has at least 260 Mb of free space.
# 2.  `cd /usr/src'  (or to the directory containing your source tree).
# 3.  `make world'
d41 2
a42 2
# Be warned, this will update your installed system, except for configuration
# files in the /etc directory and for the kernel. You have to do those manually.
d44 14
a57 4
# If at first you're a little nervous about having a `make world' update
# your system, a `make buildworld' will build everything in the /usr/obj
# tree without touching your installed system. To be of any further use
# though, a `make installworld' is required.
@


1.253
log
@Milestone #2 in cross-arch make releases.  They now work!

You need to set TARGET_ARCH and possibly TARGET, the same
way you normally do it for a cross build(7).

Renamed `distribworld' to a more natutal `distributeworld'.

Put pwd_mkdb(8) under ${INSTALLTMP}; for `distributeworld'.
@
text
@d88 1
a88 1
	reinstallkernel installmost installworld libraries lint \
@


1.252
log
@Parallel "make release" fixes.
@
text
@d86 1
a86 1
	cleandepend cleandir depend distribute distribworld everything \
d92 1
a92 1
.ORDER: buildworld distribworld
@


1.251
log
@Milestone #1 in cross-arch make releases.

Do not install games and profiled libraries to the ${CHROOTDIR}
with the initial installworld.

Eliminate the need in the second installworld.  For that, make sure
_everything_ is built in the "world" environment, using the right
tool chain.

Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1.  Split the
buildworld process into stages, and skip some stages when
SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5
dists).

Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running
makewhatis(1) at the end of installworld (used when making crypto,
krb4, and krb5 dists).

In release/scripts/doFS.sh, ensure that the correct boot blocks are
used.

Moved the creation of the "crypto" dist from release.5 to
release.2.

In release.3 and doMFSKERN, build kernels in the "world"
environment.  KERNELS now means "additional" kernels, GENERIC is
always built.

Ensure we build crunched binaries in the "world" environment.
Obfuscate release/Makefile some more (WMAKEENV) to achieve this.

Inline createBOOTMFS target.

Use already built GENERIC kernel modules to augment mfsfd's
/stand/modules.  GC doMODULES as such.

Assorted fixes:

Get rid of the "afterdistribute" target by moving the single use
of it from sys/Makefile to etc/Makefile's "distribute".

Makefile.inc1: apparently "etc" no longer needs to be last for
"distribute" to succeed.

gnu/usr.bin/perl/library/Makefile.inc: do not override the
"install" and "distribute" targets, do it the "canonical" way.

release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and
catpages appear in the right dists.  Note that because Perl does
not respect the MANBUILDCAT (and NOMAN), this results in a loss of
/usr/share/perl/man/cat* empty directories.  This will be fixed
soon.

Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it
means "make KerberosIV"), as documented in the make.conf(5)
manpage.  Most of the userland makefiles did not test it for "YES"
anyway.

XXX Should specialized kerberized libpam versions be included into
the krb4 and krb5 dists?  (libpam.a would be incorrect anyway if
both krb4 and krb5 dists were choosen.)

Make sure "games" dist is made before "catpages", otherwise games
catpages settle in the wrong dist.

Fast build machine provided by: Igor Kucherenko <kivvy@@sunbay.com>
@
text
@d87 1
a87 1
	hierarchy includes install installcheck installkernel kernel \
d91 5
d140 7
@


1.250
log
@Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.

Ensure all standard targets honor SUBDIR.  Now `make obj' descends into
SUBDIRs even if NOOBJ is set (some descendants may still need an object
directory, but we do not have such precedents).  Now `make install' in
non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install'
in SUBDIRs, like we do in bsd.subdir.mk.  Nothing depended on the wrong
order anyway.

Fixed `distribute' targets (except for the bsd.subdir.mk version) so that
they do not depend on _SUBDIR; `distribute' calls `install' which already
depends on _SUBDIR.

De-standardize `maninstall', otherwise manpages would be installed twice.
(To be revised later.)
@
text
@d85 1
a85 1
TGTS=	afterdistribute all all-man buildkernel buildworld checkdpadd clean \
@


1.249
log
@Despite the fact that it is documented in the handbook, the release notes,
and UPDATING and has been posted to both freebsd-current and
freebsd-stable, users are still not adding the required smmsp user and
group before doing an installworld.  Therefore, don't let users do an
installworld unless they have followed directions.

Add a new installcheck Makefile target which installworld runs before
actually starting the installation.  This target can be used by other parts
of userland as well.  The first addition to the target is to check for the
smmsp user and group if NO_SENDMAIL isn't defined.

Others may add checks to this target as they see fit.

MFC after:	1 week
@
text
@d88 1
a88 1
	reinstallkernel installmost installworld libraries lint maninstall \
@


1.248
log
@Makefile.inc0 is no longer used.
Update comments to reflect that.

Approved by:	dd, silence in -audit.
@
text
@d87 3
a89 3
	hierarchy includes install installkernel kernel reinstallkernel \
	installmost installworld libraries lint maninstall mk most obj \
	objlink regress rerelease tags update
@


1.247
log
@FreeBSD 4.1 bootstrapping aid (``:C'' make(1) modifier used
by gnu/usr.bin/binutils/as/Makefile.inc0 is not there).

XXX: make(1) should return with a non-zero exit status here.
@
text
@d33 1
a33 3
# The user-driven targets (as listed above) are implemented in Makefile.inc0
# and the private targets are in Makefile.inc1. These are kept separate
# to help the bootstrap build from aout to elf format.
@


1.246
log
@Make it possible to build manpages for the entire source tree.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.245 2001/03/04 10:43:14 obrien Exp $
d149 5
@


1.245
log
@End words with a `.'.
Fixed spacing messed up in rev 1.244.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.244 2001/03/02 16:52:06 ru Exp $
d87 1
a87 1
TGTS=	afterdistribute all buildkernel buildworld checkdpadd clean \
@


1.244
log
@setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.243 2001/02/13 07:47:41 jkh Exp $
d13 1
a13 1
# kernel              - buildkernel + installkernel
d135 1
a135 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n                       (started ${STARTTIME})\n"
@


1.243
log
@Cosmetic fix: Document targets at the top in a uniform way.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.242 2000/12/06 04:35:45 obrien Exp $
d106 1
a106 1
STARTTIME!= LC_TIME=C date
d135 1
a135 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_TIME=C date`\n                       (started ${STARTTIME})\n"
@


1.242
log
@Add back displaying the `world' start time when displaying the stop time.
However, don't prefix it with '>>>', so those greping for times will
not see it.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.241 2000/12/01 22:00:33 jkh Exp $
d13 1
a13 1
# kernel		buildkernel + installkernel
@


1.241
log
@Also list kernel target so one can get to it.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.240 2000/12/01 19:49:33 jkh Exp $
d106 1
d115 1
a115 1
	@@echo ">>> ${OBJFORMAT} make world started on `LC_TIME=C date`"
d135 1
a135 1
	@@echo ">>> ${OBJFORMAT} make world completed on `LC_TIME=C date`"
@


1.240
log
@Document the "kernel" target.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.239 2000/11/21 04:37:29 marcel Exp $
d89 3
a91 3
	hierarchy includes install installkernel reinstallkernel installmost \
	installworld libraries lint maninstall mk most obj objlink regress \
	rerelease tags update
@


1.239
log
@Fix release, broken by the perl cross-build fixes.

The distribute target is basicly the same as an install. For
perl, this means that miniperl is needed. Since miniperl is
only present in the object directory, we need to make sure
the path is set correctly. To do this, we have make release
use a new distribworld target that sets the path before doing
a make distribute.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.238 2000/11/07 08:47:11 jkh Exp $
d13 1
@


1.238
log
@While we're still arguing over debugging output, at least be in a
self-consistent state.

Requested by:	bde
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.237 2000/11/05 23:14:49 jkh Exp $
d87 4
a90 4
	cleandepend cleandir depend distribute everything hierarchy includes \
	install installkernel reinstallkernel installmost installworld \
	libraries lint maninstall mk most obj objlink regress rerelease \
	tags update
@


1.237
log
@MFS: eliminate duplicate start line
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.236 2000/09/19 11:15:40 markm Exp $
a104 1
STARTTIME!= LC_TIME=C date
d113 1
a113 1
	@@echo ">>> ${OBJFORMAT} make world started on ${STARTTIME}"
@


1.236
log
@Pass the reinstallkernel target through from Makefile to Makefile.inc1.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.235 2000/07/31 09:26:59 alex Exp $
a133 1
	@@echo ">>> ${OBJFORMAT} make world started on ${STARTTIME}"
@


1.235
log
@Mention the buildkernel/installkernel targets in the documentation.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234 2000/02/24 23:03:15 markm Exp $
d12 1
d88 3
a90 2
	install installkernel installmost installworld libraries lint \
	maninstall mk most obj objlink regress rerelease tags update
@


1.234
log
@We have a new world order in libraries.

Goodbye libdes; Welcome libcrypto.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.233 2000/01/09 18:17:48 marcel Exp $
d10 2
@


1.234.2.1
log
@MFC: Mention the buildkernel/installkernel targets in the documentation.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234 2000/02/24 23:03:15 markm Exp $
a9 2
# buildkernel         - Rebuild the kernel and the kernel-modules.
# installkernel       - Install the kernel and the kernel-modules.
@


1.234.2.2
log
@removed duplicated "start" message for world target.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.1 2000/08/15 23:28:44 jhb Exp $
d132 1
@


1.234.2.3
log
@MFC: consistency mod
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.2 2000/11/05 22:44:47 jkh Exp $
d103 1
d112 1
a112 1
	@@echo ">>> ${OBJFORMAT} make world started on `LC_TIME=C date`"
@


1.234.2.4
log
@MFC: "kernel" target
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.3 2000/11/07 08:47:38 jkh Exp $
a11 1
# kernel              - buildkernel + installkernel.
@


1.234.2.5
log
@MFC: also list kernel target
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.4 2000/12/01 21:58:09 jkh Exp $
d88 1
a88 1
	install installkernel installmost installworld kernel libraries lint \
@


1.234.2.6
log
@MFC: rev 1.242 (show start and stop times together)
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.5 2000/12/01 22:01:19 jkh Exp $
a103 1
STARTTIME!= LC_TIME=C date
d112 1
a112 1
	@@echo ">>> ${OBJFORMAT} make world started on ${STARTTIME}"
d132 1
a132 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_TIME=C date`\n                       (started ${STARTTIME})\n"
@


1.234.2.7
log
@MFC a few things related to buildkernel:
- add the reinstallkernel target (does a make reinstall)
- prefer KERNCONF to KERNEL, but accept KERNEL anyway (with a pointer
  to KERNCONF, but not as annoying as on -current)
- use 'make clean' instead of 'config -r'
- add a NO_KERNELCLEAN option to avoid a clean. NOCLEAN is respected.
- buildkernel checks to see if a kernel name was supplied
- Allow changing the installed kernel name..
  eg: make buildkernel KERNCONF=GENERIC INSTKERNNAME=kernel.GENERIC

These should largely be transparent and should not break anything
or anyone.  It should enable consistant doc targets between -current
and RELENG_4 now.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.6 2000/12/06 06:00:43 obrien Exp $
a11 1
# reinstallkernel     - Reinstall the kernel and the kernel-modules.
d89 1
a89 2
	maninstall mk most obj objlink regress reinstallkernel rerelease \
	tags update
@


1.234.2.8
log
@MFC: fix setlocale(3) so that LC_ALL environment variable (if set
and not NULL) is preferred over other LC_* environment variables,
as required by POSIX.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.7 2001/02/02 08:33:47 peter Exp $
d106 1
a106 1
STARTTIME!= LC_ALL=C date
d135 1
a135 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n                       (started ${STARTTIME})\n"
@


1.234.2.9
log
@MFC: gratituous style diff
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.8 2001/03/05 13:08:30 ru Exp $
d135 1
a135 1
	@@printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n                        (started ${STARTTIME})\n"
@


1.234.2.10
log
@- Removed _MANPAGES, MANDEPEND and MANSRC.

- Added MAN which will eventually replace MAN[0-9] and MAN1aout.
  The old syntax is still supported for backwards compatibility,
  but only if no new syntax (MAN) is used.

- Removed `n' from the list of manpage sections.

- Made `all-man' the standard target.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.234.2.9 2001/03/06 03:17:38 jkh Exp $
d87 1
a87 1
TGTS=	afterdistribute all all-man buildkernel buildworld checkdpadd clean \
@


1.234.2.11
log
@MFC: Despite the fact that it is documented in the handbook, the release notes,
     and UPDATING and has been posted to both freebsd-current and
     freebsd-stable, users are still not adding the required smmsp user and
     group before doing an installworld.  Therefore, don't let users do an
     installworld unless they have followed directions.

     Add a new installcheck Makefile target which installworld runs before
     actually starting the installation.  This target can be used by other parts
     of userland as well.  The first addition to the target is to check for the
     smmsp user and group if NO_SENDMAIL isn't defined.

     Others may add checks to this target as they see fit.

     Revision  Changes    Path
     1.249     +3 -3      src/Makefile
     1.260     +18 -1     src/Makefile.inc1
@
text
@d2 1
a2 1
# $FreeBSD$
d89 3
a91 3
	install installcheck installkernel installmost installworld kernel \
	libraries lint maninstall mk most obj objlink regress \
	reinstallkernel rerelease tags update
@


1.234.2.12
log
@MFC: 1.255 - doc update

Approved by:	re
@
text
@d37 2
a38 2
# If you want to build your system from source be sure that /usr/obj has
# at least 400MB of diskspace available.
d40 3
a42 2
# For individuals wanting to build from the sources currently on their
# system, the simple instructions are:
d44 2
a45 2
# 1.  `cd /usr/src'  (or to the directory containing your source tree).
# 2.  `make world'
d47 4
a50 14
# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
# 1.  `cd /usr/src'       (or to the directory containing your source tree).
# 2.  `make buildworld'
# 3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
# 4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
# 5.  `reboot'        (in single user mode: boot -s from the loader prompt).
# 6.  `mergemaster -p'
# 7.  `make installworld'
# 8.  `mergemaster'
# 9.  `reboot'
#
# See src/UPDATING `COMMON ITEMS' for more complete information.
@


1.234.2.13
log
@Mega-MFC of share/mk fixes:

Removed the SUBDIR_CHANGE feature: bsd.subdir.mk 1.33.
Neither .depend nor ${DEPENDFILE} depend on _SUBDIR: bsd.obj.mk 1.38.
Finished removal of ${LDDESTDIR}: bsd.obj.mk 1.39, bsd.prog.mk 1.106.
Fixed all-man to propagate into SUBDIR: bsd.man.mk 1.43.
Don't spawn extra make(1) to execute _EXTRADEPEND: bsd.dep.mk 1.32.
Revert to the ordinary `:' operator for maninstall: bsd.man.mk 1.44.
Don't use ${INSTALLFLAGS} to install scripts and files: bsd.prog.mk 1.112.
Fixed _SUBDIR: bsd.obj.mk 1.41.

Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk:
bsd.dep.mk 1.34, bsd.doc.mk 1.51, bsd.info.mk 1.62, bsd.lib.mk 1.113,
bsd.man.mk 1.46, bsd.obj.mk 1.42, bsd.prog.mk 1.114, bsd.sgml.mk 1.31,
bsd.subdir.mk 1.35, sys/conf/kmod.mk 1.118, share/man/man4/Makefile 1.154,
share/man/man8/Makefile 1.28.

Abuse bsd.obj.mk for defining default distribute target: bsd.doc.mk 1.52,
bsd.info.mk 1.64, bsd.lib.mk 1.115, bsd.obj.mk 1.43, bsd.prog.mk 1.116.

Assorted bugfixes: bsd.prog.mk 1.117, bsd.lib.mk 1.116, bsd.prog.mk 1.118.

`all-man' and `maninstall' "recursiveness" fixes: bsd.lib.mk 1.117,
bsd.man.mk 1.47, bsd.prog.mk 1.119, bsd.subdir.mk 1.39.

Quiet ``make objlink'' when NOOBJ is defined: bsd.obj.mk 1.44.
Fixed typos: bsd.obj.mk 1.45.
Removed dependencies already in bsd.subdir.mk: bsd.doc.mk 1.153.

Moved checkdpadd target: bsd.dep.mk 1.36, bsd.obj.mk 1.46.
Removed the `afterdistribute' target: src/Makefile 1.251, bsd.subdir.mk 1.38.
Fixed bogus *install dependencies: bsd.subdir.mk 1.43.
`distribute' fixes: bsd.obj.mk 1.47, bsd.subdir.mk 1.44.
@
text
@d96 1
a96 1
TGTS=	all all-man buildkernel buildworld checkdpadd clean \
@


1.234.2.14
log
@MFC: bsd.files.mk.
@
text
@a101 3
BITGTS=	files
BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}

d108 1
a108 1
${TGTS} ${BITGTS}: upgrade_checks
@


1.234.2.15
log
@MFC: 1.262: Upgrade make(1) to at least usr.bin/make/var.c,v 1.16.2.3.
@
text
@d160 3
a162 3
	if ! make -m ${.CURDIR}/share/mk -Dnotdef test >/dev/null 2>&1; then \
		make make; \
	fi
d166 1
a166 2
# the -m argument.  Also test that make will only evaluate a conditional
# as far as is necessary to determine its value.
a168 5
.if defined(notdef)
.undef notdef
.if defined(notdef) && ${notdef:U}
.endif
.endif
@


1.234.2.16
log
@MFC: bsd.incs.mk support and assorted header fixes:

Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.

Install sys/netatm/*/*.h to /usr/include/netatm/*/.

Don't install compatibility symlinks for <machine/soundcard.h>
and <machine/joystick.h>.

Don't install IPFILTER headers.  Userland utilities fetch them
directly, and they were not visible in the SHARED=symlinks case.

Resurrect SHARED=symlinks in Makefile.inc1.

PR:		docs/29534, bin/28002
@
text
@d97 4
a100 5
	cleandepend cleandir depend distribute everything \
	hierarchy install installcheck installkernel \
	reinstallkernel installmost installworld kernel \
	libraries lint maninstall \
	mk most obj objlink regress rerelease tags update
d102 1
a102 1
BITGTS=	files includes
@


1.234.2.17
log
@MFC: 1.247: Bootstrap make(1) not supporting the :C modifier
(currently used by sys/dev/aic7xxx/aicasm/Makefile,v 1.8.2.3).
@
text
@a163 5
	@@cd ${.CURDIR}; \
	if make -V .CURDIR:C/.// 2>&1 >/dev/null | \
	    grep -q "Unknown modifier 'C'"; then \
		make make; \
	fi
@


1.234.2.18
log
@MFC: cross-release support.

Assorted fixes:

- Changed the way the `catpages' dist is built (all MD catpages
  were missing before).

- Perl manpages now end up in the `manpage' dist.

- Clean up the `dict' dist generation script.

- Diff reduction to -CURRENT.
@
text
@d33 3
a35 1
# The user-driven targets (as listed above) are implemented in Makefile.inc1.
a67 5
# If TARGET_ARCH=arch (e.g. alpha) is specified you can
# cross build world for other architectures using the buildworld target,
# and once the world is built you can cross build a kernel using the
# buildkernel target.
#
d97 1
a97 1
	cleandepend cleandir depend distribute distributeworld everything \
d99 2
a100 1
	reinstallkernel installmost installworld libraries lint maninstall \
a105 5
.ORDER: buildworld installworld
.ORDER: buildworld distributeworld
.ORDER: buildkernel installkernel
.ORDER: buildkernel reinstallkernel

a149 7

#
# kernel
#
# Short hand for `make buildkernel installkernel'
#
kernel: buildkernel installkernel
@


1.234.2.19
log
@MFC: 1.278: Don't make buildworld and buildkernel in parallel.
@
text
@a109 1
.ORDER: buildworld buildkernel
@


1.234.2.20
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/4/Makefile 113553 2003-04-16 09:59:40Z ru $
@


1.233
log
@Add the buildkernel and installkernel targets.
While here fix some minor style bugs (whitespacing) and move the
make target from Makefile.upgrade to this file.
Simplify the make target to make it readable.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.232 1999/12/23 13:53:44 marcel Exp $
d85 2
a86 2
	install installkernel installmost installworld lint maninstall mk \
	most obj objlink regress rerelease tags update
@


1.232
log
@Descent into sub-makes with a fixed PATH. The PATH does not contain
/usr/games on purpose. All tools in /usr/games are built as part of
the tool stages to support building world on machines without games.

This fixes any build problems that have been caused by non-standard
paths and also removes the primary objection for not using absolute
paths.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.231 1999/12/08 18:10:15 marcel Exp $
d83 4
a86 4
TGTS =	afterdistribute all buildworld checkdpadd clean cleandepend cleandir \
	depend distribute everything hierarchy includes install installmost \
	installworld lint maninstall mk most obj objlink regress rerelease \
	tags update
d94 1
a94 1
${TGTS} : upgrade_checks
d142 5
a146 2
upgrade_checks :
	@@cd ${.CURDIR}; if `make -m ${.CURDIR}/share/mk test > /dev/null 2>&1`; then ok=1; else ${MAKE} -f Makefile.upgrade make; fi;
d152 14
a165 1
test	:
d171 1
a171 1
UPGRADE =	aout-to-elf aout-to-elf-build aout-to-elf-install \
@


1.231
log
@Oops! bypassing Makefile.inc0 without adding a `world' target is not
a good idea. Adding `world' to Makefile is save, because all hairy
bits are in Makefile.inc1 anyway.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.230 1999/12/08 13:45:11 marcel Exp $
d88 2
a89 1
MAKE=	make -m ${.CURDIR}/share/mk -f Makefile.inc1
@


1.230
log
@Restore the upgrade path from -stable to -current and prepare for
non-root cross-building.

o  Makefile.inc0 is not used anymore.
o  The legacy aout build has been removed.
o  Selectively build tools *before* building includes/libraries.
o  Avoid using mtree to populate the obj tree.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.229 1999/09/18 08:27:55 jb Exp $
d86 3
a88 1
	tags update world
d95 1
a95 1
		${MAKE} -f Makefile.inc1 -m ${.CURDIR}/share/mk ${.TARGET}
d99 33
@


1.229
log
@Remove a comment about setting objformat to elf by default. We've
done that already.

Change the -DWANT_AOUT comment to refer to 4.0 so that it sounds less
silly.
@
text
@d2 1
a2 1
# $FreeBSD: src/Makefile,v 1.228 1999/08/28 01:35:57 peter Exp $
d93 1
a93 1
		${MAKE} -f Makefile.inc0 -m ${.CURDIR}/share/mk ${.TARGET}
@


1.228
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
a47 7
# The `make world' process always follows the installed object format.
# This is set by creating /etc/objformat containing either OBJFORMAT=aout
# or OBJFORMAT=elf. If this file does not exist, the object format defaults
# to aout. This is expected to be changed to elf just prior to the release
# or 3.0. If OBJFORMAT is set as an environment variable or in /etc/make.conf,
# this overrides /etc/objformat.
#
d52 1
a52 1
# release of 3.1. You have exactly one major release to move entirely
@


1.227
log
@Comment change: "Be warned, this will update your installed system, except
for the configuration files in the /etc directory." ....  and the kernel.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.226 1999/03/29 10:59:52 obrien Exp $
@


1.226
log
@Change !defined(NOAOUT) knob to defined(WANT_AOUT).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.225 1999/03/20 20:10:19 jkh Exp $
d41 1
a41 1
# files in the /etc directory. You have to do those manually.
@


1.225
log
@Note that the upgrade target exists, and what it does.

Requested by:		Wayne M Barnes <stabilizer@@klentaq1.emergingtech.org>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.224 1999/02/17 20:56:09 msmith Exp $
d55 1
a55 1
# Unless -DNOAOUT is specified, a `make world' with OBJFORMAT=elf will
@


1.224
log
@Use ${MAKE} not 'make -f'

Submitted by:	tfreak@@fluffybunny.jaded.net
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.223 1999/01/26 09:12:20 jkh Exp $
d11 1
@


1.223
log
@Frob the upgrade target to be a bit more inclusive.  This appears to
be a good bit more successful at doing automated upgrades than the
previous aout-to-elf target, anyway.  I'll MF3 in a couple of days
depending on how this does.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.222 1998/12/28 17:03:49 peter Exp $
d99 1
a99 1
		make -f Makefile.inc0 -m ${.CURDIR}/share/mk ${.TARGET}
d113 1
a113 1
	@@cd ${.CURDIR}; if `make -m ${.CURDIR}/share/mk test > /dev/null 2>&1`; then ok=1; else make -f Makefile.upgrade make; fi;
d136 1
a136 1
		make -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET}
@


1.222
log
@Dip my toes into the fire and zap the leftover lkm hooks..  It seems they
try and recurse if the lkm dir exists for some reason but there isn't any
Makefile there. (eg: stray files prevented cvs update -P from removing the
empty dirs)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.221 1998/10/17 15:25:26 bde Exp $
d66 3
a68 2
# The aout->elf transition build is performed by doing a `make aout-to-elf'
# or a `make aout-to-elf-build' followed by a `make aout-to-elf-install'.
a74 8
# For installed systems where `uname -r' reports something other than
# 3.0-CURRENT, the upgrade process expects to build a kernel using the
# kernel configuration file sys/i386/conf/GENERICupgrade. This file is
# defaulted to the GENERIC kernel configuration file on the assumption that
# it will be suitable for most systems. Before performing the upgrade,
# replace sys/i386/conf/GENERICupgrade with your own version if your
# hardware requires a different configuration.
#
d77 2
a78 1
# upgrade.
d131 3
@


1.222.2.1
log
@Support new upgrade target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.222 1998/12/28 17:03:49 peter Exp $
d66 2
a67 3
# The aout->elf transition build is performed by doing a `make upgrade' (or
# `make aout-to-elf') or in two steps by a `make aout-to-elf-build' followed
# by a `make aout-to-elf-install', depending on user preference.
d74 8
d84 1
a84 2
# upgrade.  Optionally, you can also start it with NOCONFIRM=yes and skip
# the confirmation steps.
a136 3

upgrade:	aout-to-elf

@


1.222.2.2
log
@MFC: replace 'make -f' with '${MAKE} -f'
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.222.2.1 1999/01/27 02:24:45 jkh Exp $
d99 1
a99 1
		${MAKE} -f Makefile.inc0 -m ${.CURDIR}/share/mk ${.TARGET}
d113 1
a113 1
	@@cd ${.CURDIR}; if `make -m ${.CURDIR}/share/mk test > /dev/null 2>&1`; then ok=1; else ${MAKE} -f Makefile.upgrade make; fi;
d136 1
a136 1
		${MAKE} -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET}
@


1.222.2.3
log
@MFC: document upgrade, work-around for doscmd.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.222.2.2 1999/02/17 21:04:44 msmith Exp $
a10 1
# upgrade             - Upgrade a.out (2.2.x/3.0) system to the new ELF way
@


1.222.2.4
log
@MFC: NOAOUT --> WANT_AOUT
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.222.2.3 1999/03/24 04:26:19 jkh Exp $
d55 1
a55 1
# If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will
@


1.222.2.5
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.221
log
@Restored all lost user targets that are supported by bsd.subdir.mk:
checkdpadd, lint, maninstall, objlink, regress and tags.

Removed bogus user target cleanobj.  It is the non-recursive base of
the cleandir target, so it is not useful (or usable) here.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.220 1998/09/29 22:03:12 jkh Exp $
d55 2
a56 2
# update the legacy support for aout. This includes all libraries, ld.so,
# lkms and boot objects. This part of build should be regarded as
@


1.220
log
@Add back a few useful targets lost in the reshuffle.
Reviewed by:	jb
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.219 1998/09/28 20:39:23 jb Exp $
d95 4
a98 3
TGTS =	afterdistribute all buildworld clean cleandepend cleandir cleanobj \
	depend distribute everything hierarchy includes installmost install \
	installworld mk most obj rerelease update world
@


1.219
log
@The legacy stuff needs gobs more space in the obj tree. 165->260 Mb.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.218 1998/09/15 05:10:17 jkh Exp $
d95 3
a97 3
TGTS =	afterdistribute all buildworld clean cleandepend cleanobj depend \
	distribute everything hierarchy includes installmost install \
	installworld most obj rerelease update world
@


1.218
log
@Restore default implict behavior of running the all target we had before.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.217 1998/09/10 20:44:55 ache Exp $
d35 1
a35 1
# 1.  Ensure that your /usr/obj directory has at least 165 Mb of free space.
@


1.217
log
@Revive hierarchy again.
Please commit only patches, not whole files!
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.216 1998/09/09 06:07:32 jb Exp $
d105 3
@


1.216
log
@Add the missing rerelease target back.

Reported by: Justin Gibbs.

Add the move-aout-libs upgrade target so that people who have already
gone elf can put their libraries through the mincer. Anyone who hasn't
deleted aout libraries from /usr/lib (but has done a make world putting
the new aout libs in /usr/lib/aout) will be asked for confirmation
to delete them one by one.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.215 1998/09/07 18:10:26 ache Exp $
d96 2
a97 2
	distribute everything includes installmost install installworld \
	most obj rerelease update world
@


1.215
log
@Revive hierarchy target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.214 1998/09/04 21:19:37 jb Exp $
d18 2
d95 3
a97 3
TGTS =	all buildworld clean cleandepend cleanobj depend distribute \
	everything hierarchy includes installmost install installworld \
	most obj update world afterdistribute
d127 2
a128 1
UPGRADE =	aout-to-elf aout-to-elf-build aout-to-elf-install
@


1.214
log
@YAMT (yet another missing target). It's a shame that these have to
be visible to the user. Maybe `make release' should call the backend
directly.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.213 1998/09/04 09:19:19 jb Exp $
d94 2
a95 2
	everything includes installmost install installworld most obj \
	update world afterdistribute
@


1.213
log
@Add the distribute target that make release wants.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.212 1998/09/01 05:53:00 jb Exp $
d95 1
a95 1
	update world
@


1.212
log
@Add the clean cleandepend and cleanobj targets back.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.211 1998/08/31 01:08:08 jb Exp $
d93 3
a95 2
TGTS =	all buildworld clean cleandepend cleanobj depend everything \
	includes installmost install installworld most obj update world
@


1.211
log
@E-day build system changes.

- Moved most of the guts of Makefile to Makefile.inc1 to become the
  backend for the build system.
- The new Makefile doesn't suffer from problems including the wrong
  sys.mk because it doesn't use anything in there or bsd.own.mk. So,
  from now on, the proper build command is just `make world' (or
  buildworld).
- The intermediate makefiles called Makefile.inc0 and Makefile.upgrade
  fiddle with the OBJFORMAT and MAKEOBJDIRPREFIX variables so that
  both aout and elf object trees can coexist. Makefile.upgrade contains
  the aout->elf transition build.
- A cross build environment is now very close to reality. Specifying
  TOOLDIR, setting OBJFORMAT and MAKEOBJDIRPREFIX allow that.

See the comments in Makefile for more info.
@
text
@d2 1
a2 1
#	$Id$
d93 2
a94 2
TGTS =	all buildworld depend everything includes installmost install \
	installworld most obj update world
@


1.210
log
@Build objformat on all architectures.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.209 1998/08/04 17:13:38 bde Exp $
d4 1
a4 2
# While porting to the another architecture include the bootstrap instead
# of the normal build.
d6 12
a17 232
.if exists(${.CURDIR}/Makefile.${MACHINE}) && defined(BOOTSTRAP_WORLD)
.include "${.CURDIR}/Makefile.${MACHINE}"
.else
#
# Make command line options:
#	-DCLOBBER will remove /usr/include
#	-DMAKE_KERBEROS4 to build KerberosIV
#	-DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
#	-DNOCLEAN do not clean at all
#	-DNOTOOLS do not rebuild any tools first
#	-DNOCRYPT will prevent building of crypt versions
#	-DNOLKM do not build loadable kernel modules
#	-DNOOBJDIR do not run ``${MAKE} obj''
#	-DNOPROFILE do not build profiled libraries
#	-DNOSECURE do not go into secure subdir
#	-DNOGAMES do not go into games subdir
#	-DNOSHARE do not go into share subdir
#	-DNOINFO do not make or install info files
#	-DNOLIBC_R do not build libc_r.
#	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list

#
# The intended user-driven targets are:
# buildworld  - rebuild *everything*, including glue to help do upgrades
# installworld- install everything built by "buildworld"
# world       - buildworld + installworld
# update      - convenient way to update your source tree (eg: sup/cvs)
# most        - build user commands, no libraries or include files
# installmost - install user commands, no libraries or include files
#
# Standard targets (not defined here) are documented in the makefiles in
# /usr/share/mk.  These include:
#		obj depend all install clean cleandepend cleanobj

.if (!make(world)) && (!make(buildworld)) && (!make(installworld))
.MAKEFLAGS:=	-m ${.CURDIR}/share/mk ${.MAKEFLAGS}
.endif

#
# Pick up any macros that are defined in the src-relative bsd.own.mk
# but not in the "system" bsd.own.mk.  The "system" version has
# unfortunately already been included by the "system" sys.mk, so this
# only works for new macros.  First undefine old macros that cause
# problems.
#
.undef LIBDIR
.include "${.CURDIR}/share/mk/bsd.own.mk"

# Put initial settings here.
SUBDIR=

# We must do share/info early so that installation of info `dir'
# entries works correctly.  Do it first since it is less likely to
# grow dependencies on include and lib than vice versa.
.if exists(share/info)
SUBDIR+= share/info
.endif

# We must do include and lib early so that the perl *.ph generation
# works correctly as it uses the header files installed by this.
.if exists(include)
SUBDIR+= include
.endif
.if exists(lib)
SUBDIR+= lib
.endif

.if exists(bin)
SUBDIR+= bin
.endif
.if exists(games) && !defined(NOGAMES)
SUBDIR+= games
.endif
.if exists(gnu)
SUBDIR+= gnu
.endif
.if exists(kerberosIV) && exists(crypto) && !defined(NOCRYPT) && \
    defined(MAKE_KERBEROS4)
SUBDIR+= kerberosIV
.endif
.if exists(libexec)
SUBDIR+= libexec
.endif
.if exists(sbin)
SUBDIR+= sbin
.endif
.if exists(share) && !defined(NOSHARE)
SUBDIR+= share
.endif
.if exists(sys)
SUBDIR+= sys
.endif
.if exists(usr.bin)
SUBDIR+= usr.bin
.endif
.if exists(usr.sbin)
SUBDIR+= usr.sbin
.endif
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
SUBDIR+= secure
.endif
.if exists(lkm) && !defined(NOLKM)
SUBDIR+= lkm
.endif

# etc must be last for "distribute" to work
.if exists(etc)
SUBDIR+= etc
.endif

# These are last, since it is nice to at least get the base system
# rebuilt before you do them.
.if defined(LOCAL_DIRS)
.for _DIR in ${LOCAL_DIRS}
.if exists(${_DIR}) & exists(${_DIR}/Makefile)
SUBDIR+= ${_DIR}
.endif
.endfor
.endif

# Handle -DNOOBJDIR, -DNOCLEAN and -DNOCLEANDIR
.if defined(NOOBJDIR)
OBJDIR=
.else
OBJDIR=		obj
.endif

.if defined(NOCLEAN)
CLEANDIR=
.else
.if defined(NOCLEANDIR)
CLEANDIR=	clean cleandepend
.else
CLEANDIR=	cleandir
.endif
.endif

.if !defined(NOCLEAN)
_NODEPEND=	true
.endif
.if defined(_NODEPEND)
_DEPEND=	cleandepend
.else
_DEPEND=	depend
.endif

SUP?=		cvsup
SUPFLAGS?=	-g -L 2 -P -

#
# While building tools for bootstrapping, we don't need to waste time on
# shared or profiled libraries, shared linkage, or documentation, except
# when the tools won't get cleaned we must use the defaults for shared
# libraries and shared linkage (and this doesn't waste time).
# XXX actually, we do need to waste time building shared libraries.
#
.if defined(NOCLEAN)
MK_FLAGS=	-DNOINFO -DNOMAN         -DNOPROFILE
.else
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED
.endif

#
# world
#
# Attempt to rebuild and reinstall *everything*, with reasonable chance of
# success, regardless of how old your existing system is.
#
# >> Beware, it overwrites the local build environment! <<
#
world:
	@@echo "--------------------------------------------------------------"
	@@echo "make world started on `LC_TIME=C date`"
	@@echo "--------------------------------------------------------------"
.if target(pre-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Making 'pre-world' target"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${MAKE} pre-world
.endif
	cd ${.CURDIR}; ${MAKE} buildworld
	cd ${.CURDIR}; ${MAKE} -B installworld
.if target(post-world)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Making 'post-world' target"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${MAKE} post-world
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo "make world completed on `LC_TIME=C date`"
	@@echo "--------------------------------------------------------------"

.if defined(MAKEOBJDIRPREFIX)
WORLDTMP=	${MAKEOBJDIRPREFIX}${.CURDIR}/tmp
.else
WORLDTMP=	/usr/obj${.CURDIR}/tmp
.endif
STRICTTMPPATH=	${WORLDTMP}/sbin:${WORLDTMP}/usr/sbin:${WORLDTMP}/bin:${WORLDTMP}/usr/bin
TMPPATH=	${STRICTTMPPATH}:${PATH}

# XXX COMPILER_PATH is needed for finding cc1, ld and as
# XXX GCC_EXEC_PREFIX is for *crt.o.  It is probably unnecessary now
#	that LIBRARY_PATH is set.  We still can't use -nostdlib, since gcc
#	wouldn't link *crt.o or libgcc if it were used.
# XXX LD_LIBRARY_PATH is for ld.so.  It is also used by ld, although we don't
#	want that - all compile-time library paths should be resolved by gcc.
#	It fails for set[ug]id executables (are any used?).
COMPILER_ENV=	BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \
		COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \
		GCC_EXEC_PREFIX=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib/ \
		LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \
		LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib

BMAKEENV=	PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t \
		OBJFORMAT_PATH=${WORLDTMP}/usr/libexec:/usr/libexec
XMAKEENV=	PATH=${STRICTTMPPATH} ${COMPILER_ENV} \
		OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
		CFLAGS="-nostdinc ${CFLAGS}"	# XXX -nostdlib

# used to compile and install 'make' in temporary build tree
MAKETMP=	${WORLDTMP}/make
IBMAKE=	${BMAKEENV} MAKEOBJDIR=${MAKETMP} ${MAKE} DESTDIR=${WORLDTMP}
# bootstrap make
BMAKE=	${BMAKEENV} ${WORLDTMP}/usr/bin/make DESTDIR=${WORLDTMP}
# cross make used for compilation
XMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/make DESTDIR=${WORLDTMP}
# cross make used for final installation
IXMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/make

d19 6
a24 1
# buildworld
d26 3
a28 2
# Attempt to rebuild the entire system, with reasonable chance of
# success, regardless of how old your existing system is.
d30 2
a31 149
buildworld:
.if !defined(NOCLEAN)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Cleaning up the temporary build tree"
	@@echo "--------------------------------------------------------------"
	mkdir -p ${WORLDTMP}
	chflags -R noschg ${WORLDTMP}/
	rm -rf ${WORLDTMP}
.endif
.if !defined(NOTOOLS)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Making make"
	@@echo "--------------------------------------------------------------"
	mkdir -p ${WORLDTMP}/usr/bin ${MAKETMP}
	( \
	cd ${.CURDIR}/usr.bin/make; \
		MAKEOBJDIRPREFIX=""; unset MAKEOBJDIRPREFIX; \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all; \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install; \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} clean \
	)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Making mtree"
	@@echo "--------------------------------------------------------------"
	mkdir -p ${WORLDTMP}/usr/sbin ${WORLDTMP}/mtree
	( \
	cd ${.CURDIR}/usr.sbin/mtree; \
		MAKEOBJDIRPREFIX=""; unset MAKEOBJDIRPREFIX; \
		export MAKEOBJDIR=${WORLDTMP}/mtree; \
		${BMAKE} ${MK_FLAGS} all; \
		${BMAKE} ${MK_FLAGS} -B install clean \
	)
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Making hierarchy"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} hierarchy
.if !defined(NOCLEAN)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Cleaning up the obj tree"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} ${CLEANDIR:S/^/par-/}
.endif
.if !defined(NOOBJDIR)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding the obj tree"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} par-${OBJDIR}
.endif
.if !defined(NOTOOLS)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding bootstrap tools"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} bootstrap
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding tools necessary to build the include files"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} include-tools
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR}/usr/include"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; SHARED=copies ${BMAKE} includes
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding bootstrap libraries"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} bootstrap-libraries
.if !defined(NOTOOLS)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding tools needed to build libraries"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} lib-tools
.endif
.if !defined(NOTOOLS)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding all other tools needed to build the world"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${BMAKE} build-tools
.endif
.if !defined(_NODEPEND)
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding dependencies"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${XMAKE} par-depend
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Building libraries"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${XMAKE} -DNOINFO -DNOMAN libraries
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Building everything.."
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${XMAKE} all

#
# installworld
#
# Installs everything compiled by a 'buildworld'.
#
installworld:
	cd ${.CURDIR}; ${IXMAKE} reinstall

#
# reinstall
#
# If you have a build server, you can NFS mount the source and obj directories
# and do a 'make reinstall' on the *client* to install new binaries from the
# most recent server build.
#
reinstall:
	@@echo "--------------------------------------------------------------"
	@@echo " Making hierarchy"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${MAKE} hierarchy
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Installing everything.."
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; ${MAKE} install
.if ${MACHINE_ARCH} == "i386"
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Re-scanning the shared libraries.."
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; /sbin/ldconfig -R
.endif
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding man page indexes"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}/share/man; ${MAKE} makedb

#
# update
d33 3
a35 23
# Update the source tree, by running sup and/or running cvs to update to the
# latest copy.
#
update:
.if defined(SUP_UPDATE)
	@@echo "--------------------------------------------------------------"
	@@echo "Running ${SUP}"
	@@echo "--------------------------------------------------------------"
	@@${SUP} ${SUPFLAGS} ${SUPFILE}
.if defined(SUPFILE1)
	@@${SUP} ${SUPFLAGS} ${SUPFILE1}
.endif
.if defined(SUPFILE2)
	@@${SUP} ${SUPFLAGS} ${SUPFILE2}
.endif
.endif
.if defined(CVS_UPDATE)
	@@echo "--------------------------------------------------------------"
	@@echo "Updating /usr/src from cvs repository" ${CVSROOT}
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}; cvs -q update -P -d
.endif

d37 2
a38 23
# most
#
# Build most of the user binaries on the existing system libs and includes.
#
most:
	@@echo "--------------------------------------------------------------"
	@@echo " Building programs only"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}/bin;		${MAKE} all
	cd ${.CURDIR}/sbin;		${MAKE} all
	cd ${.CURDIR}/libexec;		${MAKE} all
	cd ${.CURDIR}/usr.bin;		${MAKE} all
	cd ${.CURDIR}/usr.sbin;		${MAKE} all
	cd ${.CURDIR}/gnu/libexec;	${MAKE} all
	cd ${.CURDIR}/gnu/usr.bin;	${MAKE} all
	cd ${.CURDIR}/gnu/usr.sbin;	${MAKE} all
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberosIV;	${MAKE} most
#.endif
#.if !defined(NOSECURE) && !defined(NOCRYPT)
#	cd ${.CURDIR}/secure;		${MAKE} most
#.endif

d40 4
a43 1
# installmost
d45 6
a50 2
# Install the binaries built by the 'most' target.  This does not include
# libraries or include files.
d52 6
a57 19
installmost:
	@@echo "--------------------------------------------------------------"
	@@echo " Installing programs only"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}/bin;		${MAKE} install
	cd ${.CURDIR}/sbin;		${MAKE} install
	cd ${.CURDIR}/libexec;		${MAKE} install
	cd ${.CURDIR}/usr.bin;		${MAKE} install
	cd ${.CURDIR}/usr.sbin;		${MAKE} install
	cd ${.CURDIR}/gnu/libexec;	${MAKE} install
	cd ${.CURDIR}/gnu/usr.bin;	${MAKE} install
	cd ${.CURDIR}/gnu/usr.sbin;	${MAKE} install
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberosIV;	${MAKE} installmost
#.endif
#.if !defined(NOSECURE) && !defined(NOCRYPT)
#	cd ${.CURDIR}/secure;		${MAKE} installmost
#.endif

d59 1
a59 1
# ------------------------------------------------------------------------
d61 1
a61 6
# From here onwards are utility targets used by the 'make world' and
# related targets.  If your 'world' breaks, you may like to try to fix
# the problem and manually run the following targets to attempt to
# complete the build.  Beware, this is *not* guaranteed to work, you
# need to have a pretty good grip on the current state of the system
# to attempt to manually finish it.  If in doubt, 'make world' again.
a62 1

d64 3
a66 1
# heirarchy - ensure that all the needed directories are present
d68 3
a70 3
hierarchy:
	cd ${.CURDIR}/etc;		${MAKE} distrib-dirs

d72 7
a78 44
# bootstrap - [re]build tools needed to run the actual build, this includes
# tools needed by 'make depend', as some tools are needed to generate source
# for the dependency information to be gathered from.
#
bootstrap:
.if defined(DESTDIR)
	rm -f ${DESTDIR}/usr/src/sys
	ln -s ${.CURDIR}/sys ${DESTDIR}/usr/src
	cd ${.CURDIR}/include; find -dx . | cpio -dump ${DESTDIR}/usr/include
.for d in net netinet posix4 sys vm machine
	if [ -h ${DESTDIR}/usr/include/$d ]; then \
		rm -f ${DESTDIR}/usr/include/$d ; \
	fi
.endfor
	cd ${.CURDIR}/sys; \
		find -dx net netinet posix4 sys vm -name '*.h' -o -type d | \
		cpio -dump ${DESTDIR}/usr/include
	mkdir -p ${DESTDIR}/usr/include/machine
	cd ${.CURDIR}/sys/${MACHINE_ARCH}/include; find -dx . -name '*.h' -o -type d | \
		cpio -dump ${DESTDIR}/usr/include/machine
.endif
	cd ${.CURDIR}/usr.bin/make; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/xinstall; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/yacc; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/lex; ${MAKE} bootstrap; \
		${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} -DNOLIB all; \
		${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR}
.if !defined(NOOBJDIR)
	cd ${.CURDIR}/usr.bin/lex; ${MAKE} ${OBJDIR}
.endif
	cd ${.CURDIR}/usr.sbin/mtree; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.if defined(DESTDIR)
	cd ${.CURDIR}/include && ${MAKE} copies
.endif

d80 3
a82 2
# include-tools - generally the same as 'bootstrap', except that it's for
# things that are specifically needed to generate include files.
d84 2
a85 12
# XXX should be merged with bootstrap, it's not worth keeeping them separate.
# Well, maybe it is now.  We force 'cleandepend' here to avoid dependencies
# on cleaned away headers in ${WORLDTMP}.
#
include-tools:
.for d in usr.bin/compile_et usr.bin/rpcgen
	cd ${.CURDIR}/$d; ${MAKE} cleandepend; \
		${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor

d87 1
a87 1
# includes - possibly generate and install the include files.
a88 63
includes:
.if defined(CLOBBER)
	rm -rf ${DESTDIR}/usr/include/*
	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
		-p ${DESTDIR}/usr/include
.endif
	cd ${.CURDIR}/include;			${MAKE} -B all install
	cd ${.CURDIR}/gnu/include;		${MAKE} install
	cd ${.CURDIR}/gnu/lib/libmp;		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libobjc;		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libreadline;	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libregex;		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libstdc++;	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libg++;		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libdialog;	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libgmp;		${MAKE} beforeinstall
.if exists(secure) && !defined(NOCRYPT)
	cd ${.CURDIR}/secure/lib/libdes;	${MAKE} beforeinstall
.endif
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib/libacl;	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkadm;	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkafs;	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkdb;	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkrb;	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libtelnet; ${MAKE} beforeinstall
.else
	cd ${.CURDIR}/lib/libtelnet;		${MAKE} beforeinstall
.endif
.if exists(${.CURDIR}/lib/csu/${MACHINE})
	cd ${.CURDIR}/lib/csu/${MACHINE};	${MAKE} beforeinstall
.endif
	cd ${.CURDIR}/lib/libalias;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libc;			${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcalendar;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcurses;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libdisk;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libedit;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libftpio;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libmd;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libmytinfo;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libncurses;		${MAKE} beforeinstall
.if !defined(WANT_CSRG_LIBM)
	cd ${.CURDIR}/lib/msun;			${MAKE} beforeinstall
.endif
	cd ${.CURDIR}/lib/libopie;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libpcap;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/librpcsvc;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libskey;		${MAKE} beforeinstall
.if !defined(NOTCL) && exists (${.CURDIR}/contrib/tcl) && \
	exists(${.CURDIR}/usr.bin/tclsh) && exists (${.CURDIR}/lib/libtcl)
	cd ${.CURDIR}/lib/libtcl;		${MAKE} installhdrs
.endif
	cd ${.CURDIR}/lib/libtermcap;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcom_err;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libss;		${MAKE} -B hdrs beforeinstall
	cd ${.CURDIR}/lib/libscsi;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libutil;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libvgl;		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libz;			${MAKE} beforeinstall
	cd ${.CURDIR}/usr.bin/f2c;		${MAKE} beforeinstall
	cd ${.CURDIR}/usr.bin/lex;		${MAKE} beforeinstall

d90 2
a91 1
# Declare tools if they are not required on all architectures.
d93 2
a94 10
.if ${MACHINE_ARCH} == "i386"
# aout tools:
_aout_ar	= usr.bin/ar
_aout_as	= gnu/usr.bin/as
_aout_ld	= gnu/usr.bin/ld
_aout_nm	= usr.bin/nm
_aout_ranlib	= usr.bin/ranlib
_aout_size	= usr.bin/size
_aout_strip	= usr.bin/strip
.endif
d97 1
a97 1
# lib-tools - build tools to compile and install the libraries.
d99 3
a101 25
# XXX gperf is required for cc
# XXX a new ld and tsort is required for cc
lib-tools:
.for d in				\
		gnu/usr.bin/gperf	\
		${_aout_ld}		\
		usr.bin/tsort		\
		${_aout_as}		\
		gnu/usr.bin/bison	\
		gnu/usr.bin/cc		\
		${_aout_ar}		\
		usr.bin/env		\
		usr.bin/lex/lib		\
		usr.bin/mk_cmds		\
		${_aout_nm}		\
		${_aout_ranlib}		\
		${_aout_strip}		\
		gnu/usr.bin/binutils	\
		usr.bin/uudecode	\
		usr.bin/objformat
	cd ${.CURDIR}/$d; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install; \
		${MAKE} ${MK_FLAGS:S/-DNOPIC//} -B ${CLEANDIR} ${OBJDIR}
.endfor
d104 2
a105 1
# We have to know too much about ordering and subdirs in the lib trees:
d107 3
a109 2
# To satisfy shared library linkage when only the libraries being built
# are visible:
d111 2
a112 27
# libcom_err must be built before libss.
# libcrypt and libmd must be built before libskey.
# libm must be built before libtcl.
# libmytinfo must be built before libdialog and libncurses.
# libncurses must be built before libdialog.
# libtermcap must be built before libcurses, libedit and libreadline.
#
# Some libraries are built conditionally and/or are in inconsistently
# named directories:
#
.if exists(lib/csu/${MACHINE}.pcc)
_csu=lib/csu/${MACHINE}.pcc
.else
_csu=lib/csu/${MACHINE}
.endif

.if !defined(NOSECURE) && !defined(NOCRYPT)
_libcrypt=	secure/lib/libcrypt lib/libcrypt
.else
_libcrypt=	lib/libcrypt
.endif

.if defined(WANT_CSRG_LIBM)
_libm=	lib/libm
.else
_libm=	lib/msun
.endif
d115 2
a116 2
# bootstrap-libraries - build just enough libraries for the bootstrap
# tools, and install them under ${WORLDTMP}.
d118 1
a118 23
# Build csu and libgcc early so that some tools get linked to the new
# versions (too late for the main tools, however).  Then build the
# necessary prerequisite libraries (libtermcap just needs to be before
# libcurses, and this only matters for the NOCLEAN case when NOPIC is
# not set).
#
# This is mostly wrong.  The build tools must run on the host system,
# so they should use host libraries.  We depend on the target being
# similar enough to the host for new target libraries to work on the
# host.
#
bootstrap-libraries:
.for _lib in ${_csu} gnu/usr.bin/cc/libgcc lib/libtermcap \
    gnu/lib/libregex gnu/lib/libreadline lib/libc \
    ${_libcrypt} lib/libcurses lib/libedit ${_libm} \
    lib/libmd lib/libutil lib/libz usr.bin/lex/lib
.if exists(${.CURDIR}/${_lib})
	cd ${.CURDIR}/${_lib}; \
		${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.endfor
d121 2
a122 1
# libraries - build all libraries, and install them under ${DESTDIR}.
d124 1
a124 19
# The ordering is not as special as for bootstrap-libraries.  Build
# the prerequisites first, then build almost everything else in
# alphabetical order.
#
libraries:
.for _lib in lib/libcom_err ${_libcrypt} ${_libm} lib/libmytinfo \
    lib/libncurses lib/libtermcap \
    gnu/lib gnu/usr.bin/cc/libgcc lib usr.bin/lex/lib usr.sbin/pcvt/keycap
.if exists(${.CURDIR}/${_lib})
	cd ${.CURDIR}/${_lib}; ${MAKE} all; ${MAKE} -B install
.endif
.endfor
.if exists(${.CURDIR}/secure/lib) && !defined(NOCRYPT) && !defined(NOSECURE)
	cd ${.CURDIR}/secure/lib; ${MAKE} all; ${MAKE} -B install
.endif
.if exists(${.CURDIR}/kerberosIV/lib) && !defined(NOCRYPT) && \
    defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib; ${MAKE} all; ${MAKE} -B install
.endif
d127 1
a127 21
# Exclude unused tools from build-tools.
#
.if !defined(NOGAMES) && exists(${.CURDIR}/games)
_adventure=	games/adventure
_caesar=	games/caesar
_hack=		games/hack
_phantasia=	games/phantasia
_strfile=	games/fortune/strfile
.endif
.if !defined(NOPERL)
_perl=		gnu/usr.bin/perl/perl
.endif
.if !defined(NOSHARE) && exists(${.CURDIR}/share)
_scrnmaps=	share/syscons/scrnmaps
.endif
.if !defined(NOLKM) && exists(${.CURDIR}/lkm)
_linux=		lkm/linux
.endif

BTMAKEFLAGS=	${MK_FLAGS} -D_BUILD_TOOLS

d129 3
a131 114
# build-tools - build and install any other tools needed to complete the
# compile and install.
# ifdef stale
# bc and cpp are required to build groff.  Otherwise, the order here is
# mostly historical, i.e., bogus.
# chmod is used to build gcc's tmpmultilib[2] at obscure times.
# endif stale
# XXX uname is a bug - the target should not depend on the host.
#
build-tools:
.for d in				\
		bin/cat 		\
		bin/chmod		\
		bin/cp 			\
		bin/date		\
		bin/dd			\
		bin/echo		\
		bin/expr		\
		bin/hostname		\
		bin/ln			\
		bin/ls			\
		bin/mkdir		\
		bin/mv			\
		bin/rm			\
		bin/test		\
		${_caesar}		\
		${_strfile}		\
		gnu/usr.bin/awk		\
		gnu/usr.bin/bc		\
		gnu/usr.bin/grep	\
		gnu/usr.bin/groff	\
		gnu/usr.bin/gzip	\
		gnu/usr.bin/man/makewhatis	\
		gnu/usr.bin/patch	\
		${_perl}		\
		gnu/usr.bin/sort	\
		gnu/usr.bin/texinfo	\
		usr.bin/basename	\
		usr.bin/cap_mkdb	\
		usr.bin/chflags		\
		usr.bin/cmp		\
		usr.bin/col		\
		usr.bin/colldef		\
		usr.bin/cpp		\
		usr.bin/expand		\
		usr.bin/file2c		\
		usr.bin/find		\
		usr.bin/gencat		\
		usr.bin/id		\
		usr.bin/join		\
		usr.bin/lorder		\
		usr.bin/m4		\
		usr.bin/mkdep		\
		usr.bin/mklocale	\
		usr.bin/paste		\
		usr.bin/sed		\
		${_aout_size}		\
		usr.bin/soelim		\
		usr.bin/symorder	\
		usr.bin/touch		\
		usr.bin/tr		\
		usr.bin/true		\
		usr.bin/uname		\
		usr.bin/uuencode	\
		usr.bin/vgrind		\
		usr.bin/vi		\
		usr.bin/wc		\
		usr.bin/xargs		\
		usr.bin/yacc		\
		usr.sbin/chown		\
		usr.sbin/mtree		\
		usr.sbin/zic		\
		bin/sh
	cd ${.CURDIR}/$d; ${MAKE} ${BTMAKEFLAGS} ${_DEPEND}; \
		${MAKE} ${BTMAKEFLAGS} all; \
		${MAKE} ${BTMAKEFLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor
.if !defined(NOGAMES) && exists(${.CURDIR}/games)
	cd ${DESTDIR}/usr/games; cp -p caesar strfile ${DESTDIR}/usr/bin
.endif
.for d in				\
		bin/sh			\
		${_adventure}		\
		${_hack}		\
		${_phantasia}		\
		gnu/usr.bin/cc/cc_tools	\
		lib/libmytinfo		\
		${_linux}		\
		${_scrnmaps}		\
		sys/i386/boot/netboot
	cd ${.CURDIR}/$d; ${MAKE} ${BTMAKEFLAGS} build-tools
.endfor
	cd ${.CURDIR}/usr.bin/tn3270/tools; ${MAKE} ${BTMAKEFLAGS} all

.for __target in clean cleandepend cleandir depend obj
.for entry in ${SUBDIR}
${entry}.${__target}__D: .PHONY
	@@if test -d ${.CURDIR}/${entry}.${MACHINE}; then \
		${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE}"; \
		edir=${entry}.${MACHINE}; \
		cd ${.CURDIR}/$${edir}; \
	else \
		${ECHODIR} "===> ${DIRPRFX}${entry}"; \
		edir=${entry}; \
		cd ${.CURDIR}/$${edir}; \
	fi; \
	${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/
.endfor
par-${__target}: ${SUBDIR:S/$/.${__target}__D/}
.endfor

.endif

.include <bsd.subdir.mk>
@


1.209
log
@Fully enable the optimization of not building dependencies unless NOCLEAN
is set.  It was disabled in the -j case.  See rev.1.173.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.208 1998/08/04 16:00:47 peter Exp $
a622 1
_objformat	= usr.bin/objformat
d647 1
a647 1
		${_objformat}
@


1.208
log
@Descend into etc always; src/etc/sendmail/Makefile has make.conf hooks
for building and installing a local sendmail.cf..

I'm a little nervous about the implications of having an obj dir built
under etc (to get to the obj dir for sendmail), but the make rules appear
to DTRT.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.207 1998/08/03 08:28:14 bde Exp $
d144 1
a144 1
.if !defined(NOCLEAN) && ${.MAKEFLAGS:M-j} == ""
@


1.207
log
@Fixed building -current under 2.2.6 using `make world'.  Moved some
recently added definitions from sys.mk to bsd.own.mk.  Include the
src-relative bsd.own.mk in src/Makefile to pick up all new definitions.
Don't check that MACHINE_ARCH is defined in src/Makefile, since it is
(and should have been) guaranteed to be defined.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.206 1998/08/02 09:24:59 wosch Exp $
d113 1
a113 1
.if exists(etc) && make(distribute)
@


1.206
log
@Malformed conditional if MACHINE_ARCH is not defined. From rev 1.195.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.205 1998/07/07 09:59:48 bde Exp $
d45 10
d379 1
a379 1
.if !defined(MACHINE_ARCH) || ${MACHINE_ARCH} == "i386"
d614 1
a614 1
.if !defined(MACHINE_ARCH) || ${MACHINE_ARCH} == "i386"
@


1.205
log
@Oops, don't build tools for building games, etc. when we're not building
games, etc.

Define _BUILD_TOOLS in sub-makes for building tools.  This will be used
to avoid using uninstalled tools in colldef and mklocale.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.204 1998/07/07 05:37:34 bde Exp $
d369 1
a369 1
.if ${MACHINE_ARCH} == "i386"
d604 1
a604 1
.if ${MACHINE_ARCH} == "i386"
@


1.204
log
@Build internal tools in build-tools so that they have some chance of
working when the target system is not binary compatible.  Use various
hacks to work around minor problems in the source and binary tree
layouts:
- caesar and strfile are built normally (the source layout is good),
  then installed by copying them to ${WORLDTMP}/usr/bin (they are
  installed in ${WORLDTMP}/usr/games, but I don't want to put that
  in $PATH).
- colldef and mklocale are built and installed normally.  Messy and
  incomplete relative path searches for them and caesar and strfile
  can now go away.
- internal tools that aren't installed are now built and left lying
  around for the `make all' pass to use.  If the target system is
  not binary compatible, it is critical that these tools don't get
  rebuilt.  Cleaning of the obj tree before building the internal
  tools should ensure this.
- most internal tools are built using internal build-tools targets,
  but tn3270 is simpler for a change - it has all the tools in a
  separate tree, so they can be built using `make all'.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.203 1998/06/17 09:34:42 bde Exp $
d730 18
a747 5
# Exclude perl from the build-tools if NOPERL is defined.
.if defined(NOPERL)
_perl=
.else
_perl=	gnu/usr.bin/perl/perl
d750 2
d778 2
a779 2
		games/caesar		\
		games/fortune/strfile	\
d826 3
a828 3
	cd ${.CURDIR}/$d; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
		${MAKE} ${MK_FLAGS} all; \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d830 1
d832 1
d835 3
a837 3
		games/adventure		\
		games/hack		\
		games/phantasia		\
d840 2
a841 2
		lkm/linux		\
		share/syscons/scrnmaps	\
d843 1
a843 1
	cd ${.CURDIR}/$d; ${MAKE} ${MK_FLAGS} build-tools
d845 1
a845 1
	cd ${.CURDIR}/usr.bin/tn3270/tools; ${MAKE} ${MK_FLAGS} all
@


1.203
log
@Added yacc to the bootstrap tools.  It is needed very early to
build at least compile_et and lex, and although almost any version
of yacc could work, the version in -stable doesn't actually work
with -current makefiles because it doesn't support -o.

Submitted by:	Ian Holland <ianh@@tortuga.com.au>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.202 1998/06/13 02:03:36 peter Exp $
d763 2
d780 1
d791 1
d815 14
@


1.202
log
@join(1) is used by lorder, add it to build-tools.  (otherwise, things get
ugly when an a.out /usr/bin/join sees the elf LD_LIBRARY_PATH from a
'make world' and it's a.out ld.so tries to load the elf libc.so.)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.201 1998/06/09 07:19:13 bde Exp $
d500 3
@


1.201
log
@Quick fixes for the mtree bootstrap:
- don't announce `mtree' as `mtools'.
- don't install to ${DESTDIR}/usr/sbin (which often doesn't exist if
  DESTDIR is set and may be read-only if DESTDIR is not set).
- install to (${WORLDTMP}/usr/sbin so that the new mtree is actually
  in $PATH if DESTDIR is set.
- don't use the host make or the host sys.mk.  This is probably
  unimportant.
- use a temporary obj dir like the one for `make'.  This was mainly
  necessary because I forgot to remove the MAKEOBJDIRPREFIX unsetting
  which was just a bug for mtree.  A non-quick fix would handle mtree
  more like a bootstrap tool (the only additional complications are to
  create ${BINDIR} and avoid excessive cleaning).  Except a non-quick
  fix would change much more.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.200 1998/06/07 10:50:28 sos Exp $
d781 1
@


1.200
log
@Compile mtree before it is used, this is a hack, but make world has
failed since new functionality was introduced in mtree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.199 1998/06/06 04:39:41 jkoshy Exp $
d260 1
a260 1
	@@echo " Making mtools"
d262 1
d266 3
a268 3
		${MAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all; \
		${MAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install; \
		${MAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} clean \
@


1.199
log
@-DALLLANG is now obsolete in "src/Makefile"; move to "src/release/Makefile".

PR: 6685
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.198 1998/06/06 01:13:21 bde Exp $
d257 11
@


1.198
log
@Don't run the target's ldconfig or build it as a tool.  If target == host
(in particular, if DESTDIR is empty or "/"), then the host's ldconfig will
be the target's ldconfig by the time it is run.

Fixed disordering of env.

Don't know too much about libcrypt.  Use exactly the same definition of
_libcrypt as lib/Makefile.

Don't build strip twice.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.197 1998/06/06 00:56:23 bde Exp $
a13 3
#	-DALLLANG to build documentation for all languages
#	  (where available -- see share/doc/Makefile)
#
@


1.197
log
@Fixed bogotification of the lex bootstrap in rev.1.186 and the previous
commit - don't wander off to bootstrap mtree and include in the middle
of bootstrapping lex, and don't forget what we were doing and build
some lex obj dirs twice.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.196 1998/06/05 16:50:45 jkh Exp $
d365 1
a365 1
	cd ${.CURDIR}; ldconfig -R
a600 1
_aout_ldconfig	= sbin/ldconfig
a608 1
# XXX ldconfig is required at the end of reinstall/installworld.
d618 1
a623 1
		usr.bin/env		\
a625 1
		${_aout_ldconfig}	\
d655 2
a656 4
# Build the "default" libcrypt first since it sets symlinks for static
# binaries such as /sbin/init.  lib/Makefile builds the other if needed.
.if exists(secure) && !defined(NOSECURE) && !defined(NOCRYPT)
_libcrypt=	secure/lib/libcrypt
a778 1
		${_aout_strip}		\
@


1.196
log
@Add mtree to bootstrap targets now that peter has added a new
keyword to it which will otherwise call the next target to fall over
on transitioning systems.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.195 1998/06/04 12:02:52 jb Exp $
d496 4
a499 1
		${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR} ${OBJDIR}
a504 3
.endif
.if !defined(NOOBJDIR)
	cd ${.CURDIR}/usr.bin/lex; ${MAKE} ${OBJDIR}
@


1.195
log
@Build aout bootstrap tools only on i386.

`make world' now works on alpha!
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.194 1998/06/04 06:25:22 charnier Exp $
d496 4
a499 1
		${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR}
@


1.194
log
@Typos.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.193 1998/06/02 18:28:55 jhay Exp $
d360 1
d366 1
d484 1
a484 1
	cd ${.CURDIR}/sys/i386/include; find -dx . -name '*.h' -o -type d | \
d587 16
d611 1
a611 1
		gnu/usr.bin/ld		\
d613 1
a613 1
		gnu/usr.bin/as		\
d616 1
a616 1
		usr.bin/ar		\
d619 3
a621 3
		usr.bin/nm		\
		usr.bin/ranlib		\
		usr.bin/strip		\
d625 2
a626 2
		sbin/ldconfig		\
		usr.bin/objformat
d779 1
a779 1
		usr.bin/size		\
d781 1
a781 1
		usr.bin/strip		\
@


1.193
log
@Don't build perl in build-tools: if NOPERL is defined.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.192 1998/06/02 11:22:08 peter Exp $
d204 2
a205 2
# XXX GCC_EXEC_PREFIX is for *crt.o.  It is probably unnecssary now
#	tbat LIBRARY_PATH is set.  We still can't use -nostdlib, since gcc
@


1.192
log
@Fix brain-fart. "usr.bin/reinstall" should be "sbin/ldconfig".
No comment. *-<:-)

Submitted by:	"Pierre Y. Dampure" <pierre.dampure@@k2c.co.uk>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.191 1998/06/01 18:29:11 peter Exp $
d702 7
d742 1
a742 1
		gnu/usr.bin/perl/perl	\
@


1.191
log
@ldconfig is used at the end of installworld.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.190 1998/05/30 07:32:28 jhay Exp $
a602 1
		usr.bin/reinstall	\
d607 1
@


1.190
log
@Add a test to see if the secure directory exists, before deciding which
crypt library should be used when building bootstrap-libraries. This
make it work on machines that don't have the secure directory.
Thanks to Paul Allenby <pallenby@@mikom.csir.co.za> for bringing it to
my attention.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.189 1998/05/29 05:15:47 jkh Exp $
d589 1
d603 1
@


1.189
log
@Whoops!  Committed the wrong version of that file - here's the one which
works.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.188 1998/05/29 05:14:08 jkh Exp $
d637 1
a637 1
.if !defined(NOSECURE) && !defined(NOCRYPT)
@


1.188
log
@Move sh after awk in build tools - sh requires awk to build.  Add id
to list of bootstrap tools.
Submitted by:	jhay
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.187 1998/05/28 13:20:35 peter Exp $
a735 1
		bin/sh
d768 2
a769 1
		usr.sbin/zic
@


1.187
log
@Only pre-build the "default" libcrypt, since it gets to set the symlinks
for the rest of the build.  I'm not certain, but I think this determines
which crypt() goes into /sbin/init.  This change shouldn't hurt anyway. :-)

Based on a suggestion by: bde
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.186 1998/05/28 12:31:42 peter Exp $
a724 1
		bin/sh			\
d736 1
d747 1
@


1.186
log
@Urgent fix for bootstrap target.  If the old symlinks are pointing to the
real source tree, the bootstrap target would attempt have cpio copy the
files over themselves, unlinking them first.  I think this only happened
with make -DNOCLEAN world at the transition between a symlinked
objdir/tmp/usr/include/{sys,net,..} and real files.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.185 1998/05/27 18:50:01 peter Exp $
d635 5
a640 2
.if !defined(NOSECURE) && !defined(NOCRYPT)
_libcrypt+=	secure/lib/libcrypt
d667 1
a667 1
    lib/libcrypt lib/libcurses lib/libedit ${_libm} \
@


1.185
log
@Replace the partial symlink tree to src/sys/* in $OBJDIR/tmp/usr/include
with real copies.  I'm sick of !@@#&!^!@@#*& mtree chowning directories in
my src/sys/* tree after it follows the symlinks.  I still believe that
mtree is broken for doing this (introduced in mtree.c rev 1.5).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.184 1998/05/27 16:33:43 peter Exp $
d473 5
a480 3
	if [ -h ${DESTDIR}/usr/include/machine ]; then \
		rm -f ${DESTDIR}/usr/include/machine; \
	fi
@


1.184
log
@On the other hand, when /usr/bin/as is really a link to objformat, it's not
helpful to stop it running /usr/libexec/aout/as for real while bootstrapping.
Only force a strict path when we really have built all the tools in
$OBJDIR/tmp/usr/libexec/*.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.183 1998/05/27 15:40:35 peter Exp $
d297 1
a297 1
	cd ${.CURDIR}; SHARED=symlinks ${BMAKE} includes
d473 9
a481 1
	cd ${.CURDIR}/include; ${MAKE} symlinks
d493 3
@


1.183
log
@Move objformat after binutils, otherwise we get chicken/egg problems when
building ELF.  It may be that binutils and objformat need to both be moved
earlier in the list though, but that can wait till the dust settles.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.182 1998/05/27 07:59:31 sos Exp $
a210 1
		OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
d216 2
a217 1
BMAKEENV=	PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t
d219 1
@


1.182
log
@Compile & use objformat as it was intended to, I have no idea why
that failed for me before :(
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.181 1998/05/26 20:12:43 sos Exp $
a588 1
		usr.bin/objformat	\
d591 2
a592 1
		usr.bin/uudecode
@


1.181
log
@ELF preparation step 2:

Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.180 1998/05/25 17:34:34 sos Exp $
d211 1
@


1.180
log
@ELF preparation step 1:

Move our old a.out utils to /usr/libexec/aout.
Enable binutils and put the utils in /usr/libexec/elf
Enable objformat, a little helper program that calls the right
utils based on /etc/objformat and $OBJFORMAT.

This will enable the ELF generating tools.
Remember that this is only step one, the system is still compiled
and run in a.out format ONLY.

Problem left to solve: The BSD manpages wins over the GNU equivalents
as the are installed last. We need to distinguish between the manpages
somehow...
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.179 1998/05/18 03:28:02 jb Exp $
d648 2
a649 1
    gnu/lib/libregex lib/libc lib/libcurses lib/libedit ${_libm} \
@


1.179
log
@Make perl a build tool since it is required during a make depend.
This should fix the problem people have been having with perl/usub.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.178 1998/05/16 22:20:44 jb Exp $
d587 4
@


1.178
log
@Now that FreeBSD/Alpha can be installed on a disk and run on its own,
a bootstrap build under NetBSD is an option.

This makefile will require further changes to ignore aout tools.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.177 1998/05/15 17:12:00 bde Exp $
d711 1
@


1.177
log
@Don't use `&&' in any shell commands here.  Using it to give conditional
execution is usually unnecessary in BSD Makefiles because BSD make
invokes shells with -e.  Using it to give conditional execution is
often wrong in BSD makefiles because BSD make joins shell commands
when invoked in certain ways (in particular, as `make -jN').  Example
makefile:
---
clean:
	cd /
	false && true
	rm -rf *		# a dangerous command
---
This should terminate after the `false && true' command fails, but
it doesn't when the commands are joined (`false && true' is a non-
simple command, so -e doesn't cause termination).  The b-maked version:
---
clean:
	cd /
	false; true
	rm -rf *		# a dangerous command
---
terminates after the `false' command fails (`false' is a simple
command, so -e causes termination).  However, for versions of
make like gnu make that don't invoke shells with -e, this change
completely breaks the makefile.

This is one of the fixes for the bug suite that caused `make world'
to sometimes put raw cpp output in .depend files.  Building of cc
sometimes failed, but the failure did not terminate the build
immediately, and various wrong versions of the cc components were
used until one was wrong enough to cause a fatal error.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.176 1998/05/10 16:51:07 bde Exp $
d7 1
a7 1
.if exists(${.CURDIR}/Makefile.${MACHINE})
@


1.176
log
@Removed share/info from build-tools.  It should never have been there,
and became redundant when it was put in SUBDIR, and became bogus when
WORLDTMP was introduced, and became broken when INFODIR was introduced.

PR:		6138
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.175 1998/05/08 21:29:35 jb Exp $
d179 1
a179 1
	cd ${.CURDIR} && ${MAKE} pre-world
d181 2
a182 2
	cd ${.CURDIR} && ${MAKE} buildworld
	cd ${.CURDIR} && ${MAKE} -B installworld
d188 1
a188 1
	cd ${.CURDIR} && ${MAKE} post-world
d253 4
a256 4
	cd ${.CURDIR}/usr.bin/make && \
		MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install && \
d264 1
a264 1
	cd ${.CURDIR} && ${BMAKE} hierarchy
d270 1
a270 1
	cd ${.CURDIR} && ${BMAKE} ${CLEANDIR:S/^/par-/}
d277 1
a277 1
	cd ${.CURDIR} && ${BMAKE} par-${OBJDIR}
d284 1
a284 1
	cd ${.CURDIR} && ${BMAKE} bootstrap
d289 1
a289 1
	cd ${.CURDIR} && ${BMAKE} include-tools
d295 1
a295 1
	cd ${.CURDIR} && SHARED=symlinks ${BMAKE} includes
d300 1
a300 1
	cd ${.CURDIR} && ${BMAKE} bootstrap-libraries
d306 1
a306 1
	cd ${.CURDIR} && ${BMAKE} lib-tools
d313 1
a313 1
	cd ${.CURDIR} && ${BMAKE} build-tools
d320 1
a320 1
	cd ${.CURDIR} && ${XMAKE} par-depend
d326 1
a326 1
	cd ${.CURDIR} && ${XMAKE} -DNOINFO -DNOMAN libraries
d331 1
a331 1
	cd ${.CURDIR} && ${XMAKE} all
d339 1
a339 1
	cd ${.CURDIR} && ${IXMAKE} reinstall
d352 1
a352 1
	cd ${.CURDIR} && ${MAKE} hierarchy
d357 1
a357 1
	cd ${.CURDIR} && ${MAKE} install
d362 1
a362 1
	cd ${.CURDIR} && ldconfig -R
d367 1
a367 1
	cd ${.CURDIR}/share/man && ${MAKE} makedb
d392 1
a392 1
	cd ${.CURDIR} && cvs -q update -P -d
d404 8
a411 8
	cd ${.CURDIR}/bin	&&	${MAKE} all
	cd ${.CURDIR}/sbin	&&	${MAKE} all
	cd ${.CURDIR}/libexec	&&	${MAKE} all
	cd ${.CURDIR}/usr.bin	&&	${MAKE} all
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} all
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} all
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} all
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} all
d413 1
a413 1
#	cd ${.CURDIR}/kerberosIV	&&	${MAKE} most
d416 1
a416 1
#	cd ${.CURDIR}/secure	&&	${MAKE} most
d429 8
a436 8
	cd ${.CURDIR}/bin	&&	${MAKE} install
	cd ${.CURDIR}/sbin	&&	${MAKE} install
	cd ${.CURDIR}/libexec	&&	${MAKE} install
	cd ${.CURDIR}/usr.bin	&&	${MAKE} install
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} install
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} install
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} install
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} install
d438 1
a438 1
#	cd ${.CURDIR}/kerberosIV &&	${MAKE} installmost
d441 1
a441 1
#	cd ${.CURDIR}/secure	&&	${MAKE} installmost
d459 1
a459 1
	cd ${.CURDIR}/etc &&		${MAKE} distrib-dirs
d470 2
a471 2
	cd ${.CURDIR}/include && find -dx . | cpio -dump ${DESTDIR}/usr/include
	cd ${.CURDIR}/include && ${MAKE} symlinks
d473 2
a474 2
	cd ${.CURDIR}/usr.bin/make && ${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
d476 2
a477 2
	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
d479 3
a481 3
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && \
		${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} -DNOLIB all && \
d484 1
a484 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} ${OBJDIR}
d497 3
a499 3
	cd ${.CURDIR}/$d && ${MAKE} cleandepend && \
		${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
d512 10
a521 10
	cd ${.CURDIR}/include &&		${MAKE} -B all install
	cd ${.CURDIR}/gnu/include &&		${MAKE} install
	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libobjc &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libreadline &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libregex &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libstdc++ &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libg++ &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libdialog &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libgmp &&		${MAKE} beforeinstall
d523 1
a523 1
	cd ${.CURDIR}/secure/lib/libdes &&	${MAKE} beforeinstall
d526 6
a531 6
	cd ${.CURDIR}/kerberosIV/lib/libacl &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkadm &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkafs &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkdb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkrb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libtelnet && ${MAKE} beforeinstall
d533 1
a533 1
	cd ${.CURDIR}/lib/libtelnet &&		${MAKE} beforeinstall
d536 1
a536 1
	cd ${.CURDIR}/lib/csu/${MACHINE} &&	${MAKE} beforeinstall
d538 10
a547 10
	cd ${.CURDIR}/lib/libalias &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libc &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcalendar &&	${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcurses &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libdisk &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libedit &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libftpio &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libmd &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libmytinfo &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libncurses &&		${MAKE} beforeinstall
d549 1
a549 1
	cd ${.CURDIR}/lib/msun &&		${MAKE} beforeinstall
d551 4
a554 4
	cd ${.CURDIR}/lib/libopie &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libpcap &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/librpcsvc &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libskey &&		${MAKE} beforeinstall
d557 1
a557 1
	cd ${.CURDIR}/lib/libtcl &&		${MAKE} installhdrs
d559 9
a567 9
	cd ${.CURDIR}/lib/libtermcap &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libcom_err &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libss &&		${MAKE} -B hdrs beforeinstall
	cd ${.CURDIR}/lib/libscsi &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libutil &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libvgl &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libz &&		${MAKE} beforeinstall
	cd ${.CURDIR}/usr.bin/f2c &&		${MAKE} beforeinstall
	cd ${.CURDIR}/usr.bin/lex &&		${MAKE} beforeinstall
d588 3
a590 3
	cd ${.CURDIR}/$d && ${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install && \
d647 3
a649 3
	cd ${.CURDIR}/${_lib} && \
		${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
d666 1
a666 1
	cd ${.CURDIR}/${_lib} && ${MAKE} all && ${MAKE} -B install
d670 1
a670 1
	cd ${.CURDIR}/secure/lib && ${MAKE} all && ${MAKE} -B install
d674 1
a674 1
	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} all && ${MAKE} -B install
d745 2
a746 2
	cd ${.CURDIR}/$d && ${MAKE} ${MK_FLAGS} ${_DEPEND} && \
		${MAKE} ${MK_FLAGS} all && \
@


1.175
log
@Fix the problem people are having building -current on a -stable system.
The headers that are installed in WORLDTMP are part of the interface
that includes libraries like libc, so they must be installed together.
This means that lib-tools and build-tools should be merged. The FreeBSD
build only works in hosted form where it is assumed that the installed
version contains adequate tools to build the latest release.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.174 1998/05/02 12:29:48 bde Exp $
a712 1
		share/info		\
@


1.174
log
@Added patch to build-tools (now needed to make gdb, sigh).

Pointed out by:	andreas
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.173 1998/04/27 16:21:33 bde Exp $
d296 5
d304 1
a304 1
	@@echo " Rebuilding tools needed to build the bootstrap libraries"
a307 5
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding bootstrap libraries"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${BMAKE} bootstrap-libraries
@


1.173
log
@Don't build dependencies unless NOCLEAN is set.  This speeds up
`make world' by about 14% here (down to 4490 seconds real on a
K6/233).  Temporarily skip this optimization when building with
-j, since there are still many broken makefiles.

Fixed NOCLEANDIR option.  Cleaning of `.depend' was broken.

Put -nostdinc in CFLAGS, not in CC, and don't override the default
CC.  This fixes enforcing use of ${WORLDTMP}/usr/include.

Don't install library man pages in ${WORLDTMP}.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.172 1998/04/26 08:40:25 jkh Exp $
d710 1
@


1.172
log
@Use more reasonable defaults for SUP variables (and print them
correctly) now that sup is long since dead and buried.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.171 1998/04/25 14:32:22 andreas Exp $
d131 1
a131 1
CLEANDIR=	clean
d137 9
d218 1
a218 1
		CC='cc -nostdinc'	# XXX -nostdlib
d270 1
a270 1
	cd ${.CURDIR} && ${BMAKE} par-${CLEANDIR}
d315 1
d321 1
d326 1
a326 1
	cd ${.CURDIR} && ${XMAKE} libraries
d473 1
a473 1
	cd ${.CURDIR}/usr.bin/make && ${MAKE} ${MK_FLAGS} depend && \
d476 1
a476 1
	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} ${MK_FLAGS} depend && \
d480 1
a480 1
		${MAKE} ${MK_FLAGS} depend && \
d498 1
a498 1
		${MAKE} ${MK_FLAGS} depend && \
d588 1
a588 1
	cd ${.CURDIR}/$d && ${MAKE} ${MK_FLAGS} depend && \
d648 1
a648 1
		${MAKE} ${MK_FLAGS} depend && \
d745 1
a745 1
	cd ${.CURDIR}/$d && ${MAKE} ${MK_FLAGS} depend && \
d750 1
a750 1
.for __target in clean cleandir obj depend
@


1.171
log
@make includes has to execute "make beforeinstall" in src/lib/libcalendar
as well, otherwise "make depend" during "make buildworld" fails in
usr.bin/ncal
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.170 1998/04/24 17:13:33 bde Exp $
d137 2
a138 2
SUP?=		sup
SUPFLAGS?=	-v
d367 1
a367 1
	@@echo "Running sup"
@


1.170
log
@Don't build shared libraries twice for `make world'.  This reduces
`make world' times by about 10%.  Use a new `bootstrap-libraries'
target to build just enough (static) libraries to bootstrap the
tools, and delay building of shared libraries until all the tools
have been built.

Fixed `/usr/bin/make world'.  The version of `make' that we buildis
nand use is named "make", not ${MAKE}.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.169 1998/04/19 13:44:52 dt Exp $
d529 1
@


1.169
log
@Cosmetic: put '@@' in front of a very long command.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.168 1998/03/26 17:32:24 markm Exp $
d76 2
a77 1
.if exists(kerberosIV) && exists(crypto) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
d148 1
a148 1
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPROFILE
d150 1
a150 1
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPROFILE -DNOSHARED
d215 1
a215 1
BMAKE=	${BMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
d217 1
a217 1
XMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
d219 1
a219 1
IXMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE}
d290 1
a290 1
	@@echo " Rebuilding tools needed to build the libraries"
d296 1
a296 1
	@@echo " Rebuilding ${DESTDIR}/usr/lib"
d298 1
a298 1
	cd ${.CURDIR} && ${BMAKE} libraries
d313 5
d583 4
a586 1
# libraries - build and install the libraries
d588 15
d604 3
a606 5
# We have to know too much about botches in the lib tree:
.if exists(csu/${MACHINE}.pcc)
_csu=csu/${MACHINE}.pcc
.else
_csu=csu/${MACHINE}
d610 1
a610 1
_libm=	libm
d612 1
a612 1
_libm=	msun
a614 1
libraries:
d616 2
a617 2
# Build csu early so that some tools get linked to the new version (too
# late for the main tools, however).
d619 5
a623 2
# To satisfy shared library or ELF linkage when only the libraries being
# built are visible:
d625 4
a628 6
# libcom_err must be built before libss.
# libcrypt and libmd must be built before libskey.
# libm must be built before libtcl.
# libmytinfo must be built before libdialog and libncurses.
# libncurses must be built before libdialog.
# libtermcap must be built before libcurses, libedit and libreadline.
d630 4
a633 10
.for _lib in ${_csu} libcom_err libcrypt ${_libm} libmytinfo \
	     libncurses libtermcap
.if exists(${.CURDIR}/lib/${_lib})
	cd ${.CURDIR}/lib/${_lib} && \
		${MAKE} ${MK_FLAGS:S/-DNOPIC//} depend && \
		${MAKE} ${MK_FLAGS:S/-DNOPIC//} all && \
		${MAKE} ${MK_FLAGS:S/-DNOPIC//} -B install
.endif
.endfor
.for _lib in gnu/lib lib usr.bin/lex/lib usr.sbin/pcvt/keycap
d641 16
d658 1
a658 3
	cd ${.CURDIR}/secure/lib && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d662 1
a662 3
	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
@


1.168
log
@Make the decision to compile kerberosIV a bit more secure by looking
for the appropriate directory.
@
text
@d2 1
a2 1
#	$Id$
d713 1
a713 1
	if test -d ${.CURDIR}/${entry}.${MACHINE}; then \
@


1.167
log
@Build the initial `make' in the temporary build tree so that its forced
cleaning doesn't affect the normal copy.  Save a little time by not doing
unnecessary clean, depend nd cleandepend steps.

Reviewed by:	mckay@@freebsd.org

Added xargs to build-tools.  It may be used for kdump and truss.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.166 1998/03/16 11:58:46 bde Exp $
d76 1
a76 1
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
@


1.166
log
@Restored an (apparently unnecessary) -B for installing lib-tools.
The install target is -j-unsafe in general, so we use -B for
installing everything in `make world'.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.165 1998/03/15 04:52:58 bde Exp $
d211 2
a212 1
IBMAKE=	${BMAKEENV} ${MAKE} DESTDIR=${WORLDTMP}
d241 2
a242 2
	mkdir -p ${WORLDTMP}/usr/bin
.if !defined(NOCLEAN) || !defined(NOOBJDIR)
d244 1
a244 4
		${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
.endif
	cd ${.CURDIR}/usr.bin/make && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} depend && \
d247 2
a248 1
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} clean cleandepend
d700 1
@


1.165
log
@Don't force NOPIC for building tools at all for now, so that some
(slightly stale) shared libraries get installed before non-tools
are linked.  The 2-stage build of the libraries has never really
worked, since we link to the libraries built in the first stage.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.164 1998/03/14 13:58:21 bde Exp $
d573 1
a573 1
		${MAKE} ${MK_FLAGS} install && \
@


1.164
log
@Don't force NOPIC or NOSHARED for building tools in the NOCLEAN case,
so that dirtier-than-previously tools aren't left lying around to be
installed.

Filter out NOPIC from ${MK_FLAGS} for `make ${OBJDIR}' for ld (and
some other things), so that the obj dir for ld/rtld always gets
re-made.

Fixed a literal "make".
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.163 1998/03/13 09:41:58 bde Exp $
d144 1
d147 1
a147 1
MK_FLAGS=	-DNOINFO -DNOMAN         -DNOPROFILE
d149 1
a149 1
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED
@


1.163
log
@Build all tools shared, and don't build any shared libraries for tools.

Build libraries (for linking the tools to) in a more correct order
(for linking freshly created shared libraries to each other).  This
is probably a no-op now that shared libraries for tools aren't
built, but I didn't test any intermediate versions.  Security-related
directories that are not built by default may now be misordered
for the shared case.

Don't build libcompat specially.  It isn't used for tools, and
shouldn't be used in /usr/src (it is only used for IPXrouted and
crufty games).

Added missing ${.CURDIR} to existence tests for library directories.
Existence tests for top-level directories are still broken.

Test for library directories actually being built, not for directories
above them.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.162 1998/03/12 13:19:59 bde Exp $
d141 3
a143 1
# shared or profiled libraries, shared linkage, or documentation.
d145 3
d149 1
d454 1
a454 1
	cd ${.CURDIR}/include && make symlinks
d572 2
a573 1
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
@


1.162
log
@compile_et is now used early to build includes for libss, so build it
earlier.  This is probably unnecessary.

Added now-necessary -B for installing headers for libss.

Removed now-unnecessary -B for building cleandepend for rpcgen.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.161 1998/03/12 10:55:02 bde Exp $
d140 2
a141 2
# While building tools for bootstrapping, we dont need to waste time on
# profiled libraries or man pages.  This speeds things up somewhat.
d143 1
a143 1
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPROFILE
d572 6
a577 5
libraries:
.if exists(lib/csu/${MACHINE})
	cd ${.CURDIR}/lib/csu/${MACHINE} && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d579 5
a583 4
.if exists(lib/libcompat)
	cd ${.CURDIR}/lib/libcompat && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d585 23
a607 4
.if exists(lib/libncurses)
	cd ${.CURDIR}/lib/libncurses && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d609 5
a613 2
.if exists(lib/libtermcap)
	cd ${.CURDIR}/lib/libtermcap && ${MAKE} ${MK_FLAGS} depend && \
d617 2
a618 6
.if exists(gnu)
	cd ${.CURDIR}/gnu/lib && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
d623 2
a624 11
.if exists(lib)
	cd ${.CURDIR}/lib && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(usr.bin/lex/lib)
	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} ${MK_FLAGS} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
a625 5
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(usr.sbin/pcvt/keycap)
	cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} ${MK_FLAGS} depend && \
@


1.161
log
@Fixed missing SHLIBDIR in GCC_EXEC_PREFIX.

Add the path to the source .mk files to the beginning of .MAKEFLAGS
instead of to the end, so that there is more chance of it having
priority.  Additions in /etc/make.conf still have priority for
sub-makes if they are also at the beginning, although this is
probably not wanted for building /usr/src.

Use ${MK_FLAGS} for building dependencies for tools.  This saves
time building dependencies for tools that won't be created (mainly
profiled libraries) and will be necessary to give correct dependencies
when tools are built static.

Spell the object directory as ${OBJDIR} consistently (even when we know
that ${OBJDIR} == "obj").

Print ${DESTDIR} in messages where appropriate.

Fixed some misformattings.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.160 1998/03/12 10:08:50 bde Exp $
d473 2
a474 1
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend && \
d478 1
d537 1
a537 1
	cd ${.CURDIR}/lib/libss &&		${MAKE} hdrs beforeinstall
a558 1
		usr.bin/compile_et	\
@


1.160
log
@Separated header creation from header installation in libss.  Create
the libss headers before installing them in `make world'.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.159 1998/02/19 07:34:46 jb Exp $
d19 1
a19 1
#       -DNOTOOLS do not rebuild any tools first
d45 1
a45 1
.MAKEFLAGS:=	${.MAKEFLAGS} -m ${.CURDIR}/share/mk
d195 1
a195 1
		GCC_EXEC_PREFIX=${WORLDTMP}/usr/lib/ \
d239 1
a239 1
		${IBMAKE} -I${.CURDIR}/share/mk depend && \
d261 1
a261 1
	cd ${.CURDIR} && ${BMAKE} par-obj
d277 1
a277 1
	@@echo " Rebuilding /usr/include"
d289 1
a289 1
	@@echo " Rebuilding /usr/lib"
d450 1
a450 1
	cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \
d453 1
a453 1
	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} depend && \
d456 2
a457 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
d461 1
a461 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} obj
d473 2
a474 1
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend depend && \
d563 1
a563 1
	cd ${.CURDIR}/$d && ${MAKE} depend && \
d573 1
a573 1
	cd ${.CURDIR}/lib/csu/${MACHINE} && ${MAKE} depend && \
d578 1
a578 1
	cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
d583 1
a583 1
	cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
d588 1
a588 1
	cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
d593 1
a593 1
	cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \
d598 1
a598 1
	cd ${.CURDIR}/secure/lib && ${MAKE} depend && \
d603 1
a603 1
	cd ${.CURDIR}/lib && ${MAKE} depend && \
d608 1
a608 1
	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
d613 1
a613 1
	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \
d618 1
a618 1
	cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
d657 1
a657 1
		gnu/usr.bin/texinfo     \
d690 1
a690 1
	cd ${.CURDIR}/$d && ${MAKE} depend && \
@


1.159
log
@Change the bootstrap makefile inclusion to be general based on the
MACHINE. This lets me play with porting to m68k too. 8-) That is a
good test for portability because MACHINE != MACHINE_ARCH and m68k is
big endian.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.158 1998/02/19 00:24:43 nate Exp $
d533 1
a533 1
	cd ${.CURDIR}/lib/libss &&		${MAKE} beforeinstall
@


1.158
log
@MF22:
- After the install has been done, but before makedb is run, run
  'ldconfig -R' to pick up new shlib dependencies.

Suggested by:   Amancio and a whole lot of other folks
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.157 1998/02/06 09:52:24 adam Exp $
d4 1
a4 1
# While porting to the Alpha architecture include the bootstrap instead
d7 2
a8 2
.if ${MACHINE} == "alpha"
.include "Makefile.alpha"
@


1.157
log
@-DNOTOOLS to not rebuild any tools during buildworld
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.156 1998/01/11 04:51:02 jb Exp $
d335 5
@


1.156
log
@Test for ${MACHINE} == "alpha" and include the bootstrap makefile instead
of doing the normal build. When the alpha bootstrap is complete (there
is more work to do!), the alpha will build like the i386 does now.
I changed i386 references to ${MACHINE} now that we're multi-architecture.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.155 1997/10/10 13:02:36 asami Exp $
d19 1
d228 1
d243 1
d263 1
d274 1
d280 1
d286 1
d292 1
d298 1
@


1.155
log
@Do not use -B in initial build of "make".  It doesn't exist in 2.1.x.
Instead, list the targets one per command line.

Reviewed by:	bde
Submitted by:	bde (part)
@
text
@d2 8
a9 1
#	$Id: Makefile,v 1.154 1997/10/07 11:32:05 bde Exp $
d494 3
a496 1
	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE} beforeinstall
d556 2
a557 2
.if exists(lib/csu/i386)
	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
d695 2
@


1.154
log
@Removed uneeded ${.MAKEFLAGS} again.
Originally committed in: rev.1.141
Spammed by:	rev.1.149 (mouldy parallel make diffs)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.153 1997/10/06 10:21:36 jkh Exp $
d225 1
d227 4
a230 1
		${IBMAKE} -I${.CURDIR}/share/mk -B ${CLEANDIR} ${OBJDIR} depend && \
d232 2
a233 2
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} \
			-B install clean cleandepend
@


1.153
log
@Having to review all changes to this file _very_ carefully
led me to find 2 more errors which were there before. :)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.152 1997/10/06 09:58:11 jkh Exp $
d283 1
a283 1
	cd ${.CURDIR} && ${XMAKE} ${.MAKEFLAGS} par-depend
d356 8
a363 8
	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} all
d365 1
a365 1
#	cd ${.CURDIR}/kerberosIV	&&	${MAKE} ${.MAKEFLAGS} most
d368 1
a368 1
#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} most
d381 8
a388 8
	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} install
d390 1
a390 1
#	cd ${.CURDIR}/kerberosIV &&	${MAKE} ${.MAKEFLAGS} installmost
d393 1
a393 1
#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} installmost
@


1.152
log
@Hooboy!

Did I ever spam this file good with that last commit.  Despite 3
reviewers, we still managed to revoke the eBones fixes, TCL 8.0 support,
libvgl and a host of other new things from this file in the process of
parallelizing the Makefile.  DOH!   I think we need more pointy hats - this
particular incident is worthy of a small children's birthday party's worth of
pointy hats. ;-)

I certainly intend to take more care with the processing of aged diffs
in the future, even if it does mean reading through 20K's worth of them.
I might also be a bit more anal about asking for more up-to-date changes
before looking at them. ;)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.151 1997/10/05 22:28:50 fsmp Exp $
d432 1
a432 1
		${MAKE} ${MK_FLAGS} -DNOLIB && \
d583 1
a583 1
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
@


1.151
log
@Removed redundant 'all' arg to " Making Make" target.
Removed "-r RELENG_2_2" from 'update' target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.150 1997/10/05 15:39:47 markm Exp $
d6 1
a6 1
#	-DMAKE_EBONES to build eBones (KerberosIV)
d20 1
d43 8
a50 1
# We must do include and lib first so that the perl *.ph generation
d68 2
a69 2
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
SUBDIR+= eBones
d364 2
a365 2
#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} most
d389 2
a390 2
#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} installmost
d462 2
d469 13
a481 4
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
	cd ${.CURDIR}/eBones/include &&		${MAKE} beforeinstall
	cd ${.CURDIR}/eBones/lib/libkrb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/eBones/lib/libkadm &&	${MAKE} beforeinstall
d487 1
d496 1
d500 4
d509 1
d511 2
@


1.150
log
@How the heck did this get back??
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.149 1997/10/05 09:34:41 jkh Exp $
d221 1
a221 1
			-B all install clean cleandepend
d336 1
a336 1
	cd ${.CURDIR} && cvs -q update -P -d -r RELENG_2_2
@


1.149
log
@Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by:	<many different folks>
Submitted by:	Nickolay N. Dudorov" <nnd@@nnd.itfs.nsk.su>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.19 1997/09/28 16:33:05 mckay Exp $
d555 2
a556 2
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
	cd ${.CURDIR}/eBones/lib && ${MAKE} depend && \
@


1.148
log
@When bootstrapping lex, the object directory for lex/lib would be deleted
without being recreated.  A read-only source compile would then fail shortly
afterwards trying to write .depend into the source tree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.147 1997/09/28 09:26:05 markm Exp $
d6 1
a6 1
#	-DMAKE_KERBEROS4 to build KerberosIV
a19 1
#	-DNOLIBC_R do not build libc_r.
d42 1
a42 8
# We must do share/info early so that installation of info `dir'
# entries works correctly.  Do it first since it is less likely to
# grow dependencies on include and lib than vice versa.
.if exists(share/info)
SUBDIR+= share/info
.endif

# We must do include and lib early so that the perl *.ph generation
d60 2
a61 2
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
SUBDIR+= kerberosIV
d149 1
a149 1
	cd ${.CURDIR} && ${MAKE} installworld
d218 2
a219 2
		${IBMAKE} -I${.CURDIR}/share/mk \
			${CLEANDIR} ${OBJDIR} depend && \
d221 1
a221 1
			all install clean cleandepend
d232 1
a232 1
	cd ${.CURDIR} && ${BMAKE} ${CLEANDIR}
d239 1
a239 1
	cd ${.CURDIR} && ${BMAKE} obj
d275 1
a275 1
	cd ${.CURDIR} && ${XMAKE} depend
d336 1
a336 1
	cd ${.CURDIR} && cvs -q update -P -d
d348 10
a357 10
	cd ${.CURDIR}/bin	&&	${MAKE} all
	cd ${.CURDIR}/sbin	&&	${MAKE} all
	cd ${.CURDIR}/libexec	&&	${MAKE} all
	cd ${.CURDIR}/usr.bin	&&	${MAKE} all
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} all
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} all
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} all
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} all
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberosIV	&&	${MAKE} most
d360 1
a360 1
#	cd ${.CURDIR}/secure	&&	${MAKE} most
d373 10
a382 10
	cd ${.CURDIR}/bin	&&	${MAKE} install
	cd ${.CURDIR}/sbin	&&	${MAKE} install
	cd ${.CURDIR}/libexec	&&	${MAKE} install
	cd ${.CURDIR}/usr.bin	&&	${MAKE} install
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} install
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} install
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} install
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} install
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberosIV &&	${MAKE} installmost
d385 1
a385 1
#	cd ${.CURDIR}/secure	&&	${MAKE} installmost
d418 2
a419 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d421 2
a422 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d424 2
a425 1
		${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR}
d439 3
a441 2
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} cleandepend depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d452 1
a452 1
	cd ${.CURDIR}/include &&		${MAKE} all install
a453 2
	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libobjc &&	${MAKE} beforeinstall
d459 4
a462 13
	cd ${.CURDIR}/gnu/lib/libgmp &&		${MAKE} beforeinstall
.if exists(secure) && !defined(NOCRYPT)
	cd ${.CURDIR}/secure/lib/libdes &&	${MAKE} beforeinstall
.endif
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib/libacl &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkadm &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkafs &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkdb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkrb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libtelnet && ${MAKE} beforeinstall
.else
	cd ${.CURDIR}/lib/libtelnet &&		${MAKE} beforeinstall
a467 1
	cd ${.CURDIR}/lib/libdisk &&		${MAKE} beforeinstall
a475 1
	cd ${.CURDIR}/lib/libopie &&		${MAKE} beforeinstall
a478 4
.if !defined(NOTCL) && exists (${.CURDIR}/contrib/tcl) && \
	exists(${.CURDIR}/usr.bin/tclsh) && exists (${.CURDIR}/lib/libtcl)
	cd ${.CURDIR}/lib/libtcl &&		${MAKE} installhdrs
.endif
a483 1
	cd ${.CURDIR}/lib/libvgl &&		${MAKE} beforeinstall
a484 2
	cd ${.CURDIR}/usr.bin/f2c &&		${MAKE} beforeinstall
	cd ${.CURDIR}/usr.bin/lex &&		${MAKE} beforeinstall
d507 2
a508 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d517 2
a518 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d522 2
a523 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d527 2
a528 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d532 2
a533 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d537 2
a538 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d542 2
a543 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d547 2
a548 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d552 2
a553 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d555 4
a558 3
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d562 2
a563 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d634 19
a652 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
@


1.147
log
@Change for KTH KerberosIV.
-DMAKE_EBONES is changed to -DMAKE_KERBEROS4
@
text
@d2 1
a2 1
#	$Id$
d430 4
a433 1
		${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR} ${OBJDIR}
@


1.146
log
@When making make, do cleandir *before* objdir or we'll end
up with a blown objdir for the depend stage, leaving the
.depend file in ${SRCDIR} instead.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.145 1997/09/16 10:45:41 bde Exp $
d6 1
a6 1
#	-DMAKE_EBONES to build eBones (KerberosIV)
d68 2
a69 2
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
SUBDIR+= eBones
d364 2
a365 2
#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
#	cd ${.CURDIR}/eBones	&&	${MAKE} most
d389 2
a390 2
#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
#	cd ${.CURDIR}/eBones	&&	${MAKE} installmost
d463 12
a474 4
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
	cd ${.CURDIR}/eBones/include &&		${MAKE} beforeinstall
	cd ${.CURDIR}/eBones/lib/libkrb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/eBones/lib/libkadm &&	${MAKE} beforeinstall
d567 2
a568 2
.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
	cd ${.CURDIR}/eBones/lib && ${MAKE} depend && \
@


1.145
log
@Backed out rev.1.136 and rev.1.144.  Force SHARED=symlinks in a different
way - for buildworld only.

Rev.1.136 broke the (deprecated) external includes target.  Rev.1.144 was
a half-baked backout of rev.1.136.  It broke SHARED=symlinks for the
buildworld target and installation of subdirs of src/include for the
includes target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.144 1997/09/15 05:58:50 rgrimes Exp $
d227 1
a227 1
			${OBJDIR} clean cleandepend depend && \
@


1.144
log
@When calling the src/include Makefile use the shorthand ``all beforeinstall''
inplace of ``all installhdrs symlinks'' so those of us who run with
SHARED=copies get the right results.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.143 1997/09/05 09:11:24 peter Exp $
d263 1
a263 1
	cd ${.CURDIR} && ${BMAKE} includes
d453 1
a453 1
	cd ${.CURDIR}/include &&		${MAKE} all beforeinstall
@


1.143
log
@Back out use of -m, since 2.1.x apparently do not have it. (sigh..)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.142 1997/08/31 21:06:40 peter Exp $
d453 1
a453 1
	cd ${.CURDIR}/include &&		${MAKE} all installhdrs symlinks
@


1.142
log
@Fix the ${BINFORMAT} definition problem during 'make {build}world'.  The
wrong switches were being passed to 'make' that caused sys.mk to come from
the /usr/share/mk location but the bsd.*.mk files to come from the
source tree in src/share/mk.  This was bound to break sooner or later.

Submitted by:	Dmitrij Tejblum <dima@@tejblum.dnttm.rssi.ru>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.141 1997/08/26 14:15:25 peter Exp $
d226 1
a226 1
		${IBMAKE} -m${.CURDIR}/share/mk \
d228 1
a228 1
		${IBMAKE} -m${.CURDIR}/share/mk ${MK_FLAGS} \
@


1.141
log
@Remove unneeded ${.MAKEFLAGS} being explicitly passed on via the command
line..

PR:  4368
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.140 1997/08/25 19:40:53 bde Exp $
d226 1
a226 1
		${IBMAKE} -I${.CURDIR}/share/mk \
d228 1
a228 1
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} \
@


1.140
log
@Use new installhdrs target to install tcl includes.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.139 1997/08/21 15:43:54 bde Exp $
d154 1
a154 1
	cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} pre-world
d156 2
a157 2
	cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} buildworld
	cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} installworld
d163 1
a163 1
	cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} post-world
d356 8
a363 8
	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} all
d365 1
a365 1
#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} most
d368 1
a368 1
#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} most
d381 8
a388 8
	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} install
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} install
d390 1
a390 1
#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} installmost
d393 1
a393 1
#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} installmost
@


1.139
log
@Added directories in the includes target so that it installs
everything that a full install would (modulo bugs in rpcsvc/Makefile).
The missing things weren't used (except for mp.h from libmp), but
there are relatively few of them and it's easier to be complete.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.138 1997/08/21 15:16:07 bde Exp $
d487 1
a487 1
	cd ${.CURDIR}/lib/libtcl &&		${MAKE} beforeinstall
@


1.138
log
@Restored rev.1.122, which was clobbered by copying from -stable in
rev.1.134.

Split long lines.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.137 1997/08/18 06:54:18 peter Exp $
d455 2
d472 1
d481 1
d494 1
d496 2
@


1.137
log
@Pass command line args to 'buildworld' and 'installworld' etc.  Otherwise
'make -DNOCLEAN world' is completely ignored.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.136 1997/08/18 06:44:44 peter Exp $
d43 8
a50 1
# We must do include and lib first so that the perl *.ph generation
d226 4
a229 2
		${IBMAKE} -I${.CURDIR}/share/mk ${OBJDIR} clean cleandepend depend && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all install clean cleandepend
@


1.136
log
@In the includes target, call the header install target explicitly and then
call the 'symlinks' target to build the /usr/obj/tmp/install/sys tree since
In the includes target, call the header install target explicitly and then
call the 'symlinks' target to build the /usr/obj/tmp/install/sys tree since
we set this up manually earlier, and if we do a 'make all install', we
replace the symlink tree in the obj dirs with new copies of the files
which breaks any chance of -DNOCLEAN working.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.135 1997/08/17 21:14:22 andreas Exp $
d147 1
a147 1
	cd ${.CURDIR} && ${MAKE} pre-world
d149 2
a150 2
	cd ${.CURDIR} && ${MAKE} buildworld
	cd ${.CURDIR} && ${MAKE} installworld
d156 1
a156 1
	cd ${.CURDIR} && ${MAKE} post-world
@


1.135
log
@fix a make world problem.
updated beforeinstall target.
mp.h from gnu/lib/libgmp.h has to be installed to /usr/include
so that usr.bin/chkey and usr.bin/newkey can be compiled.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.134 1997/08/12 10:12:56 asami Exp $
d444 1
a444 1
	cd ${.CURDIR}/include &&		${MAKE} all install
@


1.134
log
@Merge from -stable; NOTCL hook in beforeinstall.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.133 1997/08/05 03:49:45 asami Exp $
d451 1
@


1.133
log
@Merge buildworld/installworld patch to Makefile from RELENG_2_2.  Patch
a couple *.mk files to enable -current world building on really old
machines (e.g., 2.1.5).

Reviewed by:	too many many people to list here, special thanks to bde
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.132 1997/07/31 08:31:50 asami Exp $
d471 2
d474 1
@


1.132
log
@More whitespace/tab fixes.

Submitted by:	bde
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.131 1997/07/31 08:06:29 asami Exp $
d25 3
a27 2
# world       - rebuild *everything*, including glue to help do upgrades.
# reinstall   - use an existing (eg: NFS mounted) build to do an update.
d36 1
d38 1
d43 1
a43 8
# We must do share/info early so that installation of info `dir'
# entries works correctly.  Do it first since it is less likely to
# grow dependencies on include and lib than vice versa.
.if exists(share/info)
SUBDIR+= share/info
.endif

# We must do include and lib early so that the perl *.ph generation
d121 2
a122 2
SUP?=           sup
SUPFLAGS?=      -v
d143 1
d148 4
a152 1
.endif
d154 1
a154 1
	@@echo " Making hierarchy"
d156 2
a157 1
	cd ${.CURDIR} && ${MAKE} hierarchy
d160 1
a160 1
	@@echo " Cleaning up the source tree"
d162 3
a164 2
.if defined(NOCLEAN)
	@@echo "Not cleaning anything! I sure hope you know what you are doing!"
d166 1
a166 1
	cd ${.CURDIR} && ${MAKE} ${CLEANDIR}
d168 37
a205 1
.if !defined(NOOBJDIR)
d207 1
a207 1
	@@echo " Rebuilding the obj tree"
d209 4
a212 1
	cd ${.CURDIR} && ${MAKE} obj
a213 1
.endif
d215 1
a215 1
	@@echo " Rebuilding bootstrap tools"
d217 4
a220 1
	cd ${.CURDIR} && ${MAKE} bootstrap
d223 1
a223 1
	@@echo " Rebuilding tools necessary to build the include files"
d225 2
a226 1
	cd ${.CURDIR} && ${MAKE} include-tools
d229 1
a229 1
	@@echo " Rebuilding /usr/include"
d231 3
a233 1
	cd ${.CURDIR} && ${MAKE} includes
d236 1
a236 1
	@@echo " Rebuilding tools needed to build the libraries"
d238 2
a239 1
	cd ${.CURDIR} && ${MAKE} lib-tools
d242 1
a242 1
	@@echo " Rebuilding /usr/lib"
d244 1
a244 1
	cd ${.CURDIR} && ${MAKE} libraries
d247 1
a247 1
	@@echo " Rebuilding symorder, groff and zic(8)"
d249 1
a249 1
	cd ${.CURDIR} && ${MAKE} build-tools
d252 1
a252 1
	@@echo " Rebuilding dependencies"
d254 1
a254 1
	cd ${.CURDIR} && ${MAKE} depend
d257 1
a257 1
	@@echo " Building everything.."
d259 1
a259 1
	cd ${.CURDIR} && ${MAKE} all
d262 1
a262 1
	@@echo " Installing everything.."
d264 1
a264 1
	cd ${.CURDIR} && ${MAKE} install
d267 1
a267 1
	@@echo " Rebuilding man page indexes"
d269 1
a269 2
	cd ${.CURDIR}/share/man && ${MAKE} makedb
.if target(post-world)
d272 1
a272 1
	@@echo " Making 'post-world' target"
d274 1
a274 2
	cd ${.CURDIR} && ${MAKE} post-world
.endif
d277 1
a277 1
	@@echo "make world completed on `LC_TIME=C date`"
d279 9
a311 1

a337 1

d410 6
d427 3
a429 1
# XXX should be merged with bootstrap, it's not worth keeeping them seperate
d432 2
a433 2
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
a450 1
	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
d482 2
d485 15
a499 26
	cd ${.CURDIR}/usr.bin/tsort && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/ld && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/as && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/ar && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/ranlib && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/nm && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/compile_et && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} && \
		rm -f /usr/sbin/compile_et
	cd ${.CURDIR}/usr.bin/mk_cmds && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/uudecode && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/bison && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/gperf && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/cc && ${MAKE} depend && \
d501 1
d551 6
d560 23
d584 18
a601 1
		gnu/usr.bin/texinfo     \
d603 12
a614 3
		usr.sbin/zic		\
		gnu/usr.bin/awk		\
		gnu/usr.bin/groff
@


1.131
log
@Consistently use tabs in the leading comments.

Submitted by:	bde (yes, I'm serious)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.130 1997/06/08 15:04:06 jfieber Exp $
d282 1
a282 1
	cd ${.CURDIR} &&  cvs -q update -P -d
d388 3
a390 3
	cd ${.CURDIR}/gnu/lib/libstdc++ &&      ${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libg++ &&         ${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libdialog &&      ${MAKE} beforeinstall
d404 1
a404 1
	cd ${.CURDIR}/lib/libmytinfo &&         ${MAKE} beforeinstall
@


1.130
log
@Remove sgml stuff from the build-tools target.  It is no longer used
in a make world.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.129 1997/06/08 14:03:23 jhay Exp $
d19 2
a20 2
#       -DNOINFO do not make or install info files
#       -DNOLIBC_R do not build libc_r.
@


1.129
log
@Add libmp and libz to the includes target. This makes "make includes -DCLOBBER;
make depend; make all" work. I think there should be a better than adding
each library directory here.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.128 1997/05/26 05:27:37 peter Exp $
d200 1
a200 1
	@@echo " Rebuilding sgml tools, symorder, groff and zic(8)"
a505 3
		usr.bin/sgmls		\
		usr.bin/sgmlfmt		\
		share/sgml		\
@


1.128
log
@make beforeinstall in libalias from the includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.127 1997/05/21 22:48:51 asami Exp $
d391 1
d418 1
@


1.127
log
@Fix comment about LOCAL_DIRS.  Now it works as advertised. :)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.126 1997/05/21 19:41:16 jkh Exp $
d397 1
@


1.126
log
@Remove evil MAKE_LOCAL and MAKE_PORTS hacks and replace them with
a simpler, more general LOCAL_DIRS hack.
Reviewed by:	asami
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.125 1997/05/13 18:11:38 peter Exp $
a5 1
#	-DLOCAL_DIRS to add additional dirs to the SUBDIR list
d21 1
@


1.125
log
@Forgot to commit this..  Do a 'make all' in src/include before trying
to install it.  Otherwise osreldate.h breaks.

Pointed out by:  Doug Rabson <dfr@@nlsystems.com>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.124 1997/05/10 06:53:40 bde Exp $
d6 1
a6 2
#	-DMAKE_LOCAL to add ./local to the SUBDIR list
#	-DMAKE_PORTS to add ./ports to the SUBDIR list
d100 4
a103 2
.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
SUBDIR+= local
d105 1
a105 2
.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
SUBDIR+= ports
@


1.124
log
@Use `mk' files in share/mk (relative to the top level of the source
tree) instead of the system default ones in /usr/share/mk.  This
only works for makes run from the top level, and a few not too out
of date system makefiles must be present to start up.  Bootstraps
from can still be done from scratch by giving the path to an up to
date share/mk on the command line.

Removed bootstrap `mk' target and use of it.  The bootstrap didn't
actually work for the non-null DESTDIR case.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.123 1997/05/03 02:51:58 jb Exp $
d384 1
a384 2
	cd ${.CURDIR}/include/rpcsvc &&		${MAKE} all
	cd ${.CURDIR}/include &&		${MAKE} install
@


1.123
log
@Change default build to include libc_r, but allow disadvantaged souls
to turn off the build.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.122 1997/04/30 16:02:03 bde Exp $
d36 1
a158 5
	@@echo " Rebuilding /usr/share/mk"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${MAKE} mk
	@@echo
	@@echo "--------------------------------------------------------------"
a248 5
	@@echo " Rebuilding /usr/share/mk"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${MAKE} mk
	@@echo
	@@echo "--------------------------------------------------------------"
a350 6

#
# mk - update the /usr/share/mk makefiles.
#
mk:
	cd ${.CURDIR}/share/mk &&	${MAKE} install
@


1.122
log
@Bootstrap the info `dir' file from here.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.121 1997/04/09 18:59:36 jdp Exp $
d22 1
@


1.121
log
@Process "lib/csu/i386" at the beginning of the "libraries" target,
instead of in the middle of it.  Soon, "c++rt0.o" will be linked
into all shared libraries.  An up-to-date version of it must be in
place before any shared libraries are built.

This is one piece of the solution for PR gnu/3035 (gcc -shared).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.120 1997/04/02 17:10:16 ache Exp $
d39 8
a46 1
# We must do include and lib first so that the perl *.ph generation
d411 1
a411 1
	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE}	beforeinstall
@


1.120
log
@Back out csu fix, because it was just fixed differently
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.119 1997/04/02 16:44:06 ache Exp $
d461 4
a474 4
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib)
	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
@


1.119
log
@For csu/i386 add "all" before "beforeinstall", because "beforeinstall"
wants to install "all" targets which not exist at this stage
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.118 1997/02/23 15:50:34 peter Exp $
d404 1
a404 1
	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE}	all beforeinstall
@


1.118
log
@Revert $FreeBSD$ to $Id$
@
text
@d2 1
a2 1
#	$Id$
d404 1
a404 1
	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE} beforeinstall
@


1.117
log
@Add uudecode to lib-tools so that the -p option is available for
the later build in lib/compat/* for those systems upgrading from source.

Pointed-Out-By: John Hay <jhay@@zibbi.mikom.csir.co.za>
@
text
@d2 1
a2 1
#	$FreeBSD$
@


1.116
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d448 2
@


1.115
log
@Add "lib/csu/i386" to the "includes" target, so that <dlfcn.h> is
installed before it is needed.
Noticed by:	David Conran <lucifer@@maths.uq.oz.au>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.114 1997/01/12 05:33:24 steve Exp $
d506 1
@


1.114
log
@Remove yacc from the lib-tools target since it is now
back to its original form.

Requested by: jkh
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.113 1997/01/11 10:53:01 jmacd Exp $
d404 1
@


1.113
log
@Add -DNOINFO to MK_FLAGS, that's okay right?  The comment says
MK_FLAGS contains -DNOMAN and -DNOPROFILE for speed, so I assume
NOINFO is okay as well.

Add gnu/usr.bin/texinfo to build-tools so everything does the right
thing.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.112 1997/01/07 02:28:57 jkh Exp $
a440 2
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/yacc && ${MAKE} depend && \
@


1.112
log
@Add yacc to lib-tools target, now that it's been changed.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.111 1996/12/20 08:18:47 asami Exp $
d21 1
d123 1
a123 1
MK_FLAGS=	-DNOMAN -DNOPROFILE
d507 1
@


1.111
log
@Add comment on -DALLLANG.

Suggested by:	max
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.110 1996/11/26 03:26:31 ache Exp $
d440 2
@


1.110
log
@Use LC_TIME=C instead of LC_TIME= (POSIX)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109 1996/11/01 19:03:33 adam Exp $
d9 2
@


1.109
log
@use NOSHARE variable to skip 'share' directory, useful for shared installations
or for faster make of executables.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.108 1996/10/25 14:22:50 bde Exp $
d132 1
a132 1
	@@echo "make world started on `LC_TIME= date`"
d225 1
a225 1
	@@echo "make world completed on `LC_TIME= date`"
@


1.109.2.1
log
@YAMFC
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109 1996/11/01 19:03:33 adam Exp $
d132 1
a132 1
	@@echo "make world started on `LC_TIME=C date`"
d225 1
a225 1
	@@echo "make world completed on `LC_TIME=C date`"
@


1.109.2.2
log
@Merge from HEAD, -DALLLANG explanation.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.1 1996/11/28 21:43:35 phk Exp $
a8 2
#	-DALLLANG to build documentation for all languages
#	  (where available -- see share/doc/Makefile)
@


1.109.2.3
log
@Merge in from -current all the changes needed to make world with the
latest texinfo.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.2 1996/12/20 08:20:06 asami Exp $
a20 1
#	-DNOINFO do not make or install info files
d122 1
a122 1
MK_FLAGS=	-DNOINFO -DNOMAN -DNOPROFILE
a503 2
		share/info		\
		gnu/usr.bin/texinfo	\
@


1.109.2.4
log
@Merge from main branch 1.120 -> 1.121: process "lib/csu/i386" before
building any libraries.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.3 1997/04/11 16:57:40 asami Exp $
a457 4
.if exists(lib/csu/i386)
	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
.endif
d468 4
@


1.109.2.5
log
@Merge 1.126 and 1.127.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.4 1997/05/13 16:09:59 jdp Exp $
d6 2
a21 1
#	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
d92 2
a93 4
.if defined(LOCAL_DIRS)
.for _DIR in ${LOCAL_DIRS}
.if exists(${_DIR}) & exists(${_DIR}/Makefile)
SUBDIR+= ${_DIR}
d95 2
a96 1
.endfor
@


1.109.2.6
log
@- add includes for csu/i386 and libalias.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.5 1997/05/21 22:51:19 asami Exp $
a403 2
	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE} beforeinstall
	cd ${.CURDIR}/lib/libalias &&		${MAKE} beforeinstall
@


1.109.2.7
log
@Remove sgml stuff from the build-tools target.  They are no longer
used in the make world process.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.6 1997/05/27 23:40:47 nate Exp $
d196 1
a196 1
	@@echo " Rebuilding symorder, groff and zic(8)"
d510 3
@


1.109.2.8
log
@Merge 1.132 from -current.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.7 1997/06/08 15:02:40 jfieber Exp $
d283 1
a283 1
	cd ${.CURDIR} && cvs -q update -P -d
d396 3
a398 3
	cd ${.CURDIR}/gnu/lib/libstdc++ &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libg++ &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libdialog &&	${MAKE} beforeinstall
d411 1
a411 1
	cd ${.CURDIR}/lib/libmytinfo &&		${MAKE} beforeinstall
@


1.109.2.9
log
@This patch splits "world" into two parts, "buildworld" and
"installworld", which can be run together or separately (or even on
different machines).  The "buildworld" target does not install
anything outside /usr/obj; you still need to be root to run it (the
default install rules want to set the ownership, etc.), but it's now
possible to upgrade a bunch of -stable machines by running "make
buildworld" on a 2.1.5 NFS server and then running "make installworld"
on each of the clients, while not compromising the stability of the
server at all.

Reviewed by:	too many many people to list here, special thanks to bde
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.8 1997/07/31 08:32:42 asami Exp $
d24 2
a25 3
# buildworld  - rebuild *everything*, including glue to help do upgrades
# installworld- install everything built by "buildworld"
# world       - buildworld + installworld
a33 3
.if (!make(world)) && (!make(buildworld)) && (!make(installworld))
.MAKEFLAGS:=	${.MAKEFLAGS} -m ${.CURDIR}/share/mk
.endif
d116 2
a117 2
SUP?=		sup
SUPFLAGS?=	-v
a137 1
	@@echo
d142 1
d144 4
a147 3
	cd ${.CURDIR} && ${MAKE} buildworld
	cd ${.CURDIR} && ${MAKE} installworld
.if target(post-world)
d150 1
a150 1
	@@echo " Making 'post-world' target"
d152 1
a152 2
	cd ${.CURDIR} && ${MAKE} post-world
.endif
d155 1
a155 1
	@@echo "make world completed on `LC_TIME=C date`"
d157 2
a158 3

.if defined(MAKEOBJDIRPREFIX)
WORLDTMP=	${MAKEOBJDIRPREFIX}${.CURDIR}/tmp
d160 1
a160 1
WORLDTMP=	/usr/obj${.CURDIR}/tmp
a161 37
STRICTTMPPATH=	${WORLDTMP}/sbin:${WORLDTMP}/usr/sbin:${WORLDTMP}/bin:${WORLDTMP}/usr/bin
TMPPATH=	${STRICTTMPPATH}:${PATH}

# XXX COMPILER_PATH is needed for finding cc1, ld and as
# XXX GCC_EXEC_PREFIX is for *crt.o.  It is probably unnecssary now
#	tbat LIBRARY_PATH is set.  We still can't use -nostdlib, since gcc
#	wouldn't link *crt.o or libgcc if it were used.
# XXX LD_LIBRARY_PATH is for ld.so.  It is also used by ld, although we don't
#	want that - all compile-time library paths should be resolved by gcc.
#	It fails for set[ug]id executables (are any used?).
COMPILER_ENV=	BISON_SIMPLE=${WORLDTMP}/usr/share/misc/bison.simple \
		COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \
		GCC_EXEC_PREFIX=${WORLDTMP}/usr/lib/ \
		LD_LIBRARY_PATH=${WORLDTMP}${SHLIBDIR} \
		LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib

BMAKEENV=	PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t
XMAKEENV=	PATH=${STRICTTMPPATH} ${COMPILER_ENV} \
		CC='cc -nostdinc'	# XXX -nostdlib

# used to compile and install 'make' in temporary build tree
IBMAKE=	${BMAKEENV} ${MAKE} DESTDIR=${WORLDTMP}
# bootstrap make
BMAKE=	${BMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
# cross make used for compilation
XMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE} DESTDIR=${WORLDTMP}
# cross make used for final installation
IXMAKE=	${XMAKEENV} ${WORLDTMP}/usr/bin/${MAKE}

#
# buildworld
#
# Attempt to rebuild the entire system, with reasonable chance of
# success, regardless of how old your existing system is.
#
buildworld:
.if !defined(NOCLEAN)
d163 1
d165 1
a165 1
	@@echo " Cleaning up the temporary build tree"
d167 2
a168 3
	mkdir -p ${WORLDTMP}
	chflags -R noschg ${WORLDTMP}/
	rm -rf ${WORLDTMP}
a169 1
	@@echo
d171 1
a171 1
	@@echo " Making make"
d173 1
a173 4
	mkdir -p ${WORLDTMP}/usr/bin
	cd ${.CURDIR}/usr.bin/make && \
		${IBMAKE} -I${.CURDIR}/share/mk ${OBJDIR} clean cleandepend depend && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all install clean cleandepend
d176 1
a176 1
	@@echo " Making hierarchy"
d178 1
a178 2
	cd ${.CURDIR} && ${BMAKE} hierarchy
.if !defined(NOCLEAN)
d181 1
a181 1
	@@echo " Cleaning up the obj tree"
d183 1
a183 3
	cd ${.CURDIR} && ${BMAKE} ${CLEANDIR}
.endif
.if !defined(NOOBJDIR)
d186 1
a186 1
	@@echo " Rebuilding the obj tree"
d188 1
a188 2
	cd ${.CURDIR} && ${BMAKE} obj
.endif
d191 1
a191 1
	@@echo " Rebuilding bootstrap tools"
d193 1
a193 1
	cd ${.CURDIR} && ${BMAKE} bootstrap
d196 1
a196 1
	@@echo " Rebuilding tools necessary to build the include files"
d198 1
a198 1
	cd ${.CURDIR} && ${BMAKE} include-tools
d201 1
a201 1
	@@echo " Rebuilding /usr/include"
d203 1
a203 1
	cd ${.CURDIR} && ${BMAKE} includes
d206 1
a206 1
	@@echo " Rebuilding tools needed to build the libraries"
d208 1
a208 1
	cd ${.CURDIR} && ${BMAKE} lib-tools
d211 1
a211 1
	@@echo " Rebuilding /usr/lib"
d213 1
a213 1
	cd ${.CURDIR} && ${BMAKE} libraries
d216 1
a216 1
	@@echo " Rebuilding all other tools needed to build the world"
d218 2
a219 1
	cd ${.CURDIR} && ${BMAKE} build-tools
d222 1
a222 1
	@@echo " Rebuilding dependencies"
d224 2
a225 1
	cd ${.CURDIR} && ${XMAKE} depend
d228 1
a228 1
	@@echo " Building everything.."
a229 9
	cd ${.CURDIR} && ${XMAKE} all

#
# installworld
#
# Installs everything compiled by a 'buildworld'.
#
installworld:
	cd ${.CURDIR} && ${IXMAKE} reinstall
d245 5
d259 1
d286 1
d354 6
a364 6
.if defined(DESTDIR)
	rm -f ${DESTDIR}/usr/src/sys
	ln -s ${.CURDIR}/sys ${DESTDIR}/usr/src
	cd ${.CURDIR}/include && find -dx . | cpio -dump ${DESTDIR}/usr/include
	cd ${.CURDIR}/include && make symlinks
.endif
d376 1
a376 3
# XXX should be merged with bootstrap, it's not worth keeeping them separate.
# Well, maybe it is now.  We force 'cleandepend' here to avoid dependencies
# on cleaned away headers in ${WORLDTMP}.
d379 2
a380 2
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} cleandepend depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d391 2
a392 1
	cd ${.CURDIR}/include &&		${MAKE} all install
a424 1
	cd ${.CURDIR}/lib/libz &&		${MAKE} beforeinstall
a428 2
# XXX gperf is required for cc
# XXX a new ld and tsort is required for cc
d430 24
a453 15
.for d in				\
		gnu/usr.bin/gperf	\
		gnu/usr.bin/ld		\
		usr.bin/tsort		\
		gnu/usr.bin/as		\
		gnu/usr.bin/bison	\
		gnu/usr.bin/cc		\
		usr.bin/ar		\
		usr.bin/compile_et	\
		usr.bin/lex/lib		\
		usr.bin/mk_cmds		\
		usr.bin/nm		\
		usr.bin/ranlib		\
		usr.bin/uudecode
	cd ${.CURDIR}/$d && ${MAKE} depend && \
a454 1
.endfor
a503 6
# ifdef stale
# bc and cpp are required to build groff.  Otherwise, the order here is
# mostly historical, i.e., bogus.
# chmod is used to build gcc's tmpmultilib[2] at obscure times.
# endif stale
# XXX uname is a bug - the target should not depend on the host.
a506 23
		bin/cat 		\
		bin/chmod		\
		bin/cp 			\
		bin/date		\
		bin/dd			\
		bin/echo		\
		bin/expr		\
		bin/hostname		\
		bin/ln			\
		bin/ls			\
		bin/mkdir		\
		bin/mv			\
		bin/rm			\
		bin/sh			\
		bin/test		\
		gnu/usr.bin/awk		\
		gnu/usr.bin/bc		\
		gnu/usr.bin/grep	\
		gnu/usr.bin/groff	\
		gnu/usr.bin/gzip	\
		gnu/usr.bin/man/makewhatis	\
		gnu/usr.bin/sort	\
		gnu/usr.bin/texinfo     \
d508 1
a508 18
		usr.bin/basename	\
		usr.bin/cap_mkdb	\
		usr.bin/chflags		\
		usr.bin/cmp		\
		usr.bin/col		\
		usr.bin/cpp		\
		usr.bin/expand		\
		usr.bin/file2c		\
		usr.bin/find		\
		usr.bin/gencat		\
		usr.bin/lorder		\
		usr.bin/m4		\
		usr.bin/mkdep		\
		usr.bin/paste		\
		usr.bin/sed		\
		usr.bin/size		\
		usr.bin/soelim		\
		usr.bin/strip		\
d510 3
a512 12
		usr.bin/touch		\
		usr.bin/tr		\
		usr.bin/true		\
		usr.bin/uname		\
		usr.bin/uuencode	\
		usr.bin/vgrind		\
		usr.bin/vi		\
		usr.bin/wc		\
		usr.bin/yacc		\
		usr.sbin/chown		\
		usr.sbin/mtree		\
		usr.sbin/zic
@


1.109.2.10
log
@Merge (more or less) from -current: NOTCL hook to disable tcl building.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.9 1997/08/05 03:46:23 asami Exp $
a469 2
.if !defined(NOTCL) && exists (${.CURDIR}/contrib/tcl) && \
	exists(${.CURDIR}/usr.bin/tclsh) && exists (${.CURDIR}/lib/libtcl)
a470 1
.endif
@


1.109.2.11
log
@- In the 'update' target, add '-r RELENG_2_2' so that new directories
  get checked out on the correct branch.  (This change is valid only
  on this branch.)

Requested by:	Ben Stuyts <benst@@terminus.stuyts.nl>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.10 1997/08/11 18:36:35 asami Exp $
d334 1
a334 1
	cd ${.CURDIR} && cvs -q update -P -d -r RELENG_2_2
@


1.109.2.12
log
@Drop libtcl reference
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.11 1997/08/19 23:39:07 nate Exp $
d470 4
@


1.109.2.13
log
@YAMFC: use make -b, not make -I, so that the correct sys.mk is used with
bsd.*.mk.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.12 1997/08/21 05:14:19 peter Exp $
d218 2
a219 2
		${IBMAKE} -m${.CURDIR}/share/mk ${OBJDIR} clean cleandepend depend && \
		${IBMAKE} -m${.CURDIR}/share/mk ${MK_FLAGS} all install clean cleandepend
@


1.109.2.14
log
@YAMFC: revert make -m back to -I for 2.1.x's benefit.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.13 1997/09/01 07:26:42 peter Exp $
d218 2
a219 2
		${IBMAKE} -I${.CURDIR}/share/mk ${OBJDIR} clean cleandepend depend && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all install clean cleandepend
@


1.109.2.15
log
@Bring in the 'make -DNOCLEAN world' fixes from -current.  The problem
is that obj/tmp/usr/include is built first with symlinks and then
deleted and replaced with real files, causing all the dependencies to
be triggered.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.14 1997/09/05 09:12:51 peter Exp $
d443 1
a443 1
	cd ${.CURDIR}/include &&		${MAKE} all installhdrs symlinks
@


1.109.2.16
log
@When calling the src/include Makefile use the shorthand ``all beforeinstall''
inplace of ``all installhdrs symlinks'' so those of us who run with
SHARED=copies get the right results.

I'll check -current in a minute for the same bug.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.15 1997/09/10 07:18:42 peter Exp $
d443 1
a443 1
	cd ${.CURDIR}/include &&		${MAKE} all beforeinstall
@


1.109.2.17
log
@Revert 1.144 so that make world works again.

Sanctioned By: rgrimes
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.16 1997/09/15 05:52:04 rgrimes Exp $
d443 1
a443 1
	cd ${.CURDIR}/include &&		${MAKE} all installhdrs symlinks
@


1.109.2.18
log
@YAMC - bde's fix for includes: that I blew on my attempt.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.17 1997/09/15 17:39:31 jkh Exp $
d253 1
a253 1
	cd ${.CURDIR} && SHARED=symlinks ${BMAKE} includes
d443 1
a443 1
	cd ${.CURDIR}/include &&		${MAKE} all install
@


1.109.2.19
log
@MFC (Makefile 1.148): Lex lib obj directory was being deleted in bootstrap.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.18 1997/09/17 23:50:26 rgrimes Exp $
d420 1
a420 4
		${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR}
.if !defined(NOOBJDIR)
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} obj
.endif
@


1.109.2.20
log
@MFC: parallelize
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.19 1997/09/28 16:33:05 mckay Exp $
d149 1
a149 1
	cd ${.CURDIR} && ${MAKE} -B installworld
a216 1
.if !defined(NOCLEAN) || !defined(NOOBJDIR)
d218 2
a219 7
		${IBMAKE} -I${.CURDIR}/share/mk ${CLEANDIR} ${OBJDIR}
.endif
	cd ${.CURDIR}/usr.bin/make && \
		${IBMAKE} -I${.CURDIR}/share/mk depend && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install && \
		${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} clean cleandepend
d230 1
a230 1
	cd ${.CURDIR} && ${BMAKE} par-${CLEANDIR}
d237 1
a237 1
	cd ${.CURDIR} && ${BMAKE} par-obj
d273 1
a273 1
	cd ${.CURDIR} && ${XMAKE} ${.MAKEFLAGS} par-depend
d416 1
a416 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d418 1
a418 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d420 1
a420 2
		${MAKE} ${MK_FLAGS} -DNOLIB all && \
		${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR}
d434 2
a435 3
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d446 1
a446 1
	cd ${.CURDIR}/include &&		${MAKE} -B all install
d501 1
a501 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d510 1
a510 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d514 1
a514 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d518 1
a518 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d522 1
a522 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d526 1
a526 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d530 1
a530 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d534 1
a534 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d538 1
a538 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d542 1
a542 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d546 1
a546 2
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
d617 1
a617 19
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor

.for __target in clean cleandir obj depend
.for entry in ${SUBDIR}
${entry}.${__target}__D: .PHONY
	if test -d ${.CURDIR}/${entry}.${MACHINE}; then \
		${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE}"; \
		edir=${entry}.${MACHINE}; \
		cd ${.CURDIR}/$${edir}; \
	else \
		${ECHODIR} "===> ${DIRPRFX}${entry}"; \
		edir=${entry}; \
		cd ${.CURDIR}/$${edir}; \
	fi; \
	${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/
.endfor
par-${__target}: ${SUBDIR:S/$/.${__target}__D/}
@


1.109.2.21
log
@-DNOTOOLS to not rebuild any tools during buildworld
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.20 1997/10/26 22:46:16 jkh Exp $
a11 1
#       -DNOTOOLS do not rebuild any tools first
a211 1
.if !defined(NOTOOLS)
a225 1
.endif
a244 1
.if !defined(NOTOOLS)
a254 1
.endif
a259 1
.if !defined(NOTOOLS)
a264 1
.endif
a269 1
.if !defined(NOTOOLS)
a274 1
.endif
@


1.109.2.22
log
@Replace eBones with kerberosIV
@
text
@d2 1
a2 1
#	$Id$
d6 1
a6 1
#	-DMAKE_KERBEROS4 to build KerberosIV
d61 2
a62 2
.if exists(kerberosIV) && exists(crypto) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
SUBDIR+= kerberosIV
d369 2
a370 2
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberosIV	&&	${MAKE} ${.MAKEFLAGS} most
d394 2
a395 2
#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT)
#	cd ${.CURDIR}/kerberos4	&&	${MAKE} ${.MAKEFLAGS} installmost
d472 4
a475 9
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib/libacl &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkadm &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkafs &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkdb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libkrb &&	${MAKE} beforeinstall
	cd ${.CURDIR}/kerberosIV/lib/libtelnet && ${MAKE} beforeinstall
.else
	cd ${.CURDIR}/lib/libtelnet &&		${MAKE} beforeinstall
d568 2
a569 2
.if exists(kerberosIV) && exists(crypto) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \
@


1.109.2.23
log
@- After the install has been done, but before makedb is run, run
  'ldconfig -R' to pick up new shlib dependencies.

Suggested by:	Amancio and a whole lot of other folks
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.22 1998/02/18 11:36:46 markm Exp $
a319 5
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Re-scanning the shared libraries.."
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ldconfig -R
@


1.109.2.24
log
@Better solution for the dir dependency problem (the "ugly hack" can
now go away for good).

Submitted by:	jhay
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.23 1998/02/19 00:23:43 nate Exp $
a41 7

# We must do share/info early so that installation of info `dir'
# entries works correctly.  Do it first since it is less likely to
# grow dependencies on include and lib than vice versa.
.if exists(share/info)
SUBDIR+= share/info
.endif
@


1.109.2.25
log
@Document NOPERL
Submitted entirely incorrectly in -hackers by:	<Studded@@dal.net>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.24 1998/03/09 14:18:02 jkh Exp $
a20 1
#	-DNOPERL do not make or install perl
@


1.109.2.26
log
@NO_LIBC_R --> NOLIBC_R to match -CURRENT.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.25 1998/03/18 07:58:13 jkh Exp $
a20 1
#	-DNOLIBC_R do not build libc_r.
@


1.109.2.27
log
@MFC: retire sup just a wee bit more.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.26 1998/04/19 09:11:17 obrien Exp $
d130 2
a131 2
SUP?=		cvsup
SUPFLAGS?=	-g -L 2 -P -
d349 1
a349 1
	@@echo "Running ${SUP}"
@


1.109.2.28
log
@MFC (1.176: removed share/info from build-tools).

PR:		6138
Tested by:	Andre Albsmeier <andre.albsmeier@@mchp.siemens.de>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.27 1998/04/26 08:40:48 jkh Exp $
d633 1
@


1.109.2.29
log
@MFC: add to build-tools in order to fix new dependency problems.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.28 1998/05/15 10:16:20 bde Exp $
d623 1
a630 2
		gnu/usr.bin/patch	\
		gnu/usr.bin/perl/perl	\
a642 1
		usr.bin/id		\
d663 1
a663 2
		usr.sbin/zic		\
		bin/sh
@


1.109.2.30
log
@MFC: Don't build perl in build-tools: if NOPERL is defined.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.29 1998/05/29 06:06:08 jkh Exp $
a597 7
# Exclude perl from the build-tools if NOPERL is defined.
.if defined(NOPERL)
_perl=
.else
_perl=	gnu/usr.bin/perl/perl
.endif

d631 1
a631 1
		${_perl}		\
@


1.109.2.31
log
@Shuffle the order around a little. This make -stable snaps work again
on our snap building machine. Hopefully also the FreeBSD one.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.30 1998/06/02 18:41:21 jhay Exp $
d530 1
d537 1
a537 2
		usr.bin/uudecode	\
		gnu/usr.bin/cc
a553 10
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libc)
	cd ${.CURDIR}/lib/libc && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all && \
		${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(lib/libmytinfo)
	cd ${.CURDIR}/lib/libmytinfo && ${MAKE} depend && \
@


1.109.2.32
log
@Restore a clobbered tab.

Dedicated to:	bde
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.31 1998/06/02 18:55:17 jhay Exp $
d12 1
a12 1
#	-DNOTOOLS do not rebuild any tools first
@


1.109.2.33
log
@MFC: remove ALLLANG
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.32 1998/06/29 10:15:32 jkh Exp $
d7 2
@


1.109.2.34
log
@Hopefully unbreak the -stable release build by moving awk first.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.33 1998/07/03 14:28:32 jkh Exp $
a527 1
		gnu/usr.bin/awk		\
d639 1
@


1.109.2.35
log
@Move yacc even earlier in build-tools; up to the point where expr, which
depends on it, can have it built first.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.109.2.34 1998/09/04 06:07:43 jkh Exp $
a631 1
		usr.bin/yacc		\
d677 1
@


1.109.2.36
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.108
log
@Improved comment about `all' target.

Use a for loop instead of massive duplication in the build-tools target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.107 1996/10/14 12:58:47 peter Exp $
d18 1
d63 1
a63 1
.if exists(share)
@


1.107
log
@oops, how did this get into the reinstall target? :-]
Must have been a cut/paste foulup...  The whole idea of 'make reinstall'
is that it doesn't build anything from the source server mount.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.106 1996/10/06 02:17:43 jkh Exp $
d26 4
a29 2
# all         - run through SUBDIR and build everything.  This is an implicit
#               rule, not particularly useful for everybody.  Use 'world'.
d500 9
a508 13
	cd ${.CURDIR}/usr.bin/symorder && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/sgmls && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/usr.bin/sgmlfmt && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/share/sgml && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/usr.sbin/zic && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/awk && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/groff && ${MAKE} depend && \
d510 1
@


1.106
log
@Add awk to build target.
Submitted-By: jhay
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.105 1996/10/05 18:36:38 ache Exp $
a241 15
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding /usr/include"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${MAKE} includes
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding dependencies"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${MAKE} depend
	@@echo
	@@echo "--------------------------------------------------------------"
	@@echo " Building everything.."
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR} && ${MAKE} all
@


1.105
log
@Use SUP and SUPFLAGS variables to change them to cvsup if needed
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.104 1996/10/04 08:48:27 peter Exp $
d522 2
@


1.104
log
@Add some 'world' hooks for libg++-2.7.2, specifically the new libstdc++
directory.  Also, add gnu/usr.bin/as to the lib-tools target since libgcc
generates weak symbols, and libstdc++/libg++ use them.  ie: coming from a
2.1.x system will fail without 'as'.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.103 1996/09/21 06:06:41 ache Exp $
d110 3
d280 1
a280 1
	@@sup -v ${SUPFILE}
d282 1
a282 1
	@@sup -v ${SUPFILE1}
d285 1
a285 1
	@@sup -v ${SUPFILE2}
@


1.103
log
@Unlocalize `date`
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.102 1996/09/19 16:36:24 peter Exp $
d402 1
d437 2
@


1.102
log
@Hooks to attempt to get 'make world' working with gcc-2.7.2.1.  It's
worked for me, but no guarantees yet.

Basically, move cc earlier to lib-tools target, before libraries are
built.  libgcc is built at the same time, so it's special entry is
removed from the libraries target.  Also, add bison/gperf immediately
before cc, since they are needed to build cc and are not present on an
earler-than-2.2 system.  (libgcc is partly built with the freshly compiled
gcc-2.7.2.1, since it uses __attribute__'s that were not present until now)

This _should_ be enough to get running from older releases, perhaps as far
back as 2.0.5.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.101 1996/09/18 18:14:37 jkh Exp $
d126 1
a126 1
	@@echo "make world started on `date`"
d219 1
a219 1
	@@echo "make world completed on `date`"
@


1.101
log
@Add 3 small lines which add to the utility of the "finished on `date`"
output in the world target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.100 1996/09/10 04:21:36 jfieber Exp $
d187 1
a187 1
	@@echo " Rebuilding C compiler, make, symorder, sgmlfmt and zic(8)"
d450 6
a479 2
	cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
a506 2
	cd ${.CURDIR}/gnu/usr.bin/cc && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
@


1.100
log
@Add usr.bin/sgmls to the build-tools target.
This should prevent make world from falling over in share/doc.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.99 1996/08/30 22:35:30 peter Exp $
d125 3
d514 2
@


1.99
log
@- cosmetic change to 'make world'
- do an explicit 'make all' in include/rpcsvc in 'make includes' as
  a 'make install' is not supposed to build anything.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.98 1996/08/25 05:17:49 jkh Exp $
d504 2
@


1.98
log
@Revert all the make depend changes.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.96 1996/08/07 19:28:09 nate Exp $
d189 16
a204 1
	@@echo " Rebuilding.. The whole thing"
a205 1
	cd ${.CURDIR} && ${MAKE} depend && ${MAKE} all install
d217 1
d243 1
a243 1
	@@echo " Reinstalling..  The whole thing"
d245 1
d247 8
d256 4
d394 1
@


1.97
log
@Get rid of all the explicit calls to make depend.
@
text
@d191 1
a191 1
	cd ${.CURDIR} && ${MAKE} all install
d340 1
a340 1
	cd ${.CURDIR}/usr.bin/make && \
d342 1
a342 1
	cd ${.CURDIR}/usr.bin/xinstall && \
d344 1
a344 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && \
d354 2
a355 2
	cd ${.CURDIR}/usr.bin/rpcgen && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d401 1
a401 1
	cd ${.CURDIR}/usr.bin/tsort && \
d403 1
a403 1
	cd ${.CURDIR}/gnu/usr.bin/ld && \
d405 1
a405 1
	cd ${.CURDIR}/usr.bin/ar && \
d407 1
a407 1
	cd ${.CURDIR}/usr.bin/ranlib && \
d409 1
a409 1
	cd ${.CURDIR}/usr.bin/nm && \
d411 1
a411 1
	cd ${.CURDIR}/usr.bin/lex/lib && \
d413 1
a413 1
	cd ${.CURDIR}/usr.bin/compile_et && \
d416 1
a416 1
	cd ${.CURDIR}/usr.bin/mk_cmds && \
d424 1
a424 1
	cd ${.CURDIR}/lib/libcompat && \
d428 1
a428 1
	cd ${.CURDIR}/lib/libncurses && \
d432 1
a432 1
	cd ${.CURDIR}/lib/libtermcap && \
d436 1
a436 1
	cd ${.CURDIR}/lib/csu/i386 && \
d440 1
a440 1
	cd ${.CURDIR}/gnu/lib && \
d442 1
a442 1
	cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
d446 1
a446 1
	cd ${.CURDIR}/secure/lib && \
d450 1
a450 1
	cd ${.CURDIR}/lib && \
d454 1
a454 1
	cd ${.CURDIR}/usr.bin/lex/lib && \
d458 1
a458 1
	cd ${.CURDIR}/eBones/lib && \
d462 1
a462 1
	cd ${.CURDIR}/usr.sbin/pcvt/keycap && \
d471 1
a471 1
	cd ${.CURDIR}/gnu/usr.bin/cc && \
d473 1
a473 1
	cd ${.CURDIR}/usr.bin/symorder && \
d475 1
a475 1
	cd ${.CURDIR}/usr.bin/sgmlfmt && \
d477 1
a477 1
	cd ${.CURDIR}/share/sgml && \
d479 1
a479 1
	cd ${.CURDIR}/usr.sbin/zic && \
@


1.96
log
@Removed extraneous .endif that was left during OBJDIR cleanup.

Noticed by:	phk
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.95 1996/08/07 13:25:54 peter Exp $
d191 1
a191 1
	cd ${.CURDIR} && ${MAKE} depend && ${MAKE} all install
d340 1
a340 1
	cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \
d342 1
a342 1
	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} depend && \
d344 1
a344 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
d354 2
a355 2
	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d401 1
a401 1
	cd ${.CURDIR}/usr.bin/tsort && ${MAKE} depend && \
d403 1
a403 1
	cd ${.CURDIR}/gnu/usr.bin/ld && ${MAKE} depend && \
d405 1
a405 1
	cd ${.CURDIR}/usr.bin/ar && ${MAKE} depend && \
d407 1
a407 1
	cd ${.CURDIR}/usr.bin/ranlib && ${MAKE} depend && \
d409 1
a409 1
	cd ${.CURDIR}/usr.bin/nm && ${MAKE} depend && \
d411 1
a411 1
	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
d413 1
a413 1
	cd ${.CURDIR}/usr.bin/compile_et && ${MAKE} depend && \
d416 1
a416 1
	cd ${.CURDIR}/usr.bin/mk_cmds && ${MAKE} depend && \
d424 1
a424 1
	cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
d428 1
a428 1
	cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
d432 1
a432 1
	cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
d436 1
a436 1
	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
d440 1
a440 1
	cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \
d442 1
a442 1
	cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && ${MAKE} depend && \
d446 1
a446 1
	cd ${.CURDIR}/secure/lib && ${MAKE} depend && \
d450 1
a450 1
	cd ${.CURDIR}/lib && ${MAKE} depend && \
d454 1
a454 1
	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
d458 1
a458 1
	cd ${.CURDIR}/eBones/lib && ${MAKE} depend && \
d462 1
a462 1
	cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
d471 1
a471 1
	cd ${.CURDIR}/gnu/usr.bin/cc && ${MAKE} depend && \
d473 1
a473 1
	cd ${.CURDIR}/usr.bin/symorder && ${MAKE} depend && \
d475 1
a475 1
	cd ${.CURDIR}/usr.bin/sgmlfmt && ${MAKE} depend && \
d477 1
a477 1
	cd ${.CURDIR}/share/sgml && ${MAKE} depend && \
d479 1
a479 1
	cd ${.CURDIR}/usr.sbin/zic && ${MAKE} depend && \
@


1.95
log
@Move tsort back to lib-tools where it belongs, and add a "specially
for bootstrap" tweak to the lex Makefile to stop it building the library
too early.

This untangles things a bit more, it stops new bootstraps failing because
libl/libfl uses 'ld -O' before ld is updated.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.94 1996/08/07 13:21:43 peter Exp $
a148 1
.endif
@


1.94
log
@Correct spelling of NOOBJDIR (I mistakenly wrote NOOBJ).
Closes PR#1451 (Ph. Charnier <charnier@@xp11.frmug.org>) and
PR#1453 (Peter Mutsaers <plm@@xs4all.nl>)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.93 1996/08/03 13:00:35 jkh Exp $
a344 2
	cd ${.CURDIR}/usr.bin/tsort && ${MAKE} depend && \
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d346 1
a346 1
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
d402 2
@


1.93
log
@The  bootstrap target  in src/Makefile  has  the wrong  order for lex/tsort
because lex has a library (libln.a) and bsd.lib.mk has been modified to use
'tsort -q'. Tsort has not been build yet...

tsort should be before lex.  [Whoops! Thanks! -jkh]

Submitted-By: roberto@@keltia.freenix.fr (Ollivier Robert)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.92 1996/08/03 06:44:46 jkh Exp $
d148 1
a148 4
.if defined(NOCLEANDIR)
	cd ${.CURDIR} && ${MAKE} clean
.else
	cd ${.CURDIR} && ${MAKE} cleandir
d152 1
a152 1
.if !defined(NOOBJ)
d157 1
a158 1
	@@echo
@


1.92
log
@Add tsort to bootstrap targets.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.91 1996/07/27 21:47:42 peter Exp $
d348 2
a350 2
		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/tsort && ${MAKE} depend && \
@


1.91
log
@General tidy-up of Makefile.  The objective was to make it clear and
readable, as well as fix up some of the warts along the way.  Among the
things fixed is the infamous "cd foo && make depend all install" bogon,
which is particularly important for users of the -DNOCLEAN option.

Also, a few typo and DESTDIR fixes and a -DNOGAMES hack from Gary Jennejohn.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.90 1996/07/21 00:05:31 jraynard Exp $
d349 2
@


1.90
log
@Fix typo in Makefile.

Reviewed (informally!) by jkh.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.89 1996/07/01 06:13:31 jkh Exp $
d17 12
d45 1
a45 4
#.if exists(contrib)
#SUBDIR+= contrib
#.endif
.if exists(games)
d93 1
a93 1
# Handle the -DNOOBJDIR and -DNOCLEANDIR
a101 1
WORLD_CLEANDIST=obj
a102 1
WORLD_CLEANDIST=cleandist
d110 4
d116 37
a152 3
.if !target(pre-world)
pre-world:
	@@/usr/bin/true
d154 33
a186 2

world:	pre-world hierarchy mk $(WORLD_CLEANDIST) bootstrap include-tools includes lib-tools libraries build-tools
d188 1
a188 1
	@@echo " Rebuilding ${DESTDIR} The whole thing"
d190 1
d192 5
a196 2
	cd ${.CURDIR} && ${MAKE} depend all install
	cd ${.CURDIR}/share/man &&		${MAKE} makedb
d198 4
d204 2
d208 23
a230 10
bootstrap:
	cd ${.CURDIR}/usr.bin/make && ${MAKE} ${MK_FLAGS} all install
	cd ${.CURDIR}/usr.bin/xlint && ${MAKE} ${MK_FLAGS} lint1 lint2 xlint
	cd ${.CURDIR}/usr.bin/xlint/lint1 && ${MAKE} ${MK_FLAGS} install
	cd ${.CURDIR}/usr.bin/xlint/lint2 && ${MAKE} ${MK_FLAGS} install
	cd ${.CURDIR}/usr.bin/xlint/xlint && ${MAKE} ${MK_FLAGS} install
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} ${MK_FLAGS} bootstrap && \
		${MAKE} ${MK_FLAGS} all install

reinstall:	hierarchy mk includes
d232 1
a232 1
	@@echo " Reinstall ${DESTDIR} The whole thing"
d236 1
a236 1
	cd ${.CURDIR}/share/man &&		${MAKE} makedb
a237 5
hierarchy:
	@@echo "--------------------------------------------------------------"
	@@echo " Making hierarchy"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}/etc &&		${MAKE} distrib-dirs
d239 6
d265 7
a271 2
cleandist:
.if !defined(NOCLEANDIR)
d273 1
a273 1
	@@echo " Cleaning up the source tree, and rebuilding the obj tree"
d275 14
a288 3
	cd ${.CURDIR} && ${MAKE} cleandir
	cd ${.CURDIR} && ${MAKE} obj
.endif
d290 6
d315 16
a330 18
most:
	@@echo "--------------------------------------------------------------"
	@@echo " Building programs only"
	@@echo "--------------------------------------------------------------"
	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} all
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} all
#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} most
#.endif
#.if !defined(NOSECURE) && !defined(NOCRYPT)
#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} most
#.endif
d332 3
a335 3
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR}/usr/share/mk"
	@@echo "--------------------------------------------------------------"
d338 26
a364 4
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR}/usr/include"
	@@echo "--------------------------------------------------------------"
	@@echo
d371 1
a371 1
	cd ${.CURDIR}/gnu/include &&		${MAKE}	install
d386 2
a387 2
	cd ${.CURDIR}/lib/libmytinfo &&		${MAKE}	beforeinstall
	cd ${.CURDIR}/lib/libncurses &&		${MAKE}	beforeinstall
d394 2
a395 2
	cd ${.CURDIR}/lib/libtcl &&		${MAKE}	beforeinstall
	cd ${.CURDIR}/lib/libtermcap &&		${MAKE}	beforeinstall
d398 2
a399 2
	cd ${.CURDIR}/lib/libscsi &&		${MAKE}	beforeinstall
	cd ${.CURDIR}/lib/libutil &&		${MAKE}	beforeinstall
d401 3
d405 12
a416 18
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding tools needed to build the libraries"
	@@echo "--------------------------------------------------------------"
	@@echo
	cd ${.CURDIR}/usr.bin/xinstall && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/ld && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/ar && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/ranlib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/nm && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/lex/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/compile_et && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} && \
d418 2
a419 2
	cd ${.CURDIR}/usr.bin/mk_cmds && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d421 3
a424 4
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR}/usr/lib"
	@@echo "--------------------------------------------------------------"
	@@echo
d426 2
a427 2
	cd ${.CURDIR}/lib/libcompat && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d430 2
a431 2
	cd ${.CURDIR}/lib/libncurses && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d434 6
a439 2
	cd ${.CURDIR}/lib/libtermcap && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d442 4
a445 4
	cd ${.CURDIR}/gnu/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d448 2
a449 2
	cd ${.CURDIR}/secure/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d452 2
a453 4
	cd ${.CURDIR}/lib/csu/i386 && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d456 2
a457 2
	cd ${.CURDIR}/usr.bin/lex/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d460 2
a461 2
	cd ${.CURDIR}/eBones/lib && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d464 2
a465 2
	cd ${.CURDIR}/usr.sbin/pcvt/keycap && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d468 4
a471 10
include-tools:
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuild tools necessary to build the include files"
	@@echo "--------------------------------------------------------------"
	@@echo
	cd ${.CURDIR}/usr.bin/xinstall && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/rpcgen && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}

d473 10
a482 16
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR} C compiler, make, symorder, sgmlfmt and zic(8)"
	@@echo "--------------------------------------------------------------"
	@@echo
	cd ${.CURDIR}/gnu/usr.bin/cc && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/make && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/symorder && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/sgmlfmt && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/share/sgml && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/usr.sbin/zic && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
@


1.89
log
@Add make to the bootstrap targets (I thought I committed this 3 days ago -
sheesh!).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.88 1996/06/28 05:36:00 phk Exp $
d315 1
a315 1
.if exists(usr.sbin/lex/lib)
@


1.88
log
@Add beforeinstall decent into libtcl
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.87 1996/06/27 06:00:52 peter Exp $
d123 1
@


1.87
log
@Comment out the:
 .if exists(contrib)
 SUBDIR+= contrib
 .endif
because it now tries to decend into the new contrib dir which doesn't
have a Makefile.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.86 1996/06/26 22:47:52 nate Exp $
d251 1
@


1.86
log
@Added libftpio to 'includes'.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.85 1996/06/24 04:22:10 jkh Exp $
d33 3
a35 3
.if exists(contrib)
SUBDIR+= contrib
.endif
@


1.85
log
@Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src.  This is the final version of the
patches, incorporating the feedback I've received from -current.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.84 1996/06/22 17:58:44 pst Exp $
d241 1
@


1.84
log
@Ask CVS to run in quiet mode, which makes it easier to see what the
update actually did.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.83 1996/06/20 18:47:04 jkh Exp $
d115 1
a115 1
	${MAKE} depend all install
d135 1
a135 1
	${MAKE} install
d169 2
a170 19
	@@echo
	here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
	if test -d /usr/obj -a ! -d $$dest; then \
		mkdir -p $$dest; \
	else \
		true; \
	fi; \
	cd $$dest && rm -rf ${SUBDIR}
	find . -name obj | xargs rm -rf
.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
	# The cd is done as local may well be a symbolic link
	-cd local && find . -name obj | xargs rm -rf
.endif
.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile)
	# The cd is done as local may well be a symbolic link
	-cd ports && find . -name obj | xargs rm -rf
.endif
	${MAKE} cleandir
	${MAKE} obj
d215 1
a215 1
	cd ${.CURDIR}/share/mk &&		${MAKE} install
@


1.83
log
@Add pre-world and post-world hooks so that people can do site specific
cleanup or preinitializion of /usr/src before and after the world target
is run.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.82 1996/06/20 13:38:15 adam Exp $
d161 1
a161 1
	cd ${.CURDIR} &&  cvs update -P -d
@


1.82
log
@libforms is no more
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.81 1996/06/19 21:19:56 nate Exp $
d105 6
a110 1
world:	hierarchy mk $(WORLD_CLEANDIST) bootstrap include-tools includes lib-tools libraries build-tools
d117 3
@


1.81
log
@Don't try to do a 'make bootstrap all install' in one commend.  Break it
into two make commands so that make will recognize that it doesn't need
to buid scan.c w/lex.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.80 1996/06/19 20:48:48 nate Exp $
a261 1
	cd ${.CURDIR}/lib/libforms &&		${MAKE}	beforeinstall
@


1.80
log
@Added lex to the bootstrap target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.79 1996/05/04 07:12:07 markm Exp $
d119 2
a120 1
	cd ${.CURDIR}/usr.bin/lex && ${MAKE} ${MK_FLAGS} bootstrap all install
@


1.79
log
@1) make -DCLOBBER not remove most of /usr/lib
2) make all the 'pre-targets' not install profiled libraries and man pages
   to speed up the bootstrap in a 'make world'
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.78 1996/03/24 13:16:45 paul Exp $
d119 1
@


1.78
log
@Re-instate the bootstrap target which can be used to build tools
that can't be built by older OS versions.

Use it to install the lint binaries.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.77 1996/03/11 14:59:10 jkh Exp $
d5 1
a5 1
#	-DCLOBBER will remove /usr/include and MOST of /usr/lib
d103 2
d115 4
a118 4
	cd ${.CURDIR}/usr.bin/xlint && ${MAKE} lint1 lint2 xlint
	cd ${.CURDIR}/usr.bin/xlint/lint1 && ${MAKE} install
	cd ${.CURDIR}/usr.bin/xlint/lint2 && ${MAKE} install
	cd ${.CURDIR}/usr.bin/xlint/xlint && ${MAKE} install
d270 1
a270 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d272 1
a272 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d274 1
a274 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d276 1
a276 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d278 1
a278 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d280 1
a280 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d282 1
a282 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} && \
d285 1
a285 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
a291 4
.if defined(CLOBBER)
	find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
		xargs rm -rf
.endif
d294 1
a294 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d298 1
a298 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d302 1
a302 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d306 1
a306 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d308 1
a308 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d312 1
a312 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d316 1
a316 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d318 1
a318 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d322 1
a322 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d326 1
a326 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d330 1
a330 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d339 1
a339 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d341 1
a341 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d349 1
a349 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d351 1
a351 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d353 1
a353 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d355 1
a355 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
d357 1
a357 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
d359 1
a359 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
@


1.77
log
@Add a hint that a make world is done so people don't think that the last
command (makewhatis) is running forver. :)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.76 1996/02/17 14:23:25 peter Exp $
d103 1
a103 1
world:	hierarchy mk $(WORLD_CLEANDIST) include-tools includes lib-tools libraries build-tools
d111 6
@


1.76
log
@do the 'include-tools' as part of the world target (like lib-tools and
build-tools) so that a "make includes" doesn't spam your build tree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.75 1996/02/11 08:58:01 markm Exp $
d110 1
@


1.75
log
@Remove reference to old des library.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.74 1996/01/30 05:46:35 nate Exp $
d103 1
a103 1
world:	hierarchy mk $(WORLD_CLEANDIST) includes lib-tools libraries build-tools
d215 1
a215 1
includes: include-tools
@


1.74
log
@Added 'install' to the inclde-tools target, as it has a new options "-C"
which is used when installing the include files.

Submitted by:	John Hay -- John.Hay@@csir.co.za
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.73 1996/01/30 05:22:00 nate Exp $
a319 2
	cd ${.CURDIR}/eBones/des && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
@


1.73
log
@Kludge alert!

Add new 'include-tools' target, which the 'includes' target depends on.
Currently, it consists of rpcgen.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.72 1996/01/01 08:33:17 peter Exp $
d335 2
@


1.72
log
@Add libutil/beforeinstall to the includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.71 1995/12/27 05:36:20 pst Exp $
d215 1
a215 1
includes:
d330 8
a345 2
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/rpcgen && \
@


1.71
log
@Add rpcgen to build-tools target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.70 1995/11/28 20:04:19 nate Exp $
d253 1
@


1.70
log
@Added 'install' to the lib-tools target since it is uses the new '-C' flag
to install libraries to avoid messing up dependencies.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.69 1995/11/26 07:31:13 jkh Exp $
d337 2
@


1.69
log
@Bring forward libkadm change from 2.1
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.68 1995/11/25 01:28:07 peter Exp $
d259 2
@


1.68
log
@Add -DNOCLEAN option which totally and utterly disables any form of
cleaning during a make.  This may give you more rope to hang yourself if
you are caught with some subtle dependency on installed binaries in your
build, but if you are doing daily 'make -DNOCLEAN world' it's not too bad
at all.  It could take as little as 30 minutes to do an entire sync-up of
your binaries if everything's up to date, especially if you are using
'INSTALL=install -C' in /etc/make.conf (highly recomended!).

Also, add a "reinstall" target. You can do a 'make DESTDIR=/mnt reinstall'
where /mnt is the nfs root of a machine and you get the install parts of
the make world run on it.

I saw this on -hackers quite some time ago and included it in my Makefile
and have been using it on and off for a while. Alas, I cannot find the
actual message with the author's name...
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.67 1995/11/09 09:58:17 jkh Exp $
d234 1
@


1.67
log
@Add: cd ${.CURDIR}/eBones/lib/libkrb && ${MAKE} beforeinstall
to includes target.  Now the world will build on a new 2.1 system again.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.66 1995/11/05 18:42:23 jfieber Exp $
d11 1
d90 6
d101 1
d103 1
a103 1
world:	hierarchy mk cleandist includes lib-tools libraries build-tools
d109 8
@


1.66
log
@Add sgmlfmt to build-tools target so a make world with current source
on a <= 2.0.5 system does not fall over.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.65 1995/10/26 09:24:59 phk Exp $
d217 1
@


1.65
log
@Changed "tools" to "build-tools".
Suggested by: Peter Wemm
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.64 1995/10/24 18:51:08 nate Exp $
d311 1
a311 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, symorder and zic(8)"
d320 4
@


1.64
log
@Build all of the libraries: targets libs in the same manner.  Append the
optional ${CLEANDIR} and ${OBJDIR} targets to those missng them.

Also, check for the existance of all library targets before building
them to follow convention.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.63 1995/10/24 08:37:28 phk Exp $
d95 1
a95 1
world:	hierarchy mk cleandist includes lib-tools libraries tools
d309 1
a309 1
tools:
@


1.63
log
@Added symorder to tools target.
Suggested by: rgrimes.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.62 1995/09/17 03:38:54 jkh Exp $
d268 1
a268 1
		${MAKE} depend all install
d272 1
a272 1
		${MAKE} depend all install
d276 1
a276 1
		${MAKE} depend all install
d294 1
d297 1
d306 1
a306 1
		 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
@


1.62
log
@Remove extraneous blank in libraries target (from 2.1).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.61 1995/09/16 23:22:39 gibbs Exp $
d309 1
a309 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, and zic(8)"
d315 2
@


1.61
log
@Update for the new location of eBones.

Submitted by: Paul Traina <pst@@freefall.freebsd.org>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.60 1995/09/15 01:09:59 ache Exp $
d299 1
a299 1
 	cd ${.CURDIR}/eBones/lib && \
@


1.60
log
@Enhance sup update to run with 3 supfiles: standard/ports/secure
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.59 1995/08/30 17:27:57 davidg Exp $
d299 1
a299 5
	cd ${.CURDIR}/eBones/acl && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/eBones/kdb && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/eBones/krb && \
@


1.59
log
@Brought forward the change in 1.57.4.1 - add build of zic(8) to tools rule..
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.58 1995/08/04 12:06:51 asami Exp $
d115 6
@


1.58
log
@We don't have libftp anymore, so why don't we stop trying to do a
make beforeinstall in it. :)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.57 1995/05/29 23:50:55 rgrimes Exp $
d307 1
a307 1
	@@echo " Rebuilding ${DESTDIR} Compiler and Make"
d313 2
@


1.57
log
@Remove trailing whitespace.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.56 1995/05/13 03:34:23 rgrimes Exp $
a228 1
	cd ${.CURDIR}/lib/libftp &&		${MAKE}	beforeinstall
@


1.57.4.1
log
@Added zic(8) to tools build rule.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.57 1995/05/29 23:50:55 rgrimes Exp $
d308 1
a308 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, and zic(8)"
a313 2
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.sbin/zic && \
@


1.57.4.2
log
@Brought in change from rev 1.58: remove libftp.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.57.4.1 1995/08/30 05:40:34 davidg Exp $
d229 1
@


1.57.4.3
log
@Update for the new directory structure of eBones.

Submitted by: Paul Traina <pst@@freefall.freebsd.org>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.57.4.2 1995/08/30 14:23:40 davidg Exp $
d293 5
a297 1
 	cd ${.CURDIR}/eBones/lib && \
@


1.57.4.4
log
@Somebody inserted a space into the libraries target for the eBones stuff,
causing make world to fall over.  Fix it.  This entire file needs to be
napalmed!  "Warty things too big, start over."
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.57.4.3 1995/09/16 23:24:31 gibbs Exp $
d293 1
a293 1
	cd ${.CURDIR}/eBones/lib && \
@


1.57.4.5
log
@Sync with main branch.
@
text
@d1 2
a2 1
#	$Id: Makefile,v 1.62 1995/09/17 03:38:54 jkh Exp $
a114 6
.if defined(SUPFILE1)
	@@sup -v ${SUPFILE1}
.endif
.if defined(SUPFILE2)
	@@sup -v ${SUPFILE2}
.endif
@


1.57.4.6
log
@Add sgmlfmt to the tools target so make world with 2.1 source
on a <= 2.0.5 machine doesn't fall over.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.5 1995/09/18 08:52:26 davidg Exp $
d308 1
a308 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, sgmlfmt, and zic(8)"
a314 4
	cd ${.CURDIR}/usr.bin/sgmlfmt && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/share/sgml && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
@


1.57.4.7
log
@Bring in change from the HEAD.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.6 1995/11/05 18:38:16 jfieber Exp $
a216 1
	cd ${.CURDIR}/eBones/lib/libkrb &&	${MAKE} beforeinstall
@


1.57.4.8
log
@Add:
	cd ${.CURDIR}/eBones/lib/libkadm &&     ${MAKE} beforeinstall

To includes target.  Move the other one inside the eBones .ifdef too; must
have been really sleepy before!

[Mark, you really don't need a diff for this - it's pretty obvious! :-)]
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.7 1995/11/09 10:57:04 jkh Exp $
d216 1
a217 2
	cd ${.CURDIR}/eBones/lib/libkadm &&	${MAKE} beforeinstall
.endif
@


1.57.4.9
log
@Add beforeinstall in libutil to the "includes" target, from -current
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.8 1995/11/10 03:06:55 jkh Exp $
a235 1
	cd ${.CURDIR}/lib/libutil &&		${MAKE}	beforeinstall
@


1.57.4.10
log
@Fix bootstrapping problem I introduced with stuff using install -C,
build/install xinstall before doing a 'beforeinstall' in includes.

allow "make -DNOCLEAN" to avoid the clean/cleandir/cleandist altogether

"tools" -> "build-tools" label to avoid the risk of "make tools" actually
seeing a stray "tools" directory when working with both -current and -stable

Obtained from: -current
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.9 1996/02/22 20:31:49 peter Exp $
a9 1
#	-DNOCLEAN to not clean anything at all
a87 6

.if defined(NOCLEAN)
CLEANDIR=
WORLD_CLEANDIST=obj
.else
WORLD_CLEANDIST=cleandist
a92 1
.endif
d94 1
a94 1
world:	hierarchy mk $(WORLD_CLEANDIST) include-tools includes lib-tools libraries build-tools
a242 2
	cd ${.CURDIR}/usr.bin/xinstall && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d309 1
a309 9
include-tools:
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding tools needed to build the includes"
	@@echo "--------------------------------------------------------------"
	@@echo
	cd ${.CURDIR}/usr.bin/xinstall && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}

build-tools:
@


1.57.4.11
log
@Add groff to build-tools target so we get eign installed.
Suggested by:	rgrimes
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.10 1996/02/27 20:51:58 peter Exp $
a338 2
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/gnu/usr.bin/groff && \
@


1.57.4.12
log
@Bring over verbose `make world' feature from -current.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.11 1996/05/09 06:15:02 jkh Exp $
a108 1
	@@echo "make world completed on `date`"
@


1.57.4.13
log
@Phase 2 of merge - also fix things broken in phase 1.
Watch out for falling rock until phase 3 is over!

libc completely merged except for phkmalloc & rfork (don't know if David
wants that).

Some include files in sys/ had to be updated in order to bring in libc.
@
text
@d1 1
a1 2
#
#	$Id: Makefile,v 1.79 1996/05/04 07:12:07 markm Exp $
d4 1
a4 1
#	-DCLOBBER will remove /usr/include
d10 1
a10 1
#	-DNOCLEAN do not clean at all
d102 1
a102 3
MK_FLAGS=	-DNOMAN -DNOPROFILE

world:	hierarchy mk $(WORLD_CLEANDIST) bootstrap include-tools includes lib-tools libraries build-tools
a108 1
	@@[ -f /etc/Makefile ] && ${MAKE} -f /etc/Makefile world
a110 14
bootstrap:
	cd ${.CURDIR}/usr.bin/xlint && ${MAKE} ${MK_FLAGS} lint1 lint2 xlint
	cd ${.CURDIR}/usr.bin/xlint/lint1 && ${MAKE} ${MK_FLAGS} install
	cd ${.CURDIR}/usr.bin/xlint/lint2 && ${MAKE} ${MK_FLAGS} install
	cd ${.CURDIR}/usr.bin/xlint/xlint && ${MAKE} ${MK_FLAGS} install

reinstall:	hierarchy mk includes
	@@echo "--------------------------------------------------------------"
	@@echo " Reinstall ${DESTDIR} The whole thing"
	@@echo "--------------------------------------------------------------"
	@@echo
	${MAKE} install
	cd ${.CURDIR}/share/man &&		${MAKE} makedb

d253 1
a253 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d255 1
a255 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d257 1
a257 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d259 1
a259 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d261 1
a261 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d263 1
a263 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d265 1
a265 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} && \
d268 1
a268 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d275 4
d281 1
a281 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d285 1
a285 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d289 1
a289 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d293 1
a293 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d295 1
a295 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d299 1
a299 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d303 1
a303 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d305 1
a305 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
a306 1
.if exists(usr.sbin/lex/lib)
d308 1
a308 2
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
.endif
d310 2
d313 1
a313 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d317 1
a317 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d322 1
a322 1
	@@echo " Rebuild tools necessary to build the include files"
d326 1
a326 3
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/rpcgen && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d330 1
a330 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, symorder, sgmlfmt and zic(8)"
d334 1
a334 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d336 1
a336 3
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/usr.bin/symorder && \
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
d338 1
a338 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 
d340 3
a342 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 
d344 1
a344 1
		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
@


1.57.4.14
log
@This 3rd mega-commit should hopefully bring us back to where we were.
I can get it to `make world' succesfully, anyway!
@
text
@d1 2
a2 1
#	$Id: Makefile,v 1.57.4.12 1996/05/21 15:44:17 jkh Exp $
d5 1
a5 1
#	-DCLOBBER will remove /usr/include and MOST of /usr/lib
d11 1
a11 1
#	-DNOCLEAN to not clean anything at all
d103 3
a105 1
world:	hierarchy mk $(WORLD_CLEANDIST) include-tools includes lib-tools libraries build-tools
d112 1
d115 14
d271 1
a271 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d273 1
a273 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d275 1
a275 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d277 1
a277 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d279 1
a279 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d281 1
a281 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d283 1
a283 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} && \
d286 1
a286 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
a292 4
.if defined(CLOBBER)
	find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \
		xargs rm -rf
.endif
d295 1
a295 1
		${MAKE} depend all install
d299 1
a299 1
		${MAKE} depend all install
d303 1
a303 1
		${MAKE} depend all install
d307 1
a307 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d309 1
a309 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d313 1
a313 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d317 1
a317 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d319 1
a319 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d321 1
d323 2
a324 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
a325 2
	cd ${.CURDIR}/eBones/des && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d327 1
a327 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d331 1
a331 1
		 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d336 1
a336 1
	@@echo " Rebuilding tools needed to build the includes"
d340 3
a342 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d346 1
a346 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, sgmlfmt, and zic(8)"
d350 1
a350 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d352 3
a354 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
d356 1
a356 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
d358 1
a358 3
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
	cd ${.CURDIR}/gnu/usr.bin/groff && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 
d360 1
a360 1
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
@


1.57.4.15
log
@Get rid of libforms (didn't notice the reference here).
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.14 1996/06/05 02:35:04 jkh Exp $
d243 1
@


1.57.4.16
log
@Remove reference to eBones/des, as this is now gone.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.15 1996/06/20 14:03:52 jkh Exp $
d309 2
@


1.57.4.17
log
@Add libftpio to 'includes'.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.16 1996/06/21 19:41:35 markm Exp $
a230 1
	cd ${.CURDIR}/lib/libftpio &&		${MAKE} beforeinstall
@


1.57.4.18
log
@Add missing includes: entries for gnu/lib/lib{gmp,mp}, lib/csu/${MACHINE},
lib/libdisk, and secure/lib/libdes.  Now a make -DCLOBBER includes _fully_
recreates /usr/include, which then allows the x2ph stuff to get all of the
files when DESTDIR is set.

Alphabetize the gnu/lib/lib* section of includes:
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.17 1996/06/26 22:48:47 nate Exp $
a218 4
	cd ${.CURDIR}/gnu/lib/libdialog &&	${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libg++ &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libgmp &&		${MAKE} beforeinstall
	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
d221 2
a227 1
	cd ${.CURDIR}/lib/csu/${MACHINE} &&	${MAKE} beforeinstall
a229 1
	cd ${.CURDIR}/lib/libdisk &&		${MAKE} beforeinstall
a245 3
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
	cd ${.CURDIR}/secure/lib/libdes &&	${MAKE}	beforeinstall
.endif
@


1.57.4.19
log
@Build c++rt0.o before libg++, just as in -current.
Pointed-Out-By: Don Lewis <Don.Lewis@@tsc.tdk.com>
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.18 1996/08/11 03:05:16 rgrimes Exp $
a297 6
.if exists(lib)
	cd ${.CURDIR}/lib/csu/i386 && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/lib && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
.endif
d306 6
@


1.57.4.20
log
@Remove sgml stuff from the build-tools target.  They are no longer
used in a make world.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.57.4.19 1996/11/08 06:08:10 jkh Exp $
d335 1
a335 1
	@@echo " Rebuilding ${DESTDIR} C compiler, make, and zic(8)"
d342 4
@


1.57.4.21
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.56
log
@Submitted by:	jkh

Build lib/libncurses and lib/libtermcap early in the libraries: target
as other libraries depend on them.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.55 1995/05/06 03:59:58 rgrimes Exp $
d5 1
a5 1
#	-DCLOBBER will remove /usr/include and MOST of /usr/lib 
d91 1
a91 1
.else 
@


1.55
log
@Add usr.sbin/pcvt/keycap to libraries: target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.54 1995/05/05 18:00:30 rgrimes Exp $
d263 8
@


1.54
log
@In target libraries: make and install libcompat before all other
libraries.  This fixes the make -DCLOBBER world problem.

Check that gnu exists before attempting to build the libraries in
that branch of the tree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.53 1995/04/27 11:25:48 jkh Exp $
d292 4
@


1.53
log
@Add libftp to list of beforeinstall targets in the include rule.
Submitted by:	John Hay <jhay@@mikom.csir.co.za>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.52 1995/03/28 18:14:17 sos Exp $
d261 5
d270 1
@


1.52
log
@Fixed most: target gnu/usr.sbin was install not all
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.51 1995/03/27 01:31:09 rgrimes Exp $
d229 1
@


1.51
log
@We must do include and lib first so that the perl *.ph generation
works correctly as it uses the header files installed by this.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.50 1995/03/23 23:40:29 rgrimes Exp $
d179 1
a179 1
	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} install
@


1.50
log
@Add gnu/usr.bin/ld to lib-tools: since you need this compiled very
early if you are running a back release.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.49 1995/03/23 19:03:02 rgrimes Exp $
d20 2
a21 1
# do include first.
d25 3
a39 3
.endif
.if exists(lib)
SUBDIR+= lib
@


1.49
log
@Fixed last defined(WANT_MSUN) -> !defined(WANT_CSRG_LIBM) in the src tree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.48 1995/03/19 17:24:24 ats Exp $
d234 2
@


1.48
log
@Correct one little typing error from Rod :-).
lib/lib/pcap -> lib/libpcap.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.47 1995/03/19 08:23:47 rgrimes Exp $
d217 1
a217 1
.if defined(WANT_MSUN)
@


1.47
log
@Add installation of include files from libpcap.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.46 1995/03/18 07:00:25 rgrimes Exp $
d220 1
a220 1
	cd ${.CURDIR}/lib/lib/pcap &&		${MAKE} beforeinstall
@


1.46
log
@Use new mtree file to rebuild /usr/include.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.45 1995/03/17 04:59:44 phk Exp $
d220 1
@


1.45
log
@Have include be the first $SUBDIR, this avoid install failure with the
kludgeous install rule in perl/x2p.

Pointed out by:	rgrimes
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.44 1995/03/14 21:32:46 roberto Exp $
d198 3
a200 4
	rm -rf ${DESTDIR}/usr/include
	mkdir ${DESTDIR}/usr/include
	chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include
	chmod 755 ${DESTDIR}/usr/include
@


1.44
log
@Add gnu/usr.sbin in the installmost and most targets.
Reviewed by:	roberto
Submitted by:	Remy.Card@@blaise.ibp.fr
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.43 1995/03/06 13:32:58 se Exp $
d20 5
a35 3
.endif
.if exists(include)
SUBDIR+= include
@


1.43
log
@Add missing double quote (") in "echo".

Submitted by:	wolf@@kintaro.cologne.de
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.42 1995/03/06 05:52:47 nate Exp $
d157 1
d176 1
@


1.42
log
@Since at least one utility depends on it (GNU diff), install the gnu regex
include file (gnuregex.h) in the includes target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.41 1995/02/26 01:27:27 phk Exp $
d227 1
a227 1
	@@echo " Rebuilding tools needed to build the libraries
@


1.41
log
@use etc:distrib-dirs instead of release:hierarchy.  remove SUBDIR reference
to release.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.40 1995/02/09 11:09:41 jkh Exp $
d202 1
@


1.40
log
@Eliminate a duplicate line.
Submitted by:	Heikki Suonsivu <hsu@@cs.hut.fi>
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.39 1995/01/24 22:30:37 ache Exp $
a19 5
# Must be first for "distribute" to work
.if exists(release)
SUBDIR+= release
.endif

d104 1
a104 1
	cd ${.CURDIR}/release &&		${MAKE} hierarchy
@


1.39
log
@Add libscsi to includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.38 1995/01/24 22:15:25 ache Exp $
a103 1

@


1.38
log
@Add libforms to includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.37 1995/01/21 23:01:19 wollman Exp $
d228 1
@


1.37
log
@`make world' fixes from Pat Barron, Mark Murray.
Closes PR #156.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.36 1995/01/20 20:28:31 wollman Exp $
d227 1
@


1.36
log
@Add libcom_err to `includes' target so CLOBBERing the  world works again (we
hope).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.35 1995/01/19 22:41:25 wollman Exp $
d226 1
d238 2
@


1.35
log
@Added `compile_et' and `mk_cmds' to lib-tools target, as they are needed
to build `libss'.  Also delete bogus old /usr/sbin/compile_et at this time
(sorry, it was the only way I could think of to make sure it died).
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.34 1995/01/13 21:00:05 wollman Exp $
d225 1
@


1.34
log
@Delete obsolete references to kerberosIV.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.33 1995/01/11 11:52:50 jkh Exp $
d236 5
@


1.33
log
@Ack!  Mk must go before cleandist in the world rule now.  Otherwise
cleandist will fall over at gnu/lib/libreadline/doc when bsd.info.mk
is not found.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.32 1995/01/03 22:03:25 nate Exp $
a7 1
# XXX1	-DMAKE_KERBEROS to build KerberosIV
a15 5
#
#
# XXX1	The kerberos IV off the 4.4-Lite tape (src/kerberosIV)
#	will not build successfully yet.  MAKE_KERBEROS should not be
#	defined.
a42 3
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS)
SUBDIR+= kerberosIV
.endif
a209 3
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS)
	cd ${.CURDIR}/kerberosIV/include &&	${MAKE} install
.endif
a262 10
.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS)
	cd ${.CURDIR}/kerberosIV/acl && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/kerberosIV/des && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/kerberosIV/kdb && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/kerberosIV/krb && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
.endif
@


1.32
log
@Added new lib-tools target used in make world which rebuilds and
installs 'ar', 'nm', and 'ranlib' to avoid bootstrapping problems from
the old utils which don't support the long archive names.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.31 1994/12/04 02:46:28 ache Exp $
d106 1
a106 1
world:	hierarchy cleandist mk includes lib-tools libraries tools
@


1.31
log
@Add libtermcap to includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.30 1994/11/14 20:52:54 phk Exp $
d106 1
a106 1
world:	hierarchy cleandist mk includes libraries tools
d237 12
@


1.30
log
@More changes for the "distribute" target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.29 1994/11/08 00:55:08 ache Exp $
d236 1
@


1.29
log
@Add gnu/include to includes target
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.28 1994/11/01 19:52:38 pst Exp $
d26 5
a36 4
.if exists(etc)
# XXX until etc vs release conversion is done
# SUBDIR+= etc
.endif
d78 5
@


1.28
log
@Make make world -DCLOBBER work again .. grrr
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.27 1994/10/15 21:19:56 wollman Exp $
d209 1
@


1.27
log
@For those who want a little more control over their build process...

Added two new targets, `most' and `mostinstall', which compile and
install (respectively) just the binaries from just the ``core'' parts
of the system.  This makes it easier to do something like the following
(which I do):

	# cd /usr/src
	# make obj depend
	(scrutinize make output)
	# make most
	# make mostinstall

...which will not confuse things by installing new libraries, /usr/share,
games, gcc (two extra times), and so on.  Obviously, if you do this, then
you have to be careful to watch for changes in include files and make macros,
and do the appropriate thing in those cases.  (It usually still doesn't
involve building GCC three times or libc six.)
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.26 1994/10/11 23:33:00 ache Exp $
d248 2
@


1.26
log
@Add libdialog to beforeinstall section
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.25 1994/10/08 15:08:14 ache Exp $
d154 36
@


1.25
log
@libmytinfo, libncurses added to 'make beforeinstall' sequence
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.24 1994/09/30 16:08:47 paul Exp $
d175 1
@


1.24
log
@If WANT_MSUN is defined then math.h needs to be installed from the
msun library.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.23 1994/09/29 21:20:12 pst Exp $
d185 2
@


1.23
log
@make includes needs to do a beforeinstall in libskey
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.22 1994/09/29 13:06:46 csgr Exp $
d185 3
@


1.22
log
@First level of changes for bringing in eBones (kerberos).
- Get rid of inverse logic (NOKERBEROS and NOEBONES) in src/makefile,
and replace with MAKE_KERBEROS and MAKE_EBONES.  (Far fewer contortions,
and both default to off.)  IF YOU WANT KERBEROS, YOU HAVE TO EXPLICITLY
DEFINE ONE OF THESE.
- Make Makefiles kerberos-aware.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.21 1994/09/23 09:00:35 rgrimes Exp $
d186 1
@


1.21
log
@Spell hierarchy correctly :-(.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.20 1994/09/23 08:36:37 rgrimes Exp $
d8 3
a12 1
# XXX2	-DNOKERBEROS do not build Kerberos
a16 1
#	-DNOEBONES do not make eBones (kerberosIV)
d18 4
a21 1
# XXX2	Mandatory, and Kerberos will not build sucessfully yet
a23 1
NOKERBEROS=	yes
d48 1
a48 1
.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
d51 1
a51 2
.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \
			&& !defined(NOEBONES)
d175 1
a175 1
.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
d178 3
a185 4
.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
			!defined(NOEBONES)
	cd ${.CURDIR}/eBones/include &&		${MAKE} beforeinstall
.endif
d210 1
a210 1
.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS)
d220 1
a220 2
.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \
			!defined(NOEBONES)
@


1.20
log
@Converted to use release/Makefile hieriarchy:.

Disabled SUBDIR+= etc until I get done with the conversion.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.19 1994/09/19 05:32:31 phk Exp $
d98 1
a98 1
world:	hieriarchy cleandist mk includes libraries tools
d107 1
a107 1
hieriarchy:
d109 1
a109 1
	@@echo " Making hieriarchy"
d111 1
a111 1
	cd ${.CURDIR}/release &&		${MAKE} hieriarchy
@


1.19
log
@Need to call on libmd in "includes" target.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.18 1994/09/16 20:24:15 wollman Exp $
d30 2
a31 1
SUBDIR+= etc
d98 1
a98 1
world:	directories cleandist mk includes libraries tools
d107 1
a107 1
directories:
d109 1
a109 1
	@@echo " Making directories"
d111 1
a111 1
	cd ${.CURDIR}/etc &&			${MAKE} distrib-dirs
@


1.18
log
@Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, and
arrange for that directory to get created by mtree.  Also, process secure
directory after all the others, because the programs there may overlay
ones installed from the main part of the tree.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.17 1994/09/12 05:17:15 rgrimes Exp $
d178 1
@


1.17
log
@Enable call to beforeinstall for libg++ and add one for libreadline.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.16 1994/09/09 20:29:20 csgr Exp $
d11 1
a56 3
.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
SUBDIR+= secure
.endif
d68 6
@


1.16
log
@Changes required for bringing in eBones (kerberosIV - des + des ;-))
- check for directory "eBones"
- add checks for define "NOEBONES"
- get includes and libraries targets set up.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.15 1994/09/03 02:38:28 paul Exp $
d166 2
a167 2
#XXX	cd ${.CURDIR}/gnu/lib/libg++ &&		${MAKE} beforeinstall
#XXX	cd ${.CURDIR}/gnu/usr.bin/cc/libobjc &&	${MAKE} beforeinstall
@


1.15
log
@Taken update rule out of world target so it doesn't try and sup and
update every time you build world if you've enabled it.

Merged all the gnu library targets into one. libg++ isn't in the
gnu/lib/Makefile anyway so it's still disabled.

Enabled building of lex library -- this was stopping make world working.

Submitted by:	Paul Richards
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.14 1994/08/26 20:44:12 paul Exp $
d14 1
d46 4
d168 1
a168 1
.if !defined(NOCRYPT) && !defined(NOKERBEROS)
d175 4
d203 1
a203 1
.if !defined(NOCRYPT) && !defined(NOKERBEROS)
d211 11
@


1.14
log
@Removed an echo about directories not being enabled.

I removed libkern for the libraries target in the last commit too but
forgot to mention it.
Reviewed by:
Submitted by:
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.13 1994/08/26 20:16:58 paul Exp $
d88 1
a88 1
world:	directories update cleandist mk includes libraries tools
d180 1
a180 8
	# XXX The whole GNU block should be doable in one command, as soon		# as libg++ works on FreeBSD 2.0 I will try that out
#XXX	cd ${.CURDIR}/gnu/lib/libg++ && \
#XXX		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/lib/libmalloc && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/lib/libreadline && \
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
	cd ${.CURDIR}/gnu/lib/libregex && \
d192 2
a193 4
	# You need the lex lib before you can build kerberosIV
#XXX	# We don't have lex in the 2.0 tree yet!
#XXX	cd ${.CURDIR}/usr.bin/lex/lib && \
#XXX		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
@


1.13
log
@Added an update target. It does nothing by default but you
can enable things in /etc/make.conf if you wish for those
who might want to use it.

directories has got enabled by this patch too whch I hadn't meant
to do but there's no harm in it since the mtree stuff has been
pulled over now.

Reviewed by:
Submitted by:
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.12 1994/08/25 14:45:46 paul Exp $
a100 1
	@@echo " XXX Not yet ready in 2.0.0"
@


1.12
log
@Added libkern to list of libraries to build.
Deleted mdec target, the bootblocks should get built during
the normal build process now that the sys/Makefile works.

Submitted by:	Paul Richards
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.11 1994/08/25 10:47:30 paul Exp $
d88 1
a88 1
world:	directories cleandist mk includes libraries tools
d96 1
d102 15
a116 1
# XXX	cd ${.CURDIR}/etc &&			${MAKE} distrib-dirs
a193 4
		${MAKE} depend all install ${CLEANDIR} ${OBJDIR}
.endif
.if exists(sys)
	cd ${.CURDIR}/sys/libkern && \
@


1.11
log
@Removed all refernces to *26 directories.
Reviewed by:
Submitted by:
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.10 1994/08/20 21:34:59 csgr Exp $
d88 1
a88 1
world:	directories cleandist mk includes libraries tools mdec
d181 5
d188 1
a212 17

mdec:
	@@echo "--------------------------------------------------------------"
	@@echo " Rebuilding ${DESTDIR}/usr/mdec"
	@@echo "--------------------------------------------------------------"
	@@echo
	@@echo " XXX Not yet ready in 2.0.0"
#XXX.if ${MACHINE} == "i386"
#XXX	# XXX Need to fix for obj case, src/sys/Makefile needs to be fixed to
#XXX	# traverse down into here and this can go away!
#XXX	cd ${.CURDIR}/sys/i386/boot &&	${MAKE} depend all install ${CLEANDIR}
#XXX.if defined (DESTDIR)
#XXX	# XXX Really need to fix the sys/i386/boot Makefile so this is not
#XXX	# necessary!!!
#XXX	cd /usr/mdec && find . | cpio -pdamuv ${DESTDIR}/usr/mdec
#XXX.endif
#XXX.endif
@


1.10
log
@- turn NOCRYPT off
- add NOSECURE and NOKERBEROS
- turn NOKERBEROS on
- add secure directory

(NOCRYPT now has a blanket effect over src/secure and src/kerberosIV,
while NOSECURE and NOKERBEROS control these indiviually.)
Submitted by:	Geoff
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.9 1994/08/16 02:55:14 jkh Exp $
d148 1
a148 1
#XXX	cd ${.CURDIR}/gnu/usr.bin/cc26/libobjc &&	${MAKE} beforeinstall
d175 1
a175 1
	cd ${.CURDIR}/gnu/usr.bin/cc26/libgcc && \
d203 1
a203 1
	cd ${.CURDIR}/gnu/usr.bin/cc26 && \
@


1.9
log
@Whoops, nuke libobjc until we have it too.
Submitted by:	jkh
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.8 1994/08/14 16:53:33 jkh Exp $
d9 2
a10 1
# XXX1	-DNOCRYPT will prevent building of crypt versions (BROKEN RIGHT NOW)
d13 1
d15 1
a15 3
# XXX1	This has not yet been implemented in FreeBSD 2.0.0, the only way
#	to build the system is with full crypt and KerberosIV
#
d18 1
a18 1
NOCRYPT=	yes
d42 1
a42 1
.if exists(kerberosIV) && !defined(NOCRYPT)
d51 3
d149 1
a149 1
.if !defined(NOCRYPT)
d177 4
d187 1
a187 1
.if !defined(NOCRYPT)
@


1.8
log
@cc -> cc26 for now.
Submitted by:	jkh
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.7 1994/08/14 16:52:44 jkh Exp $
d145 1
a145 1
	cd ${.CURDIR}/gnu/usr.bin/cc26/libobjc &&	${MAKE} beforeinstall
@


1.7
log
@Kill an errant libg++ entry.
Submitted by:	jkh
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.6 1994/08/13 22:47:28 jkh Exp $
d145 1
a145 1
	cd ${.CURDIR}/gnu/usr.bin/cc/libobjc &&	${MAKE} beforeinstall
d172 1
a172 1
	cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \
d196 1
a196 1
	cd ${.CURDIR}/gnu/usr.bin/cc && \
@


1.6
log
@This is the first attempt to drag the top level Makefile Rod sent me
into 2.0.  It will surely need more work.
Submitted by:	jkh
@
text
@d2 1
a2 1
#	$Id$
d144 1
a144 1
	cd ${.CURDIR}/gnu/lib/libg++ &&		${MAKE} beforeinstall
@


1.5
log
@Remove kerberosIV until it works or is replace with eBones..  It's
hosing my build worlds..
Submitted by:	jkh
@
text
@d1 15
a15 1
#	@@(#)Makefile	8.1 (Berkeley) 6/19/93
d17 3
a19 2
SUBDIR=	bin gnu include lib libexec sbin \
	share usr.bin usr.sbin
d21 196
a216 2
afterinstall:
	(cd share/man && make makedb)
a217 7
build:
	(cd include && make install)
	make cleandir
	(cd lib && make depend && make && make install)
	(cd kerberosIV && make depend  && make && make install)
	make depend && make && make install
	
@


1.4
log
@Remove `old' directory.
Submitted by:	jkh
@
text
@d3 1
a3 1
SUBDIR=	bin gnu include kerberosIV lib libexec sbin \
@


1.3
log
@Whap games too, for now.  As people add this stuff back, they can
change the Makefiles, but I'm trying to get as much of the world to
build as possible at the moment.
Submitted by:	jkh
@
text
@d3 1
a3 1
SUBDIR=	bin gnu include kerberosIV lib libexec old sbin \
@


1.2
log
@Remove contrib, add gnu to reflect current state of the tree so that I can
at least build obj links from the top.
Submitted by:
@
text
@d3 1
a3 1
SUBDIR=	bin games gnu include kerberosIV lib libexec old sbin \
@


1.1
log
@Initial revision
@
text
@d3 1
a3 1
SUBDIR=	bin contrib games include kerberosIV lib libexec old sbin \
@


1.1.1.1
log
@BSD 4.4 Lite Top Level Sources
@
text
@@
