where the per file license text refers to it
[openafs.git] / src / README
1 Building OpenAFS on UNIX and LINUX
2 ----------------------------------
3
4 A. Creating the proper directory structure.
5
6    Uncompress the source into a directory of your choice.
7    Preferrably, afs space. In the directory that you uncompressed the
8    source in, you will only have an src directory.
9         
10    1. Make a directory for each system type that you plan on
11       building. Current tested system types include the following
12      (this step is skipped for the i386_nt40 system type):
13
14       alpha_dux40/
15       i386_linux22/
16       rs_aix42/
17       sun4x_56/
18       sun4x_57/
19
20       Example:
21       % mkdir i386_linux22
22       % ls -CF
23       i386_linux22/     src/
24
25       Builds for the following platforms will not fully compile:
26
27       hp_ux110/
28       sgi_65/
29
30    2. Within each of those directories, create a dest/ and obj/ directory.
31
32       Example:
33       % mkdir i386_linux22/dest
34       % mkdir i386_linux22/obj
35
36    3. Create symbolic links to the system type you are about to build
37
38       Example:
39       % ln -s @sys/dest dest
40       % ln -s @sys/obj  obj
41       % ls -CF
42       Makefile@     dest@     i386_linux22/     obj@     src/
43
44    4. If this source is NOT in AFS space, You must make a link from
45       @sys to your current system type. 
46
47       Example:
48       % ln -s i386_linux22 @sys
49
50       Within AFS space, the AFS Cache Manager automatically
51       substitutes the local machine's AFS system name (CPU/operating
52       system type [ie: alpha_dux40, i386_linux22, ...]) for the @sys
53       variable.
54
55    5. Create the top level Makefile:
56       a. For LINUX and UNIX versions
57
58          Example:
59          % ln -s src/Makefile Makefile
60          % ls -CF
61          Makefile@     i386_linux22/     src/
62
63 B  Building
64
65    1. Make the obj links. This creates links from the @sys/obj/ tree
66       back to the source tree. The source tree remains unchanged and
67       builds are done in the platform specific object tree.
68
69       % make links
70
71    2. Begin building
72       a. For Linux
73          % make SYS_NAME="i386_linux22" LINUX_VERSION="2.2.14"
74
75       b. For UNIX versions, specify the system name as given by
76          the system type defined in step A1.
77          % make SYS_NAME="<system_name>"
78
79          Example for the rs_aix42 operating system:
80          % make SYS_NAME="rs_aix42" 
81
82 C  Problems
83    If you have a problem building this source, you may want to visit
84    http://oss.software.ibm.com/developerworks/opensource/afs/ to see
85    if any problems have been reported or to find out how to get more
86    help.