File: README.aimk

package info (click to toggle)
gridengine 8.1.9%2Bdfsg-10
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 56,880 kB
  • sloc: ansic: 432,689; java: 87,068; cpp: 31,958; sh: 29,429; jsp: 7,757; perl: 6,336; xml: 5,828; makefile: 4,701; csh: 3,928; ruby: 2,221; tcl: 1,676; lisp: 669; yacc: 519; python: 503; lex: 361; javascript: 200
file content (256 lines) | stat: -rw-r--r-- 8,858 bytes parent folder | download | duplicates (6)
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
              README.aimk
              -----------

Content
-------

1) What 'aimk' is
2) What 'aimk' does
3) The files 'aimk.site' and 'aimk.private'
4) 'aimk' options
   4.1) Short help on line options
   4.2) Compiling without openSSL support
   4.3) Restricting compile targets
   4.4) 'cc' or 'gcc'
   4.5) Creating the dependency tool
   4.6) Passing flags to the compiler
   4.7) Creating man pages
5) Copyright


1) What 'aimk' is
-----------------

   'aimk' stands for Architecture Independent MaKe. It is inspired by
   the 'aimk' script of PVM (Parallel Virtual Machine).
 
   It is not, as the name indicates, architecture independent at all. It is
   highly dependent on the underlying operating system and calls the
   makefiles with the appropriate parameters (compiler flags etc.). This
   scheme allows keeping the makefiles quite simple and makes it possible to
   use plain 'make' on operating systems where the standard make utility
   does not offer a lot of sophisticated options which are available in
   modern make utilities.


2) What 'aimk' does
-------------------

   The script 'aimk' is a wrapper for the various makefiles and other
   scripts which are called to compile Grid Engine. By default 'aimk' will
   build all binaries, but it accepts options to restrict the build process
   for certain parts of Grid Engine. Not all options of 'aimk' work
   together. This limitation is usually not detected by the command line
   parsing.

   When 'aimk' is started, it first determines the current operating system
   by calling the script 'dist/util/arch'. This script returns a string
   which is unique for a given OS. This string will be mapped to an
   uppercase string which is then used. See the file 'dist/README.arch' in
   this directory for details on architecture strings and how they are
   mapped.  If the current operating system is not supported yet (or not
   supported anymore), aimk will print out an error message and exit.

   Unrecognized command line options, also beginning with a dash ('-') are
   passed to make. This can cause unexpected error messages from 'make' if a
   typo in the command line is passed to it.

   'aimk' sources scripts 'aimk.site' and 'aimk.private'.  This script
   contains paths and variables to tools which you need to build
   special parts of Grid Engine.

   
3) The files 'aimk.site' and 'aimk.private'
-------------------------------------------

  'aimk' is written in csh. The scripts 'aimk.site' and 'aimk.private'
  (optional) need to use csh syntax since they are sourced by 'aimk'.

  The file 'aimk.site' contains a few definitions of paths to tools which
  are needed to build Grid Engine. You need to adjust this script to your
  needs or you can create your custom 'aimk.private' file which overrides
  the settings in 'aimk.site'.

  You can also enter your favorite command lines option to 'aimk.private',
  e.g as follows:

    # aimk.private
    # add "-only-qmon" and "-j 4" flag to aimk
    set  argv = ( -only-qmon -j 4 $* )

4) Command line options of aimk
-------------------------------

   4.1 Short help on line options
   ------------------------------

   Show a brief summary of its command line options:

      % aimk -help

   4.2 Compiling without openSSL support
   -------------------------------------

   'aimk' by default compiles Grid Engine with openSSL support. If you want
   to compile Grid Engine without openSSL support call:
   
      % aimk -no-secure

   4.3 Restricting compile targets
   -------------------------------

   Common options are (the -only-* options are mutually exclusive):

      % aimk -only-core   compile core system only
      % aimk -only-java   compile Java[TM] class files only
      % aimk -only-qmon   compile qmon only
      % aimk -only-qmake  compile qmake only
      % aimk -only-qtcsh  compile qtcsh only

   To compile Grid Engine without one or more default targets use the flags:

      -no-core
      -no-java  (or "-no-gui-inst -no-herd", avoiding the most
      		 troublesome targets)
      -no-jni
      -no-qmake 
      -no-qmon
      -no-qtcsh
      -no-remote  (rsh, rshd, rlogin targets)

   For creating the SGE qmaster daemon you only would enter:

      % aimk -only-core sge_qmaster

   By default, the JNI library for the DRMAA Java language binding will be
   built, but the class files will not.  To compile SGE without the DRMAA
   Java language binding, use:

      % aimk -no-jni -no-java

   The -no-java is not strictly necessary in most cases, but it ensures that
   no class files are compiled, even if the aimk.private contains the -java
   switch.  Note that with or without the -no-jni switch, the libdrmaa
   shared library will be created.  The difference will be in whether the
   shared library contains the JNI components.

   To compile only the Java class files, use:

      % aimk -only-java

   To compile the complete SGE system, including the DRMAA Java language
   binding, use:

      % aimk

   Note that in order to compile the DRMAA Java language binding, ant 1.5 or
   better must be in the classpath, and JAVA_HOME must point to JDK 1.4 or
   better.  For platforms without a suitable JDK, -no-jni (and
   -no-java) must be used.

   4.4 'cc' or 'gcc'
   -----------------

   By default the system compiler is used (cc, gcc on GNU/Linux). The flags:

      -cc
      -gcc

   override this default. Note, that this option often does not work since
   a target has not been tested and ported with gcc yet. The use of "gcc" on
   operating systems where this compiler is not installed by default will
   usually require changes to aimk.

   4.5 Creating the dependency tool
   --------------------------------

   The tool for creating Makefile dependencies 'sge_depend' is created with:

      % aimk -only-depend

   Makefile dependencies are created with:

      % aimk depend


   4.6 Passing flags to the compiler
   ---------------------------------

   To pass a "-Dmydefine" to the compiler CFLAGS, enter:

     % aimk -Dmydefine ....

   Other flags which are passed to the compiler as CFLAGS can be set in the
   command line through the environment variable 'SGE_INPUT_CFLAGS', e.g.

      setenv SGE_INPUT_CFLAGS "-xyz -Dmydefine"

   'SGE_INPUT_LDFLAGS' behaves similarly for setting LFLAGS for the linker.

   These can be used to define library and include paths.


   4.7 Creating man pages
   ----------------------

   The man pages in the repository contain a few macros 
   
   To create man pages you enter

      % aimk -man       create man pages in nroff format
      % aimk -htmlman   create man pages in nroff and html format
      % aimk -catman    create man pages in catman format (e.g. for Irix)

   To build man pages in nroff format you need to define the variable
   GROFFPATH in 'aimk.site'. This is where 'groff' is installed. For html
   man pages you need the tool 'man2html'. This is the one from
   http://www.nongnu.org/man2html/, not the one in Debian, for instance.
   The path is defined with the MAN2HTMLPATH variable in
   'aimk.site'. To create man pages in catman format you need to first
   create the nroff man pages and then on an Irix system the catman
   pages (only on Irix, the 'pack -f' command forces compression of
   all pages regardless of their size).

   4.8 Creating JavaDoc documentation
   ----------------------------------

   To create JavaDocs appropriate for the end user, enter

      % aimk -javadoc

   This creates documentation of only the public fields and methods.

   To create the full documentation, enter

      % aimk -javadoc -protected

   This creates documentation of all protected and public fields and methods.


5) Copyright
------------

   The Contents of this file are made available subject to the terms of
   the Sun Industry Standards Source License Version 1.2
 
   Sun Microsystems Inc., March, 2001

   Sun Industry Standards Source License Version 1.2  
   =================================================
   The contents of this file are subject to the Sun Industry Standards
   Source License Version 1.2 (the "License"); You may not use this file
   except in compliance with the License. You may obtain a copy of the
   License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
 
   Software provided under this License is provided on an "AS IS" basis,
   WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,  
   WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,  
   MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
   See the License for the specific provisions governing your rights and
   obligations concerning the Software.
 
   The Initial Developer of the Original Code is: Sun Microsystems, Inc.

   Copyright: 2001 by Sun Microsystems, Inc.
 
   All Rights Reserved.