forked from Prajna/mach
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mach3_build.ps
2274 lines (2274 loc) · 48.7 KB
/
mach3_build.ps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!PS-Adobe-2.0
%%Title: mach3_build.mss
%%DocumentFonts: (atend)
%%Creator: Mary Thompson and Scribe 7(1700)
%%CreationDate: 18 June 1993 17:07
%%Pages: (atend)
%%EndComments
% PostScript Prelude for Scribe.
/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def
/ES {showpage SV restore} bind def
/SC {setrgbcolor} bind def
/FMTX matrix def
/RDF {WFT SLT 0.0 eq
{SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}
{SSZ 0.0 SLT neg sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}
ifelse makefont setfont} bind def
/SLT 0.0 def
/SI { /SLT exch cvr def RDF} bind def
/WFT /Courier findfont def
/SF { /WFT exch findfont def RDF} bind def
/SSZ 1000.0 def
/SS { /SSZ exch 100.0 mul def RDF} bind def
/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def
/MT /moveto load def
/XM {currentpoint exch pop moveto} bind def
/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto
setlinewidth 0.0 rlineto stroke grestore} bind def
/LH {gsave newpath moveto setlinewidth
0.0 rlineto
gsave stroke grestore} bind def
/LV {gsave newpath moveto setlinewidth
0.0 exch rlineto
gsave stroke grestore} bind def
/BX {gsave newpath moveto setlinewidth
exch
dup 0.0 rlineto
exch 0.0 exch neg rlineto
neg 0.0 rlineto
closepath
gsave stroke grestore} bind def
/BX1 {grestore} bind def
/BX2 {setlinewidth 1 setgray stroke grestore} bind def
/PB {/PV save def newpath translate
100.0 -100.0 scale pop /showpage {} def} bind def
/PE {PV restore} bind def
/GB {/PV save def newpath translate rotate
div dup scale 100.0 -100.0 scale /showpage {} def} bind def
/GE {PV restore} bind def
/FB {dict dup /FontMapDict exch def begin} bind def
/FM {cvn exch cvn exch def} bind def
/FE {end /original-findfont /findfont load def /findfont
{dup FontMapDict exch known{FontMapDict exch get} if
original-findfont} def} bind def
/BC {gsave moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath clip} bind def
/EC /grestore load def
/SH /show load def
/MX {exch show 0.0 rmoveto} bind def
/W {0 32 4 -1 roll widthshow} bind def
/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def
/RC {100.0 -100.0 scale
612.0 0.0 translate
-90.0 rotate
.01 -.01 scale} bind def
/URC {100.0 -100.0 scale
90.0 rotate
-612.0 0.0 translate
.01 -.01 scale} bind def
/RCC {100.0 -100.0 scale
0.0 -792.0 translate 90.0 rotate
.01 -.01 scale} bind def
/URCC {100.0 -100.0 scale
-90.0 rotate 0.0 792.0 translate
.01 -.01 scale} bind def
%%EndProlog
%%Page: 0 1
BS
0 SI
15 /Helvetica-Bold AF
24222 8294 MT
(Building Mach 3.0)SH
10 /Helvetica AF
26488 10647 MT
(Mary R.Thompson)SH
27570 12330 MT
(18 June 1993)SH
12 /Helvetica-Bold AF
7200 16085 MT
(1. Introduction)SH
10 /Helvetica AF
8312 17511 MT
(We have now switched our Makefiles to use)
112 W( the OSF/ODE make program and OSF style Makefiles.)111 W
7200 18937 MT
(This make program is basically the one by Adam De)
49 W( Boor that was released on the BSD 4.3-Reno tape.)50 W
7200 20363 MT
(The OSF modified it to support CMU style object and shadow directories. The version we are)
20 W( using came)19 W
7200 21789 MT
(from the OSF DCE v 2.1 tape. The programs are)
52 W( all available without license restrictions and have been)53 W
7200 23215 MT
(placed in the)73 W
/Helvetica-Oblique SF
13367 XM
(buildtools/ode)SH
/Helvetica SF
19888 XM
(directory. Currently they are used to build themselves, the mk, ux, user and)73 W
7200 24641 MT
(BNR-server \050bsdss\051. We have also switched to use gcc 2.3.3 for)
132 W( all our compilations. Sources for this)133 W
7200 26067 MT
(compiler are)
26 W( in)25 W
/Helvetica-Oblique SF
14111 XM
(buildtools/gnu)SH
/Helvetica SF
(. You can build it yourself and install it where you want it or you can use the)25 W
7200 27493 MT
(binary version we provide)
568 W( in the mach3.release collection. External users need to setenv)569 W
7200 28919 MT
(GCC_EXEC_PREFIX <your_installation_dir>/@sys/lib/lib-gcc/, since otherwise gcc will try to find it's)271 W
7200 30345 MT
(components in)
1789 W( /afs/cs.cmu.edu/project/mach3/latest/release/@sys/lib/lib-gcc/, followed by)1790 W
7200 31771 MT
(/usr/local/lib/gcc-lib and /usr/lib/gcc.)SH
8312 34338 MT
(Once all the tools are installed, the procedure for building components of the system is)
62 W( to run a script)61 W
7200 35764 MT
(that sets a number of environment variables that the Makefiles depend on, then switch to)
111 W( the directory)112 W
7200 37190 MT
(containing the sources of the target to be built, and type)SH
/Helvetica-Oblique SF
32104 XM
(odemake)SH
/Helvetica SF
(.)SH
8312 39757 MT
(There are several documents to)
119 W( help you understand how this process works. There are OSF man)118 W
7200 41183 MT
(pages on make.1 and makefiles.5, a man page on the additional makefiles for the)
52 W( mach3 project, a man)53 W
7200 42609 MT
(page for setvar.1 and a postscript tutorial by Adam de Boor on the make program.)SH
12 /Helvetica-Bold AF
7200 46364 MT
(2. Bootstraping the ODE tools)SH
10 /Helvetica AF
8312 47790 MT
(This section can be skipped if binary versions of the following tools)
115 W( are already available:)114 W
/Helvetica-Oblique SF
49550 XM
(gcc 2.3.3,)114 W
7200 49216 MT
(odemake, genpath, makepath, md, release, wh)722 W
/Helvetica SF
32655 XM
(and)SH
/Helvetica-Oblique SF
35324 XM
(setvar)SH
/Helvetica SF
(. At CMU these files are in)723 W
7200 50642 MT
(/afs/cs/project/mach3/{latest,alpha}/release/@sys. External to CMU they can be obtained)
71 W( by supping the)70 W
7200 52068 MT
(mach3.release collection.)SH
8312 54635 MT
(The ODE tools were designed by the OSF to be portable to different machines and versions of Unix.)85 W
7200 56061 MT
(The first step in this process is to build the tools themselves. A script \050or set of scripts\051)
17 W( has been provided)16 W
7200 57487 MT
(for this purpose. The)
32 W( first script is)33 W
/Helvetica-Oblique SF
22743 XM
(setup.sh)SH
/Helvetica SF
26834 XM
(which we have placed in the)33 W
/Helvetica-Oblique SF
39816 XM
(buildtools/ode/setup)SH
/Helvetica SF
49021 XM
(directory. It)33 W
7200 58913 MT
(is called with a)217 W
/Helvetica-Oblique SF
14848 XM
(context)SH
/Helvetica SF
18567 XM
(argument which defines the machine)
217 W( and host OS, in our case it is one of)216 W
/Helvetica-Oblique SF
7200 60339 MT
(i386_mach, i386_bnr, pmax_mach, sun3_mach, sun4_mach, vax_mach, luna88k_mach)953 W
/Helvetica SF
53111 XM
(or)SH
/Helvetica-Oblique SF
7200 61765 MT
(pmax_mach_X_alpha)SH
/Helvetica SF
(. The)350 W
/Helvetica-Oblique SF
19814 XM
(setup.sh)SH
/Helvetica SF
23908 XM
(script runs a sub-script,)36 W
/Helvetica-Oblique SF
34666 XM
(<context>/setup.sh)SH
/Helvetica SF
43430 XM
(which is)
36 W( used to set the)35 W
7200 63191 MT
(machine and OS specific variables.)
87 W( If you are trying to build the tools on a platform other than Mach or)88 W
7200 64617 MT
(BNR you should create a customized script for your new context.)SH
8312 67184 MT
(The location and procedure for running)
118 W( the setup script is pretty inflexible since it needs to set up a)117 W
7200 68610 MT
(directory structure and know where the sources are. The directory)
262 W( structure \050which may be rooted)263 W
7200 70036 MT
(wherever you wish\051 that it assumes is as follows:)SH
/Courier SF
9424 71614 MT
(src/{buildtools,mk,ux,user,bsdss}/...)SH
ES
%%Page: 1 2
BS
0 SI
10 /Helvetica-Bold AF
30322 4329 MT
(1)SH
/Courier SF
9424 7824 MT
(src/buildtools/ode/{setup,mk,bin,lib})SH
9424 8967 MT
(obj/<context>/{buildtools,mk,ux,user,bsdss}/...)SH
9424 10110 MT
(release/<context>/{bin,lib,include,etc,man,special}/...)SH
9424 11253 MT
(export/<context>/{bin,include,lib,special}/...)SH
/Helvetica SF
8312 13820 MT
(Actually the)101 W
/Helvetica-Oblique SF
13960 XM
(setup.sh)SH
/Helvetica SF
18118 XM
(script only cares about the source directory names in the ode subdirectory and)100 W
7200 15246 MT
(the location of the object directory. There must be a)157 W
/Helvetica-Oblique SF
32272 XM
(Makeconf)SH
/Helvetica SF
37042 XM
(file in the)157 W
/Helvetica-Oblique SF
41793 XM
(src/buildtools)SH
/Helvetica SF
48063 XM
(directory that)157 W
7200 16672 MT
(specifies)SH
/Helvetica-Oblique SF
11368 XM
(MAKEOBJDIR)SH
/Helvetica SF
18147 XM
(to match where)SH
/Helvetica-Oblique SF
25261 XM
(setup.sh)SH
/Helvetica SF
29319 XM
(believes it is.)SH
8312 19239 MT
(To run the setup script you should)SH
/Courier SF
9600 20645 MT
(cd src/buildtools/ode/setup)SH
9600 21676 MT
(sh -x setup.sh <context> >& log &)SH
/Helvetica SF
8312 24243 MT
(The script will create all the)582 W
/Helvetica-Oblique SF
24141 XM
(obj, release)582 W
/Helvetica SF
30752 XM
(and)SH
/Helvetica-Oblique SF
33280 XM
(export)SH
/Helvetica SF
36919 XM
(directories that it)
582 W( needs, use the)581 W
/Helvetica-Oblique SF
7200 25669 MT
(bin/make/bootstrap.sh)SH
/Helvetica SF
17467 XM
(script to build)
151 W( make, install make in)152 W
/Helvetica-Oblique SF
34312 XM
(export/<context>/bin/odemake)SH
/Helvetica SF
(, which it has)152 W
7200 27095 MT
(added to)163 W
/Helvetica-Oblique SF
11696 XM
(PATH)SH
/Helvetica SF
(. The)163 W
/Helvetica-Oblique SF
17246 XM
(bootstrap.sh)SH
/Helvetica SF
23190 XM
(script defines some variables dependent on the)163 W
/Helvetica-Oblique SF
45564 XM
(context)SH
/Helvetica SF
(. If)
163 W( you are)162 W
7200 28521 MT
(building in a new)46 W
/Helvetica-Oblique SF
15111 XM
(context)SH
/Helvetica SF
18660 XM
(you will need to modify this script. It then uses this)47 W
/Helvetica-Oblique SF
41631 XM
(odemake)SH
/Helvetica SF
46069 XM
(and the Makefiles)47 W
7200 29947 MT
(in)SH
/Helvetica-Oblique SF
8876 XM
(ode/setup/mk)SH
/Helvetica SF
15777 XM
(to build)620 W
/Helvetica-Oblique SF
20518 XM
(genpath, makepath, release, md)619 W
/Helvetica SF
37613 XM
(and)SH
/Helvetica-Oblique SF
40178 XM
(wh)SH
/Helvetica SF
42353 XM
(and to install them in)619 W
/Helvetica-Oblique SF
7200 31373 MT
(export/<context>/bin)SH
/Helvetica SF
(.)SH
8312 33940 MT
(The version of gcc 2.3.3 we provide is the)
62 W( standard gnu release, with some configuration changes for)63 W
7200 35366 MT
(Mach. The)
278 W( gnu directory contains scripts and instructions on how to do build it.)SH
8312 37933 MT
(At this point you have the bootstrap tools that are needed to build the rest of the system. You still need)22 W
7200 39359 MT
(to have the standard Unix tools:)147 W
/Helvetica-Oblique SF
22423 XM
(csh, sed, yacc, lex, awk, tar)147 W
/Helvetica SF
35810 XM
(and an assembler and)
147 W( loader available.)148 W
7200 40785 MT
(Now you should run the setvar script and build the)
138 W( complete buildtools directory. This will rebuild the)137 W
7200 42211 MT
(odetools plus a few additional things depending on what platform you are building on.)SH
12 /Helvetica-Bold AF
7200 45966 MT
(3. Setting the environment for odemake)SH
11 SS
7200 49648 MT
(3.1. setvar)SH
10 /Helvetica AF
8312 51074 MT
(The ODE make and makefiles)
452 W( depend on certain environment variables. A set of scripts,)453 W
/Helvetica-Oblique SF
7200 52500 MT
(buildtools/ode/setup/{setvar.csh,<context>/setvar.csh})SH
/Helvetica SF
31510 XM
(have been provided which)
130 W( make sure that all the)129 W
7200 53926 MT
(necessary target directories exist, exec a shell and set the necessary variables.)SH
8312 56493 MT
(There are three different situations in which the build may take place.)SH
9424 57894 MT
(1.)SH
10536 XM
(Everything is in the local source, export or release area. This includes all the)
200 W( tools we)201 W
10536 59037 MT
(provide and whatever exported includes or libs are needed.)SH
9424 60852 MT
(2.)SH
10536 XM
(The local area contains all the sources of)
105 W( the programs that are to be built, but tools and)104 W
10536 61995 MT
(includes or libraries from other areas are to be found in a complete system release area.)SH
9424 63810 MT
(3.)SH
10536 XM
(The local)
125 W( area is a shadow of some system release area, and contains only the sources)126 W
10536 64953 MT
(that are different from the originals. In this case sources as well as tools, libs and includes)66 W
10536 66096 MT
(are to come from the system release area, unless they exist in the local area.)SH
8312 68663 MT
(setvar can be called with a variety of arguments to deal with these cases.)SH
ES
%%Page: 2 3
BS
0 SI
10 /Helvetica-Bold AF
30322 4329 MT
(2)SH
/Courier SF
9600 7824 MT
(setvar.csh [-basedir <dir>] [-masterbase <dir> ])SH
16200 8855 MT
([-systembase <dir> ] [-makesyspath <dir>])SH
16200 9886 MT
([-target <machine>] <host_context>)SH
/Helvetica SF
8312 12453 MT
(The options are:)SH
7200 14325 MT
(-basedir <dir>:)SH
16096 XM
(the base of the tree which contains the local src,)
59 W( obj and export directories. Defaults)60 W
16096 15468 MT
(to the parent of a superior)SH
/Helvetica-Oblique SF
27825 XM
(src)SH
/Helvetica SF
29436 XM
(directory.)SH
7200 17094 MT
(-masterbase <dir>:)SH
16096 XM
(when shadowing set this to the)
30 W( base of the source and release directory that is being)29 W
16096 18237 MT
(shadowed.)SH
7200 19863 MT
(-systembase <dir>:)SH
16096 XM
(is the base of the tree)
146 W( that contains a current system release. When shadowing a)147 W
16096 21006 MT
(fully built)
18 W( release area this variable does not need to be set, since anything that is not)17 W
16096 22149 MT
(in the local)
84 W( area should be found in either the master/release area or on the default)85 W
16096 23292 MT
(PATH. If)
306 W( not shadowing and this variable is not set,)
14 W( then a bootstrap script should be)13 W
16096 24435 MT
(run to get)
21 W( the the system tools and include files generated and released into the local)22 W
16096 25578 MT
(export directory.)SH
7200 27204 MT
(-makesyspath <dir>:)SH
16096 28347 MT
(is a list of directories \050separated by ':'s\051 that)
62 W( is searched by odemake to find the .mk)63 W
16096 29490 MT
(rules files. Defaults to)
675 W( <basedir>/export/<host_context>/lib/mk, followed by)674 W
16096 30633 MT
(masterbase/release if shadowing, and systembase if it was given.)SH
7200 32259 MT
(-target <machine>:)SH
16096 XM
(should only)
22 W( be used when cross-building and the target_machine is different from the)23 W
16096 33402 MT
(host_machine. Otherwise)
278 W( target_machine is set from the host_context)SH
7200 35028 MT
(-savepath:)SH
16096 XM
(if set, the current PATH will be added to the end)
133 W( of the PATH that is set here. By)132 W
16096 36171 MT
(default PATH will only contain the minimum necessary to build.)SH
7200 37797 MT
(-help:)SH
16096 XM
(prints a brief help message)SH
7200 39423 MT
(host_context:)SH
16096 XM
(is host_machine_os specification that)
345 W( selects sub setvar.csh that sets machine)346 W
16096 40566 MT
(specific variables such as HOST_MACHINE, target_machine,)
49 W( target_cpu and default)48 W
16096 41709 MT
(search paths.)SH
8312 44276 MT
(For example:)SH
8312 46843 MT
(Case 1: where everything is local in the directory /mach3/{src,export,release})SH
/Courier SF
9600 48249 MT
(cd /mach3/src)SH
9600 49280 MT
(/mach3/export/i386_mach/etc/setup/setvar i386_mach)SH
/Helvetica SF
8312 51847 MT
(Case 2: /usr/mrt/mach3 is contains all the sources for a kernel build but)
64 W( other tools are to be found in)65 W
7200 53273 MT
(the system release area, /afs/cs/project/mach3/latest/release.)SH
/Courier SF
9600 54679 MT
(cd /usr/mrt/mach3/src)SH
9600 55710 MT
(alias sv `/afs/cs/project/mach3/latest/release/@sys/etc/setup/setvar`)SH
9600 56741 MT
(sv -systembase /afs/cs/project/mach3/latest/release/@sys i386_mach)SH
/Helvetica SF
8312 59308 MT
(Case 3: /mach3 is a local shadow area for a)
664 W( kernel build and the master area is)663 W
7200 60734 MT
(/afs/cs/project/mach3/latest.)SH
/Courier SF
9600 62140 MT
(alias sv `/afs/cs/project/mach3/latest/release/@sys/etc/setup/setvar`)SH
9600 63171 MT
(sv -basedir /mach3 -masterbase /afs/cs/project/mach3/latest i386_mach)SH
11 /Helvetica-Bold AF
7200 66853 MT
(3.2. Environment variables)SH
10 /Helvetica AF
8312 68279 MT
(The following environment variables are set by)SH
/Helvetica-Oblique SF
29209 XM
(context)SH
/Helvetica SF
(/setvar.csh)SH
7200 70151 MT
(HOST_MACHINE,TARGET_MACHINE,target_machine,TARGET_CPU,target_cpu)SH
16096 71294 MT
(type of machine)SH
ES
%%Page: 3 4
BS
0 SI
10 /Helvetica-Bold AF
30322 4329 MT
(3)SH
/Helvetica SF
7200 7929 MT
(TARGET_OS,target_os)SH
16096 9072 MT
(set to mach)SH
7200 10698 MT
(DEFCPATH)SH
16096 XM
(Default path to search for include files.)SH
7200 12324 MT
(OBJECT_FORMAT)SH
16096 XM
(format objects are to be built-in. e.g A_OUT, COFF, MACH_O)SH
7200 13950 MT
(ARCHIVE_FORMAT)SH
16096 15093 MT
(format of archive files. e.g. BSDARCH,)SH
7200 16719 MT
(Some flags for porting the ODE tools)SH
8312 19286 MT
(The following environment variables are set by setvar.csh)SH
7200 21158 MT
(PATH)SH
16096 XM
(Path to be searched for binaries. This is the export directory, the release directory)141 W
16096 22301 MT
(and whatever DEFPATH was set for this system.)SH
7200 23927 MT
(CPATH)SH
16096 XM
(Path to be searched for include files. Used by the C preprocessor.)SH
7200 25553 MT
(LPATH)SH
16096 XM
(Path to be searched to find crt0.o and migcom.)SH
7200 27179 MT
(INCDIRS)SH
16096 XM
(a list of -Idirs to be passed to the pre-processor instead of relying on)SH
/Helvetica-Oblique SF
46499 XM
(CPATH)SH
/Helvetica SF
7200 28805 MT
(LIBDIRS)SH
16096 XM
(a list of -Ldirs to be passed to the loader instead of relying on)SH
/Helvetica-Oblique SF
43388 XM
(LPATH)SH
/Helvetica SF
7200 30431 MT
(PROJECT_NAME,project_name)SH
16096 31574 MT
(Selects the project)
890 W( specific make rules by causing the inclusion of)889 W
16096 32717 MT
(osf.<project_name>.mk into the makefiles.)
378 W( Set to mach3 for all the Mach 3.0)379 W
16096 33860 MT
(collections.)SH
7200 35486 MT
(RULES_MK)SH
16096 XM
(the name of the stardard make rules file to start the includes in. It is)
36 W( set to osf.std.mk)35 W
16096 36629 MT
(which is looked for in the MAKESYSPATH directory.)
18 W( This)
316 W( is used instead of the BSD)19 W
16096 37772 MT
(standard sys.mk.)SH
7200 39398 MT
(EXPORTBASE, SOURCEBASE, OBJECTDIR)SH
16096 40541 MT
(bases of)
4 W( the respective trees. SOURCEBASE and OBJECTDIR are used by)5 W
/Helvetica-Oblique SF
50108 XM
(genpath)SH
/Helvetica SF
(.)SH
16096 41684 MT
(OBJECTDIR is also used by Makeconf.)SH
7200 43310 MT
(SOURCEDIR)SH
16096 XM
(Can be set to define a backing directory)
204 W( for the sources. Used by genpath and)203 W
16096 44453 MT
(Makeconf)SH
8312 47020 MT
(In an OSF environment, the)SH
/Helvetica-Oblique SF
20874 XM
(setvar.csh)SH
/Helvetica SF
25709 XM
(script is replaced by rc-files and the)SH
/Helvetica-Oblique SF
41659 XM
(workon)SH
/Helvetica SF
45160 XM
(program.)SH
12 /Helvetica-Bold AF
7200 50775 MT
(4. Building from a set of sources)SH
10 /Helvetica AF
8312 52201 MT
(The basic procedure for building from a set of Mach 3.0 sources is to execute)
40 W( the)41 W
/Helvetica-Oblique SF
45082 XM
(setvar.csh)SH
/Helvetica SF
49958 XM
(script, cd)41 W
7200 53627 MT
(to the directory in which the sources are to be found and type)SH
/Helvetica-Oblique SF
34548 XM
(odemake)SH
/Helvetica SF
(.)SH
/Helvetica-Oblique SF
8312 56194 MT
(odemake)SH
/Helvetica SF
12778 XM
(will descend down)
75 W( the subtree as specified in the)74 W
/Helvetica-Oblique SF
35401 XM
(EXP{BIN,INC,LIB}_SUBDIRS)SH
/Helvetica SF
48869 XM
(variables in)74 W
7200 57620 MT
(the Makefile, first)
79 W( building and exporting any export targets, and then into the)80 W
/Helvetica-Oblique SF
42423 XM
(SUBDIRS)SH
/Helvetica SF
47226 XM
(list building the)80 W
7200 59046 MT
(rest of the targets. Once all the exported targets are)
56 W( in place, individual targets can be built by)55 W
/Helvetica-Oblique SF
50221 XM
(cd)SH
/Helvetica SF
('ing to)55 W
7200 60472 MT
(the source directory and typing)SH
/Helvetica-Oblique SF
21151 XM
(odemake <target>)SH
/Helvetica SF
(.)SH
8312 63039 MT
(The target)38 W
/Helvetica-Oblique SF
13224 XM
(export_all)SH
/Helvetica SF
17875 XM
(will do only the exporting passes, and the target)38 W
/Helvetica-Oblique SF
39617 XM
(export_<file>)SH
/Helvetica SF
45714 XM
(will export a single)39 W
7200 64465 MT
(file or program. The target)91 W
/Helvetica-Oblique SF
19862 XM
(install_all)SH
/Helvetica SF
24343 XM
(along with a)91 W
/Helvetica-Oblique SF
30229 XM
(TOSTAGE)SH
/Helvetica SF
35376 XM
(argument will release everything that has)90 W
7200 65891 MT
(been previously built to the)SH
/Helvetica-Oblique SF
19373 XM
(TOSTAGE)SH
/Helvetica SF
24430 XM
(area. See)
278 W( the man page makefiles\0505\051 for more possible targets.)SH
8312 68458 MT
(The following sections describe in detail the build steps for the micro-kernel \050mk)
132 W( tree\051 and the unix-)133 W
7200 69884 MT
(server \050ux tree\051. You do not really need to understand this unless you want to modify these programs.)SH
ES
%%Page: 4 5
BS
0 SI
10 /Helvetica-Bold AF
30322 4329 MT
(4)SH
11 SS
7200 8002 MT
(4.1. Make variables)SH
10 /Helvetica AF
8312 9428 MT
(The)SH
/Helvetica-Oblique SF
10451 XM
(odemake)SH
/Helvetica SF
14980 XM
(envrionment uses a set of)
138 W( standard rules files that define lots of variables as well as)137 W
7200 10854 MT
(standard rules.)
423 W( These files are included by the)424 W
/Courier SF
31323 XM
(.include <${RULES_MK}>)424 W
/Helvetica SF
45649 XM
(in each Makefile.)424 W
/Helvetica-Oblique SF
7200 12280 MT
(${RULES_MK})SH
/Helvetica SF
14512 XM
(is defined as)419 W
/Helvetica-Oblique SF
21661 XM
(osf.rules.mk)SH
/Helvetica SF
27748 XM
(and is found on the)419 W
/Helvetica-Oblique SF
38627 XM
($MAKESYSPATH)SH
/Helvetica SF
47382 XM
(path which is)419 W
/Helvetica-Oblique SF
7200 13706 MT
({export,release}/<context>/lib/mk)SH
/Helvetica SF
(. The)
450 W( majority of variables are defined in)86 W
/Helvetica-Oblique SF
40878 XM
(osf.<projectname>.mk)SH
/Helvetica SF
(, in our)86 W
7200 15132 MT
(case)SH
/Helvetica-Oblique SF
9669 XM
(osf.mach3.mk)SH
/Helvetica SF
16250 XM
(and)SH
/Helvetica-Oblique SF
18275 XM
(osf.std.mk)SH
/Helvetica SF
(. The rest of the)79 W
/Helvetica-Oblique SF
30509 XM
(.mk)SH
/Helvetica SF
32477 XM
(files are)
79 W( rules. In general, these)78 W
/Helvetica-Oblique SF
47175 XM
(.mk)SH
/Helvetica SF
49142 XM
(files define)78 W
7200 16558 MT
(variables only if they have not been previously defined which)
149 W( allows you to overide these values with)150 W
7200 17984 MT
(environment variables or by setting them in Makefiles. The)
18 W( values are often fuctions of other variables set)17 W
7200 19410 MT
(in the environment or Makefiles.)SH
8312 21977 MT
(Variables are defined for most programs that might be used by rules: e.g. _CC_, _LD_, RM, RANLIB)59 W
7200 23403 MT
(etc, and for default flags used by the rules. Many of the flags follow the pattern of combining)SH
7200 25275 MT
(DEF_xFLAGS)SH
16096 XM
(set conditionally in)SH
/Helvetica-Oblique SF
24544 XM
(osf.mach3.mk)SH
/Helvetica SF
7200 26901 MT
(${.TARGET}_xFLAGS or xFLAGS)SH
16096 28044 MT
(set in the Makefile)SH
7200 29670 MT
(${.TARGET}_xENV or xENV)SH
16096 30813 MT
(set in the environment)SH
7200 32439 MT
(${.TARGET}_xARGS or xARGS)SH
16096 33582 MT
(set on the command line)SH
11 /Helvetica-Bold AF
7200 37264 MT
(4.2. Makeconf)SH
10 /Helvetica AF
8312 38690 MT
(The)SH
/Helvetica-Oblique SF
10401 XM
(Makeconf)SH
/Helvetica SF
15102 XM
(file is read by)88 W
/Helvetica-Oblique SF
21623 XM
(odemake)SH
/Helvetica SF
26102 XM
(before any other Makefiles and)
88 W( sets a few basic variables. Its)89 W
7200 40116 MT
(location is used by)SH
/Helvetica-Oblique SF
15704 XM
(odemake)SH
/Helvetica SF
20095 XM
(to determine two other variables.)SH
7200 41988 MT
(CONFIG)SH
16096 XM
(Selects what)
10 W( configuration options are chosen for the kernel and Unix server. Defined)9 W
16096 43131 MT
(in)SH
/Helvetica-Oblique SF
17152 XM
(Makeconf)SH
/Helvetica SF
(.)SH
7200 44757 MT
(MAKEOBJDIR)SH
16096 XM
(The directory)
44 W( in which the objects are placed. If this is undefined the objects are put)45 W
16096 45900 MT
(in the source directory. Defined in)SH
/Helvetica-Oblique SF
31269 XM
(Makeconf)SH
/Helvetica SF
35882 XM
(as a function of)SH
/Helvetica-Oblique SF
42942 XM
(OBJECTDIR)SH
/Helvetica SF
7200 47526 MT
(MAKESRCPATH)SH
16096 XM
(The base of the Master sources if you are shadowing. Set)
401 W( in)400 W
/Helvetica-Oblique SF
48487 XM
(Makeconf)SH
/Helvetica SF
53500 XM
(if)SH
/Helvetica-Oblique SF
16096 48669 MT
(SOURCEDIR)SH