                             README.aimk
			     -----------

Content
-------

1) What 'aimk' is
2) What 'aimk' does
3) Command line options of aimk
4) 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 from the underlying operating system and calls
   the makefiles with the appropriate parameters (compiler flags etc.).
   This scheme allows to keep 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
   anymore supported), aimk will print out an error message and exit.

   Unrecognized command line options, also beginning with a dash ('-') are
   passed to make.

   'aimk' sources a script 'aimk.site'. This script contains paths and
   variables to tools which you need to build special parts of Grid Engine.
   You don't need most of them to create a Grid Engine distribution.
   

3) Command line options of aimk
-------------------------------

   Show a brief summary of its command line options:

      % aimk -help
   

   Often it requires some changes to compile the modules which are based on
   third party modules (like qmake) or the GUI (qmon). You can call 'aimk' to
   restrict the compilation target.

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

      % aimk -only-core   compile core system only
      % aimk -only-qmon   compile qmon only
      % aimk -only-qmake  compile qmake only
      % aimk -only-qtcsh  compile qtcsh only
   

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

      -cc
      -gcc

   override this default. Note, that this option usually does not work and
   will require further modifications to aimk.


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

      % aimk -only-depend

   Makefile dependencies are created with

      % aimk depend

   Technically it means that the target 'depend' is passed to all makefiles.

   For creating the SGE qmaster daemon you only would enter

      % aimk sge_qmaster

   or to avoid error or warning messages from other makefiles

      % aimk -only-core sge_qmaster

   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

   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'. 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 a SGI
   system the catman pages (only on SGI the 'pack -f' command forces
   compression of all pages regardless of their size).


4) 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.
