|
|
1.1 root 1: .nr PS 12
2: .NH
3: Retrofitting of Software Projects
4: .nr PS 10
5: .XS
6: \*(SN Retrofitting of Software Projects
7: .XE
8: .PP
9: Since SPMS accepts an arbitrary directory arrangement, existing software
10: packages can be converted into projects with minimal reorganization. For
11: example, the Fortran 77 compiler project shown in figure 12 was brought
12: under project control by the following commands.
13: .KF
14: .sp 20
15: .SM
16: .ce
17: \fIFigure 12. \fRThe Fortran 77 compiler project
18:
19: .NL
20: .KE
21: .ID
22: % \fBcd /usr/src/usr.bin\fR
23: % \fBmkproject \-T\|project f77\fR
24: f77: description? (1 line): \fBFortran 77\fR
25: % \fBchproject f77\fR
26: % \fBpmkdir \-T\|include,src include\fR
27: include: description? (1 line): \fBheader files\fR
28: % \fBpmkdir src\fR
29: src: description? (1 line): \fBsource code\fR
30: % \fBpd src\fR
31: % \fBpmkdir \-T\|cmdsrc,src,update.300,clean f77 fpr fsplit\fR
32: f77: description? (1 line): \fBf77 \- Fortran 77 compiler\fR
33: fpr: description? (1 line): \fBfpr \- print Fortran files\fR
34: fsplit: description? (1 line): \fBfsplit \- split multi-routine Fortran files\fR
35: % \fBpmkdir \-T\|cmdsrc,src,update.300,clean f77pass1 f1 f2\fR
36: f77pass1: description? (1 line): \fBf77 parser\fR
37: f1: description? (1 line): \fBf77 code generator\fR
38: f2: description? (1 line): \fBf77 peephole optimizer\fR
39: % \fBcd /usr/src/usr.lib\fR
40: % \fBpmkdir \-T\|libsrc,src,update.200,clean libF77 libI77 libU77\fR
41: libF77: description? (1 line): \fBf77 function library\fR
42: libI77: description? (1 line): \fBf77 I/O library\fR
43: libU77: description? (1 line): \fBf77 system utility library\fR
44: % \fBpmkdir \-N\|doc \-T\|doc /usr/doc/f77\fR
45: /usr/doc/f77: description? (1 line): \fBf77 documentation\fR
46: .DE
47: .PP
48: The directory aliasing feature of SPMS is also demonstrated by this example.
49: Sometimes a project will have more than one directory with the same name
50: as is the case with the Fortran project, where
51: the name of the `src/f77' compiler driver program directory coincides with the
52: name of the `doc/f77' documentation directory. Since SPMS insists that
53: the directories within each project have unique names, the `doc/f77' directory
54: is aliased to `doc' using \fIpmkdir \-N\fR.
55:
56:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.