#!/bin/csh -fb
#
#  aimk
#
#___INFO__MARK_BEGIN__
##########################################################################
#
#  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.
#
##########################################################################
#___INFO__MARK_END__
# Credit should be given to Robert Manchek manchek@CS.UTK.EDU for creating
# a similar aimk procedure for the PVM 3.x distribution, Jul 22 1991,
# which inspired the Grid Engine aimk build scheme.
#

# Make sure to avoid confusion between shell variables and environment
# variables

unsetenv buildarch BUILDARCH COMPILE_ARCH

set buildarch = UNKNOWN
if ( -f dist/util/arch ) then
   set buildarch = `dist/util/arch`
else
   echo script dist/util/arch not available
   exit 1
endif

expr $buildarch : UNSUPPORTED > /dev/null
if ( $status == 0 ) then
   echo script dist/util/arch currently does not support \"$buildarch\"
   exit 1
else if (  $buildarch == UNKNOWN ) then
   echo script dist/util/arch currently does not recognize your OS
   exit 1
endif

# Map buildarch into uppercase BUILDARCH
#
switch ($buildarch)
case "aix42":
   set BUILDARCH = AIX42
   breaksw
case "aix43":
   set BUILDARCH = AIX43
   breaksw
case "aix51":
   set BUILDARCH = AIX51
   breaksw
case "alinux":
   set BUILDARCH = ALINUX
   breaksw
case "cray":
   set BUILDARCH = UNICOS
   breaksw
case "crayts":
   set BUILDARCH = UNICOS_TS
   breaksw
case "craytsieee":
   set BUILDARCH = UNICOS_TS_IEEE
   breaksw
case "glinux":
   set BUILDARCH = LINUX6
   breaksw
case "hp10":
   set BUILDARCH = HP10
   breaksw
case "hp11":
   set BUILDARCH = HP11
   breaksw
case "hp11-64":
   set BUILDARCH = HP1164
   breaksw
case "irix6":
   set BUILDARCH = IRIX6
   breaksw
case "necsx4":
   set BUILDARCH = NECSX4
   breaksw
case "necsx5":
case "necsx6":
case "sx":
   set BUILDARCH = NECSX5
   breaksw
case "osf4":
   set BUILDARCH = ALPHA4
   breaksw
case "slinux":
   set BUILDARCH = SLINUX
   breaksw
case "solaris":
   set BUILDARCH = SOLARIS
   breaksw
case "solaris64":
   set BUILDARCH = SOLARIS64
   breaksw
case "solaris86":
   set BUILDARCH = SOLARIS86
   breaksw
case "tru64":
   set BUILDARCH = ALPHA5
   breaksw
default:
   echo oops - no mapping for architecure \"$buildarch\" defined yet
   exit 1
   breaksw
endsw


# Source variables for definition of site dependent paths of software here
#
if ( -f aimk.site ) then
   source aimk.site
endif

# your private command line args go here
#
if ( -f aimk.private ) then
   source aimk.private
endif


goto start

usage:
   echo "usage: <OPTIONS>"

   echo "OPTIONS are: "
   echo ""
   echo "-32               -> irix: create 32 bit binaries"
   echo "-64               -> irix: create 64 bit binaries"
   echo "-add-copyright    -> insert a special copyright string in each binary"
   echo "-add-sun-copyright-> insert a Sun copyright string in each binary" 
   echo "-adoc             -> create source code documentation in adoc format"
   echo "-D*               -> include a macro definition in CFLAGS"
   echo "-catman           -> generate man pages in catman format"
   echo "-cc               -> use cc/CC to compile c/c++ code"
   echo "-compress         -> enable compression of commd communication"
   echo "-dce              -> enable dce security"
   echo "-debug            -> compile with debug information"
   echo "-f                -> specify other Makefile instead of common/Makefile"
   echo "-gcc              -> use gcc instead of system compiler"
   echo "-gettext          -> build the gettext libraries"
   echo "-gprof            -> enable gprof profiling"
   echo "-gss              -> enable gss security"
   echo "-help             -> show this help"
   echo "-htmlman          -> generate man and html pages"
   echo "-htmlmankv        -> generate man and html pages checked out with '-kv' flag"
   echo "-insure           -> compile in debug mode and detect memory leaks (en ensure ; glinux, ..)"
   echo "-intl             -> compile with internationalization library (libintl)"
   echo "-kerberos         -> enable kerberos authentication"
   echo "-man              -> generate man pages"
   echo "-mankv		      -> generate man pages checked out with '-kv' flag"
   echo "-pr-geee          -> generate man pages for 'Grid Engine Enterprise Edition'"
   echo "-pr-sge           -> generate man pages for 'Sun Grid Engine'"
   echo "-pr-sgeee         -> generate man pages for 'Sun Grid Engine, Enterprise Edition'"
   echo "-mo               -> generate the message catalogues (Solaris only)"
   echo "-n32              -> irix: generate n32 objects"
   echo "-no-core          -> don't compile the core system"
   echo "-no-intl          -> do not compile with internationalization library"
   echo "-no-mk            -> only return the specific architecture string"
   echo "-no-qmake         -> don't compile qmake"
   echo "-no-qmon          -> don't compile qmon 3rdparty libs and qmon client"
   echo "-no-qtcsh         -> don't compile qtcsh"
   echo "-no-remote        -> don't compile 3rdparty remote module (rsh, rshd, rlogin)"
   echo "-no-rmon          -> disable rmon debug output"
   echo "-only-core        -> build only the core system"
   echo "-only-depend      -> only compile 3rdparty/sge_depend"
   echo "-only-qmake       -> build only qmake"
   echo "-only-qmon        -> build only qmon 3rdparty libs and qmon client"
   echo "-only-qtcsh       -> build only qtcsh"
   echo "-only-remote      -> build only 3rdparty remote module (rsh, rshd, rlogin)"
   echo "-only-zlib        -> build only 3rdparty zlib"
   echo "-opt              -> compile with high optimization"
   echo "-parallel n       -> spawn multiple make processes by passing option -j n to make"
   echo "-perlgui          -> build the experimental perlgui"
   echo "-po               -> merge gridengine .pot with translations (Linux)"
   echo "-pot              -> extract message template to gridengine .pot file (Linux)"
   echo "-qmake            -> use qmake instead of make"
   echo "-secure           -> enable ssl security"
   echo "-shared           -> link shared (default)"
   echo "-shared-libs      -> create libraries as shared libs"
   echo "-static           -> link static"
   echo "-static-libs      -> create libraries as static libs (default)"
   echo "-umap             -> compile with usermapping and hostgroup feature"
  exit
}

start:

unsetenv LD_LIBRARY_PATH

set   noglob

set   SOURCE           = `pwd`
set   SDIR             = ".."
set   MSDIR            = ""
set   MAKEFILE         = "${SDIR}/common/Makefile.global"

if ( $?SGE_INPUT_CFLAGS ) then
   set INP_CFLAGS = "$SGE_INPUT_CFLAGS"
else
   set INP_CFLAGS = ""
endif

set   CFLAGS       = "$INP_CFLAGS"
set   CXXFLAGS     = "$CFLAGS"
set   CORE_INCLUDE = "-I../security/sec -I../common -I../libs/uti -I../libs/gdi -I../libs/cull -I../libs/rmon -I../libs/comm -I../libs/sched -I../daemons/common -I../daemons/commd -I../daemons/qmaster -I../daemons/execd -I../daemons/schedd -I../clients/common -I."

set   ADD_COPYRIGHT     = 0
set   ADD_SUN_COPYRIGHT = 0
set   ADOC              = 0
set   BUILDMAN          = 0
set   SGE_PRODUCT_MODE  = ge
set   BUILDCATMAN  = 0
set   BUILDGETTEXT = 0
set   BUILDHTMLMAN = 0 
set   DEBUG_FLAG   = ""
set   INSURE_FLAG  = ""
set   STRIP        = strip
set   TARGET       = ""
set   SHAREDLIBS   = 0
set   SHAREDEXT    = ".so"
set   SHAREDLD     = ""
set   SHARED_CFLAGS = ""
set   SHARED_LFLAGS = ""
set   STATIC        = 0
set   IRIX_ABI      = ""
set   IRIX_ARCHDEF  = IRIX6
set   OSREL         = ""
set   CC_FORCED     = 0
set   CC           = cc
set   CXX          = CC
set   FC           = f77
set   LFLAGS       = "-L."
set   LIBS         = "-lm"
set   OPTIMIZATION = 0
set   GETTEXTBASE = "$SOURCE/3rdparty/gettext"
set   MAKEZLIB    = 0
set   TPLIB       = ""	# 3rdparty libs
set   MAKESTRPTIME = 0
set   MAKEFNMATCH = 0
set   ZLIBBASE    = ""
set   PTHRDSFLAGS = ""
set   LOADAVGLIBS = ""
set   XLFLAGS     = ""
set   XLIBS       = ""
set   RANLIB      = echo
set   AR          = ar #suns: /usr/bin/ar (no s option)&/usr/5bin/ar (s option)
set   ARFLAGS     = rscv
set   MAKE        = make
set   PARALLEL    = ""
set   USE_QMAKE   = 0
set   MESSAGES    = "../dist/locale/gridenginenotuniq.pot"
set   MESSAGES_BIN = "gridengine.mo"
set   SGE_DEPEND  = 0
set   QMON        = 1
set   CORE        = 1
set   REMOTE      = 1
set   QMAKE       = 1
set   QTCSH       = 1
set   MAKEOPT     = ""
set   GPROFFED    = 0
set   DEBUGGED    = 0
set   NOERR_CFLAG = ""
set   GCC_NOERR_CFLAGS = ""
set   GCC_NOERR_CXXFLAGS = ""
set   GCC_NOSP = ""
set   MEMCFLAG=""
set   COMPILE_ARCH = ""
set   INTERACTTARGETS = "qmake qtcsh"
set   SLIBS=""
# SECURE
set   SEC	  = 0
set   SECTARGETS  = ""
set   SECLIBS = ""
set   SECLIB = ""
set   SECLIB_OBJS = ""
set   SECDEPEND   = ""
set   SECCLEAN   = ""
# end secure
# GSS
set GSSDEPEND = ""
set GSSCLEAN = ""
set GSSLIBS = ""
# end gss
# KERBEROS
set   KRB	  = 0
set   KRBTARGETS  = ""
set   KRBDEPEND   = ""
set   KRBCLEAN   = ""
set   KRBLIBS     = ""
set   KRBLIB      = ""
set   KLIBS       = ""
set   KLFLAGS      = ""
# end kerberos
# PERLGUI
set PERLGUI = ""
set PERLGUI_CLEAN = ""
# end PERLGUI

# Compile with gettext and libintl
# we have platform dependent defaults
switch ($BUILDARCH) 
   case LINUX6:
   case SOLARIS:
   case SOLARIS64:
   case SOLARIS86:
      set WITH_GETTEXT = 1
      breaksw
   default:
      set WITH_GETTEXT = 0
      breaksw
endsw      
# end Compile with gettext and libintl

# Compile with usermapping feature
set WITH_USERMAPPING = 0
# end Compile with usermapping feature

# GETTEXT MESSAGES
set   CREATE_MSG      = 0
set   CREATE_MSG_DIR  = ../dist/locale
set   CREATE_MSG_LANG = "de en"
# end GETTEXT MESSAGES

###########################################################################
# X specific stuff (Xmt, Xbae ...)
###########################################################################
# this stuff is for building the Xmt library
# if possible (i.e. imake is installed correctly)
# use the Imakefile (change Xmt.tmpl)
set   XINCD  = "-I../3rdparty/qmon/Xbae -I../3rdparty/qmon/iconlist -I../3rdparty/qmon/ltree -I../3rdparty/qmon/outline -I../3rdparty/qmon/rowcol -I../3rdparty/qmon/spinbox -I../clients/qmon -I../3rdparty/qmon/tab"
if ( $?MY_XINCD ) then
   set XINCD = "-I${MY_XINCD} ${XINCD}"
endif
set   XMTINCD  = "-DHAVE_MEMMOVE -DXMT_HAS_STRERROR -I../3rdparty/qmon/Xmt310"
set   XmtFileRootDir = ""
set   XmtFileSearchPath = ""
#set   REPLAYXT_SUPPORT = 0
# The following DEFINES are necessary in special cases
# for more information see Xmt.tmpl
# -DNO_EDITRES       if libXmu is not available (HP)
# -DNO_MEMMOVE       if no memmove() define this (SUN4)
# -DXMSTRING_TO_COMPOUND_TEXT_BUG  if tearoff menus dump core define this
# -DBACKSPACEBUG     if BackSpace in a Cli widget dumps core define this
# -DIBM_MANAGE_WORKAROUND     IBM/RS6000(AIX 3.2) if children of XmtLayout
#                             widget show up in upper left corner
# -DMISSING_METHOD_TYPES      for an old version of Motif 1.1
#                             (XmMenuProc not in XmP.h == old)
# -DXMTDEFAULTCONFIGDIR=\"$(XmtFileRootDir)\"   normally the home directory
# -DXMTFILESEARCHPATH=\"$(XmtFileSearchPath)\"  normally the home directory
#
###########################################################################

setenv RMONINC     "../rmon/src/rmon.h ../src/sgermon.h"
setenv RMONLIB     "librmon.a"

set COMPILE_DC = 0
unset nomk

set found
while ($#argv >= 1 && $?found)
   switch ("$argv[1]")
   case "-32":
      set IRIX_ABI = -mips1
      set FORCE32  = true
      set FORCE64  = false
      breaksw
   case "-64":
      set IRIX_ABI = -64
      set FORCE64  = true
      set FORCE32  = false
      breaksw
   case "-add-copyright"
      set ADD_COPYRIGHT = 1
      breaksw
   case "-add-sun-copyright"
      set ADD_SUN_COPYRIGHT = 1
      breaksw
   case "-adoc":
      set CORE   = 0
      set MAKEZLIB = 0
      set QMAKE  = 0
      set QMON   = 0
      set QTCSH  = 0
      set REMOTE = 0
      set ADOC = 1
      breaksw
   case "-catman":
      set BUILDCATMAN = "1"
      breaksw
   case "-cc"
      set CC       = cc
      set CXX      = CC
      set CC_FORCED = 1
      breaksw
   case "-compress"
     set CFLAGS = "-DCOMMCOMPRESS $CFLAGS"
     set CXXFLAGS = "-DCOMMCOMPRESS $CXXFLAGS"
     set ZLIBBASE = "$SOURCE/3rdparty/zlib"
     breaksw
   case "-crypto":
      set CFLAGS  = " -DCRYPTO -I$OPENSSL_HOME/include  $CFLAGS"
      set CXXFLAGS  = " -DCRYPTO -I$OPENSSL_HOME/include  $CXXFLAGS"
      set LFLAGS  = "-L$OPENSSL_HOME/lib $LFLAGS"
      set KLIBS = "-lcrypto"
      breaksw
   case "-D*":
      set CFLAGS = "$argv[1] $CFLAGS"
      set CXXFLAGS = "$argv[1] $CXXFLAGS"
      breaksw
   case "-dce":
      set LIBS = " -ldce -threads $LIBS"
      set CFLAGS = " -DDCE -I/usr/include/dce $CFLAGS"
      breaksw
   case "-debug":
      set DEBUG_FLAG = "$DEBUG_FLAG -g"
      set DEBUGGED = 1
      set STRIP      = "echo"
      breaksw
   case "-f":
      set argv   = ($argv[2-])
      if ($#argv >= 1) then
         set first_char = `echo $argv[1] | cut -c1`
         if ( "$first_char" == "/") then
            set MAKEFILE = $argv[1]
         else
            set MAKEFILE = "../$argv[1]"
         endif
         unset first_char
         set MSDIR = `dirname ${MAKEFILE}`
      else
         echo "usage: aimk [valid args] -f <makefile> [valid args]"
         exit 1
      endif
      breaksw
   case "-gcc"
      set CC       = gcc
      set CXX      = g++
      breaksw
   case "-gettext"
      set BUILDGETTEXT = 1
      breaksw
   case "-gprof":
      set DEBUG_FLAG = "$DEBUG_FLAG -pg"
      set GPROFFED   = 1
      set STRIP      = "echo"
      breaksw
   case "-gss":
      set GSSDEPEND = "gss_depend"
      set GSSCLEAN = "gss_clean"
      set CFLAGS  = "-DKERBEROS -I../security/gss -I$KRB_HOME/include -I$KRB_HOME/include/gssapi $CFLAGS"
      set GSSLIBS = "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
      breaksw
   case "-help"
      goto usage
      breaksw
   case "--help"
      goto usage
      breaksw
   case "-htmlman":
      set BUILDMAN = "1"
      set BUILDHTMLMAN = "1"
      set KVMAN = 0
      breaksw      
   case "-htmlmankv":
      set BUILDMAN = "1"
      set BUILDHTMLMAN = "1"
      set KVMAN = 1
      breaksw
   case "-insure"
      set CC         = insure
      set CXX        = insure
      #set DEBUG_FLAG = "$DEBUG_FLAG -g -Zsl -Zvm -Zvm -Zkt"
      #set DEBUG_FLAG = "$DEBUG_FLAG -g -Zsl"
      #set DEBUG_FLAG = "$DEBUG_FLAG -Zsl"
      set INSURE_FLAG = "-Zsl -Zvm"
      set LFLAGS     = "-Zsl $LFLAGS"
      set DEBUGGED   = 1
      breaksw
   case  "-intl"
      set WITH_GETTEXT = 1
      breaksw
   case "-irix65":
      set IRIX_ARCHDEF = IRIX65
      set IRIX_ABI = -n32
      breaksw
   case "-kerberos":
      set KRB    = 1
      set KRBTARGETS = ""
      set KRBDEPEND = "krb_depend"
      set KRBCLEAN = "krb_clean"
      set KRBLIBS = "libkrb.a"
      set KRBLIB = "-lkrb"
      set CFLAGS  = "-DKERBEROS -I../security/krb -I$KRB_HOME/include -I$KRB_HOME/include/gssapi $CFLAGS"
      set CXXFLAGS  = "-DKERBEROS -I../security/krb -I$KRB_HOME/include $CXXFLAGS"
      set KLFLAGS = "-L$KRB_HOME/lib"
      set KLIBS = "-lkrb5 -lk5crypto -lcom_err -lresolv"
      breaksw
   case "-man":
      set BUILDMAN = "1"
      set KVMAN = 0
      breaksw
   case "-mankv":
      set BUILDMAN = "1"
      set KVMAN = 1
      breaksw
   case  "-mo"
      echo "BUILDARCH=$BUILDARCH"
      if ( $BUILDARCH == solaris || $BUILDARCH == solaris64 ) then
         scripts/msgmerge.csh
      else
         echo "Use a solaris machine"                                                 endif
      exit 0
      breaksw
   case "-n32":
      set IRIX_ABI = -n32
      breaksw
   case "-no-core":
      set CORE = 0
      breaksw
   case  "-no-intl"
      set WITH_GETTEXT = 0
      breaksw
   case "-no-mk":
      set nomk
      breaksw
   case "-no-qmake":
      set QMAKE = 0
      breaksw
   case "-no-qmon":
      set QMON = 0
      breaksw
   case "-no-qtcsh":
      set QTCSH = 0
      breaksw
   case "-no-remote":
      set REMOTE = 0
      breaksw
   case "-no-rmon":
      set CFLAGS  = "-DNO_SGE_COMPILE_DEBUG $CFLAGS"
      set CXXFLAGS  = "-DNO_SGE_COMPILE_DEBUG $CXXFLAGS"
      setenv RMONINC  ""
      setenv RMONLIB  ""
      breaksw
   case "-only-core":
      set CORE   = 1
      set MAKEZLIB = 0
      set QMAKE  = 0
      set QMON   = 0
      set QTCSH  = 0
      set REMOTE = 0
      breaksw
   case "-only-depend":
      set CORE       = 0
      set MAKEZLIB   = 0
      set QMAKE      = 0
      set QMON       = 0
      set QTCSH      = 0
      set REMOTE     = 0
      set SGE_DEPEND = 1
      breaksw
   case "-only-qmake":
      set CORE   = 0
      set MAKEZLIB = 0
      set QMAKE  = 1
      set QMON   = 0
      set QTCSH  = 0
      set REMOTE = 0
      breaksw
   case "-only-qmon":
      set CORE   = 0
      set MAKEZLIB = 0
      set QMAKE  = 0
      set QMON   = 1
      set QTCSH  = 0
      set REMOTE = 0
      breaksw
   case "-only-qtcsh":
      set CORE   = 0
      set MAKEZLIB = 0
      set QMAKE  = 0
      set QMON   = 0
      set QTCSH  = 1
      set REMOTE = 0
      breaksw
   case "-only-remote":
      set CORE   = 0
      set MAKEZLIB = 0
      set QMAKE  = 0
      set QMON   = 0
      set QTCSH  = 0
      set REMOTE = 1
      breaksw
   case "-only-zlib":
      set CORE   = 0
      set MAKEZLIB = 1
      set QMAKE  = 0
      set QMON   = 0
      set QTCSH  = 0
      set REMOTE = 0
      breaksw
   case "-opt":
      set OPTIMIZATION = 1
      breaksw
   case "-parallel":
      set argv     = ($argv[2-])
      set PARALLEL = "-j $argv[1]"
      breaksw
   case "-perlgui":
      set PERLGUI = "perlgui_all"
      set PERLGUI_CLEAN = "perlgui_clean"
      breaksw
   case  "-po"
      if ( $buildarch == glinux ) then
         scripts/msgmerge.csh merge
         echo ""
         echo "==========READY FOR TRANSLATION========="
         echo ""
      else
         echo "Must be done on glinux"
         exit 1
      endif
      exit 0
      breaksw
   case  "-pot"
      if ( $buildarch != glinux ) then
         echo "Must be done on glinux architecture"
         exit 1
      endif   
      rm -f dist/locale/gridenginenotuniq.pot
      rm -f dist/locale/gridengine.pot
      $0 -intl -only-core messages
      echo "Adding script messages"
      setenv BUILDARCH $BUILDARCH
      foreach f ( dist/inst_sge dist/util/setfileperm.sh dist/util/arch_variables \
                  dist/util/qhold.sh dist/util/sgeCA/sge_ca dist/util/update_commands/sge_startupscript.sh )
         set pf = "/tmp/`basename $f`.pot"
         $TCLSH scripts/infotext_msg_parse.tcl -F $pf $f
         echo "Appending script pot file $pf" 
         cat $pf >> dist/locale/gridenginenotuniq.pot
         rm $pf
      end
      echo "Uniqing pot file"
      scripts/msgmerge.csh merge
      exit 0
      breaksw
   case "-pr-geee":  
      set SGE_PRODUCT_MODE=geee
      breaksw
   case "-pr-sge":  
      set SGE_PRODUCT_MODE=sge
      breaksw
   case "-pr-sgeee":
      set SGE_PRODUCT_MODE=sgeee
      breaksw
   case "-qmake"
      set USE_QMAKE    = 1
      set MAKE     = "qmake"
      set MAKEOPT = "-cwd -v PATH -pe make 2-100 -now n -- $MAKEOPT"
      breaksw
   case "-secure":
      set SEC    = 1
      set SECTARGETS = "sec_all"
      set SECDEPEND = "sec_depend"
      set SECCLEAN = "sec_clean"
      set SECLIBS = "libsec.a"
      set SECLIB = "-lsec"
      set SECLIB_OBJS = "sec_lib.o"
      set CFLAGS  = "-DSECURE -I$OPENSSL_HOME/include  $CFLAGS"
      set CXXFLAGS  = "-DSECURE -I$OPENSSL_HOME/include  $CXXFLAGS"
      set KLFLAGS  = "-L$OPENSSL_HOME/lib"
      set KLIBS = "$OPENSSL_HOME/lib/libcrypto.a"
      breaksw
   case "-shared":
      set STATIC = 0
      breaksw
   case "-shared-libs":
      set SHAREDLIBS = 1
      breaksw
   case "-static":
      set STATIC = 1
      breaksw
   case "-static-libs":
      set SHAREDLIBS = 0
      breaksw
   case  "-umap"
      set WITH_USERMAPPING = 1
      breaksw
   default:
      unset found
      continue
      breaksw
   endsw

   set argv     = ($argv[2-]) 

end

# ENABLE_214_FIX
set CFLAGS = "$CFLAGS -DENABLE_214_FIX"
set CXXFLAGS = "$CXXFLAGS -DENABLE_214_FIX"

# ENABLE_438_FIX
set CFLAGS = "$CFLAGS -DENABLE_438_FIX"
set CXXFLAGS = "$CXXFLAGS -DENABLE_438_FIX"

if ( $DEBUGGED && $USE_QMAKE ) then
   set MAKEOPT = "-verbose $MAKEOPT"
endif


#----------------------------------------------------------------------

if ( "$COMPILE_ARCH" == "") then
   set COMPILE_ARCH = $BUILDARCH
endif

if ($?nomk) then
   echo $COMPILE_ARCH
   exit 0
endif

if ( ! -d $COMPILE_ARCH ) then
   echo " INFO: Architecture dir $COMPILE_ARCH not existing. Making"
   mkdir $COMPILE_ARCH
endif

switch ($BUILDARCH)
case AIX41:
case AIX42:
case AIX43:
#   set INTERACTTARGETS = ""
   if ( $BUILDARCH == AIX41 ) then
      set INTERACTTARGETS = ""
   endif

   set OFLAG    = "-O"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O3 -qstrict"
   endif   
   
   set CXX      = xlC
   set MAKE     = make
   set CFLAGS   = "$OFLAG -DAIX -D$BUILDARCH -D_LARGE_FILES -DUSE_STDARG $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set CXXFLAGS   = "$OFLAG -DAIX -D$BUILDARCH -D_LARGE_FILES -DUSE_STDARG $DEBUG_FLAG $CXXFLAGS"
   set LFLAGS   = "$DEBUG_FLAG -brtl $LFLAGS"
   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "-bnodelcsect -DNeedFunctionPrototypes -DNeedVarargsPrototypes $XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm  -lXt -lXext -lX11 -lm -liconv -lc"

   if ( $STATIC == 1 ) then
      set CFLAGS = "-bnso -bI:/usr/lib/syscalls.exp $CFLAGS"
      set CXXFLAGS = "-bnso -bI:/usr/lib/syscalls.exp $CXXFLAGS"
   endif

   set SHAREDLD = "$SOURCE/scripts/ldAix"
   set SHARED_CFLAGS = ""
   set SHARED_LFLAGS = "-L. -brtl -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   breaksw
case AIX51:
   set OFLAG    = "-O -qmaxmem=8192"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O3 -qstrict -qmaxmem=8192"
   endif   
   
   set CXX      = xlC
   set MAKE     = make
   set CFLAGS   = "$OFLAG -DAIX -D$BUILDARCH -D_LARGE_FILES -DUSE_STDARG $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set CXXFLAGS   = "$OFLAG -DAIX -D$BUILDARCH -D_LARGE_FILES -DUSE_STDARG $DEBUG_FLAG $CXXFLAGS"
   set LFLAGS   = "$DEBUG_FLAG -brtl $LFLAGS"
   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "-bnodelcsect -DNeedFunctionPrototypes -DNeedVarargsPrototypes $XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm  -lXt -lXext -lX11 -lm -liconv -lc"

   if ( $STATIC == 1 ) then
      set CFLAGS = "-bnso -bI:/usr/lib/syscalls.exp $CFLAGS"
      set CXXFLAGS = "-bnso -bI:/usr/lib/syscalls.exp $CXXFLAGS"
   endif

   set SHAREDLD = "$SOURCE/scripts/ldAix"
   set SHARED_CFLAGS = ""
   set SHARED_LFLAGS = "-L. -brtl -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   breaksw

case ALINUX:
   set COMPILE_DC = 1
   if ( $USE_QMAKE == 0 ) then
      set MAKE = make
   endif
   set OFLAG = "-O"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O3"
   endif   

   set CC = "gcc"
   set CXX = "g++"

   if ( $DEBUGGED == 1) then
      set DEBUG_FLAG = "-g"
   endif
   if ( $GPROFFED == 1) then
      set DEBUG_FLAG = "$DEBUG_FLAG -pg"
   endif

   set PTHRDSFLAGS = "-D_REENTRANT -D__USE_REENTRANT"

   set CFLAGS   = "$OFLAG -Wall -Werror -Wstrict-prototypes -DLINUX -DALINUX $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set CXXFLAGS = "$OFLAG -Wall -Werror -Wstrict-prototypes -DLINUX -DALINUX $DEBUG_FLAG $CFLAGS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"

   set SHAREDLD = $CC
   set SHARED_CFLAGS = "-fPIC"
   set SHARED_LFLAGS = "-L. -shared"

   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "-DNeedFunctionPrototypes -Wno-error $XMTDEF $XINCD"
   set XLIBD    = "-L/usr/X11R6/lib"
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-Xlinker -Bstatic -lXm -Xlinker -Bdynamic -lXpm -lXt -lXext -lX11 -lSM -lICE -lXp"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   set NOERR_CFLAG = "-Wno-error"
   set GCC_NOERR_CFLAGS = "$CFLAGS -Wno-error"
   set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -Wno-error"
   set GCC_NOSP = "-Wno-strict-prototypes"
   breaksw

case ALPHA4:
case ALPHA5:
   set COMPILE_DC = 1
   set CXX = "cxx"
   set WFLAG   = "-w2"
   # set WFLAG = ""

   set OFLAG = "-O"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O3"
   endif   

   # gprof option is superset of debug option
   # -g3 produces better debugging information than -g1
   if ( $DEBUGGED == 1) then
      set DEBUG_FLAG = "-g3"
      set OFLAG      = ""
   endif

   if ( $GPROFFED == 1) then
      set DEBUG_FLAG = "-g1 -pg -gen_feedback -non_shared"
   endif

   if ( $CC == gcc ) then
      set CFLAGS   = "$OFLAG -Wall -Wstrict-prototypes -Wno-error -O -DALPHA -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -Wstrict-prototypes -Werror -O -DALPHA -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   else
      set CFLAGS   = "$OFLAG $WFLAG -std1 -warnprotos -DALPHA -D$BUILDARCH $DEBUG_FLAG $CFLAGS -Olimit 2000"
      set CXXFLAGS   = "$OFLAG $WFLAG -DALPHA -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS -Olimit 2000"
      set PTHRDSFLAGS = "-pthread"
   endif
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"

   set SHAREDLD = $CC
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = ""
      set SHARED_LFLAGS = "-L. -shared"
   endif

   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"
   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "-w -DFUNCPROTO=3 -DDEC -DSMT $XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "-taso $XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lX11 -lSM -lICE -lPW -ldnet_stub"
   set LIBS     = "-lmld -lpset -lmach $LIBS"

   if ( $STATIC == 1 ) then
      if ( $CC == gcc ) then
         set LFLAGS = "-static $LFLAGS"
      else
         set LFLAGS = "-non_shared $LFLAGS"
      endif
   else
      if ( $CC == cc ) then
         set CFLAGS = "-call_shared $CFLAGS"
         set CXXFLAGS = "-call_shared $CXXFLAGS"
      endif
   endif

   if ( $CC == gcc ) then
      set NOERR_CFLAG = "-Wno-error"
      set GCC_NOERR_CFLAGS = "$CFLAGS -Wno-error"
      set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -Wno-error"
   else
      set NOERR_CFLAG = "-w"
      set GCC_NOERR_CFLAGS = "$CFLAGS"
      set GCC_NOERR_CXXFLAGS = "$CXXFLAGS"
   endif

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   breaksw

case IRIX6*:
   set COMPILE_DC = 1
   set ARCH = $IRIX_ARCHDEF
   #if (`hostname` != DWAIN) then
   #   set MAKE     = make
   #endif
   set MAKE = gmake

   # IRIX >= 6.4 has no DEADLINE in sys/schedctl.h, so turn off these
   # code passages
   set hasdeadline = `grep DEADLINE /usr/include/sys/schedctl.h`
   if ( "X$hasdeadline" == "X" ) then
      set CFLAGS = "-DIRIX_NODEADLINE $CFLAGS"
   endif

   # IRIX >= 6.4 has no MP_PSET in sys/sysmp.h, so turn off these
   # code passages
   set haspset = `grep MP_PSET /usr/include/sys/sysmp.h`
   if ( "X$haspset" == "X" ) then
      set CFLAGS = "-DIRIX_NOPSET $CFLAGS"
   endif

   set OFLAG = "-O"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O2"
   endif   

   set CFLAGS   = "$OFLAG -D$IRIX_ARCHDEF $IRIX_ABI $DEBUG_FLAG $CFLAGS"
   set CXXFLAGS   = "$OFLAG -D$IRIX_ARCHDEF $IRIX_ABI $DEBUG_FLAG $CXXFLAGS -DHAVE_STD"
   if ( $CC == gcc ) then
      set CFLAGS   = "-D$IRIX_ARCHDEF $DEBUG_FLAG $CFLAGS -Wall -Wstrict-prototypes -Werror"
      set CXXFLAGS   = "-D$IRIX_ARCHDEF $DEBUG_FLAG $CXXFLAGS -Wstrict-prototypes -Werror"
   endif
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set LFLAGS   = "$IRIX_ABI $DEBUG_FLAG $LFLAGS"
   set LIBS     = "$LIBS"
   set LOADAVGLIBS = "-lelf"
   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lX11 -lPW -lm"
   set RANLIB   = echo

   if ( $STATIC == 1 ) then
      echo Static linking not available for IRIX6
      exit 1
   endif

   if ( $CC == gcc ) then
      set NOERR_CFLAG = "-Wno-error"
      set GCC_NOERR_CFLAGS = "$CFLAGS -Wno-error"
      set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -Wno-error"
   else
      set GCC_NOERR_CFLAGS = "$CFLAGS"
      set GCC_NOERR_CXXFLAGS = "$CXXFLAGS"
   endif

   set SHAREDLD = $CC
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = "-KPIC"
      set SHARED_LFLAGS = "-L. -shared"
   endif

   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   breaksw

case HP10:
   set MAKE = gmake
   set OFLAG = "-O"
   if ( $CC == gcc ) then
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "-O3"
      endif
      set CFLAGS = "$OFLAG -Wall -Wstrict-prototypes -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -Wstrict-prototypes -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   else
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "+O3"
      endif
      set CFLAGS = "-Ae $OFLAG -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "-Ae $OFLAG -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   endif
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   set SHAREDLD = ld
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = "+z"
      set SHARED_LFLAGS = "-L. -b +s"
   endif

   set CFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CFLAGS"
   set CXXFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CXXFLAGS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"

   set XMTDEF   = "-DNO_EDITRES"
   set XINCD    = "-I/usr/include/X11R6 -I/usr/include/Motif1.2 $XMTINCD $XINCD"
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLIBD    = "-L/usr/lib/X11R6 -L/usr/lib/Motif1.2_R6"
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lXhp11 -lX11 -lm"

   if ( $STATIC == 1 ) then
      set LFLAGS = "-Wl,-a,archive $LFLAGS"
   endif

   set LFLAGS = "-Wl,+s $LFLAGS"

   set SHAREDEXT = ".sl"
   breaksw

case HP11:
   set MAKE = gmake
   set OFLAG = "-O"
   if ( $CC == gcc ) then
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "-O3"
      endif
      set CFLAGS = "$OFLAG -Wall -Wstrict-prototypes -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -Wall -Wstrict-prototypes -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   else
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "+O3"
      endif
      set CXX = "aCC"
      set CFLAGS = "-Ae $OFLAG -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   endif

   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   set SHAREDLD = ld
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = "+z"
      set SHARED_LFLAGS = "-L. -b +s"
   endif

   set CFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CFLAGS"
   set CXXFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CXXFLAGS"
   set LIBS     = "-lnsl $LIBS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"

   set XMTDEF   = "-DNO_EDITRES"
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lXhp11 -lX11 -lm"

   if ( $STATIC == 1 ) then
      set LFLAGS = "-Wl,-a,archive $LFLAGS"
   endif
   set SHAREDEXT = ".sl"
   set LFLAGS = "-Wl,+s $LFLAGS"
   breaksw

case HP1164:
   set MAKE = gmake
   set OFLAG = "-O"
   if ( $CC == gcc ) then
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "-O3"
      endif
      set CFLAGS = "$OFLAG -Wall -Wstrict-prototypes -DHP11 -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -Wall -Wstrict-prototypes -DHP11 -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   else
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "+O3"
      endif
      set CXX = "aCC"
      set CFLAGS = "-Ae $OFLAG -DHP11 -D$BUILDARCH $DEBUG_FLAG $CFLAGS"
      set CXXFLAGS = "$OFLAG -DHP11 -D$BUILDARCH $DEBUG_FLAG $CXXFLAGS"
   endif

   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   set SHAREDLD = ld
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = "+z"
      set SHARED_LFLAGS = "-L. -b +s"
   endif

   set CFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CFLAGS"
   set CXXFLAGS = "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $CXXFLAGS"
   set LIBS     = "-lnsl $LIBS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"

   set XMTDEF   = "-DNO_EDITRES"
   set XINCD    = "$XMTINCD $XINCD"
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLIBD    = ""
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lXhp11 -lX11 -lm"

   if ( $STATIC == 1 ) then
      set LFLAGS = "-Wl,-a,archive $LFLAGS"
   endif
   set SHAREDEXT = ".sl"
   set LFLAGS = "-Wl,+s $LFLAGS"
   breaksw

case LINUX5:
case LINUX6:
   strings /lib/libc.so.6 | grep "GNU C Library" | grep 2.2 >& /dev/null
   if ( $status == 0 ) then
      set CFLAGS = "-DHAS_IN_PORT_T $CFLAGS"
   endif

   set COMPILE_DC = 1
   if ( $USE_QMAKE == 0 ) then
      set MAKE = make
   endif
   set OFLAG = "-O2"
      if ( $OPTIMIZATION == 1 ) then
         set OFLAG = "-O3"
      endif
   if ( "$CC" != insure ) then
      set CC       = gcc
      set CXX      = g++
   else
      set CFLAGS = "-Wno-error $CFLAGS"
      set CXXFLAGS = "-Wno-error $CXXFLAGS"
      set KLIBS = "$OPENSSL_HOME/lib/libcrypto.a.insure"
      set LIBS = "$LIBS"
   endif

   if ( $CC == "gcc" && `gcc --version` == "2.96") then
      set CFLAGS = "-DUSING_GCC_2_96 $CFLAGS"
   endif

   set CFLAGS = "-DLINUX -D$BUILDARCH $CFLAGS"
   set CXXFLAGS = "-DLINUX -D$BUILDARCH $CXXFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"

   set SHAREDLD = $CC
   set SHARED_CFLAGS = "-fPIC"
   set SHARED_LFLAGS = "-L. -shared"

   set PTHRDSFLAGS = "-D_REENTRANT -D__USE_REENTRANT"

   if ( $DEBUGGED == 1) then
      set DEBUG_FLAG = "-g $INSURE_FLAG"
      set OFLAG = ""
   endif
   if ( $GPROFFED == 1) then
      set DEBUG_FLAG = "$DEBUG_FLAG -pg"
   endif

   if ( $COMPILE_ARCH == "LINUX60" ) then
      set GLIBC20DEF=-DLINUX60
   else
     set GLIBC20DEF = ""
   endif
   set CFLAGS   = "$OFLAG -Wall -Werror $GLIBC20DEF $DEBUG_FLAG $CFLAGS"
   set CXXFLAGS   = "$OFLAG -Werror -Wstrict-prototypes $GLIBC20DEF $DEBUG_FLAG $CXXFLAGS"
   set NOERR_CFLAG = "-Wno-error"
   set GCC_NOERR_CFLAGS = "$CFLAGS -Wno-error"
   set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -Wno-error"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"
   set LIBS     = "$LIBS"
   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD -I/usr/X11R6/include"
   set XCFLAGS  = "-Wno-strict-prototypes -Wno-error $XMTDEF $XINCD"
   set XLIBD    = "-L/usr/X11R6/lib"
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-Xlinker -Bstatic -lXm -Xlinker -Bdynamic -lXpm -lXt -lXext -lXmu -lX11 -lSM -lICE -lXp"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   breaksw

case NECSX4:
#
# we need the '-hfloat0'-flag for CFLAGS and LFLAGS because the
# XDR-Libraray does not work properly for other floating point models
# float1 => (floating poit exceptions for value DBL_MAX during unpacking
# double values)
#
   set INTERACTTARGETS = ""
   set COMPILE_DC = 1
   set MAKE = make
   set CFLAGS = "-DNECSX4 -dir,novec,nopar,nopthr -hfloat0 $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   set LFLAGS   = "-hfloat0 $DEBUG_FLAG $LFLAGS"
   set LIBS     = "$LIBS"
   set XMTDEF   = ""
   set XINCD    = ""
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLFLAGS  = ""
   if ( $SHAREDLIBS == 1 ) then
      echo creating shared libs not yet supported on $BUILDARCH
      exit 1
   endif
   breaksw

case NECSX5:
   set INTERACTTARGETS = ""
   set COMPILE_DC = 1
   if ( $CORE == 1 ) then
      set MAKESTRPTIME = 1
      set MAKEFNMATCH = 1
   endif
   if ( $QTCSH == 1 ) then
      set MAKEFNMATCH = 1
   endif
   set MAKE = make
   set CFLAGS = "-DNECSX5 -dir,novec,nopar,nopthr -hfloat0 $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"
   set XMTDEF   = ""
   set XINCD    = ""
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLFLAGS  = ""
   if ( $SHAREDLIBS == 1 ) then
      echo creating shared libs not yet supported on $BUILDARCH
      exit 1
   endif
   breaksw

case SLINUX:
   set COMPILE_DC = 0
   if ( $USE_QMAKE == 0 ) then
      set MAKE = make
   endif
   set OFLAG = "-O"
   if ( $OPTIMIZATION == 1 ) then
      set OFLAG = "-O3"
   endif   

   set CC = "gcc"
   set CXX = "g++"

   if ( $DEBUGGED == 1) then
      set DEBUG_FLAG = "-g"
      set OFLAG = ""
   endif
   if ( $GPROFFED == 1) then
      set DEBUG_FLAG = "$DEBUG_FLAG -pg"
   endif

   set PTHRDSFLAGS = "-D_REENTRANT -D__USE_REENTRANT"

   set CFLAGS   = "$OFLAG -Wall -Werror -Wstrict-prototypes -DLINUX -DSLINUX $DEBUG_FLAG $CFLAGS"
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set CXXFLAGS = "$OFLAG -Wall -Werror -Wstrict-prototypes -DLINUX -DSLINUX $DEBUG_FLAG $CFLAGS"
   set LFLAGS   = "$DEBUG_FLAG $LFLAGS"

   set SHAREDLD = $CC
   set SHARED_CFLAGS = "-fPIC"
   set SHARED_LFLAGS = "-L. -shared"

   set XMTDEF   = ""
   set XINCD    = "$XMTINCD $XINCD -I/usr/X11R6/include"
   set XCFLAGS  = "-DNeedFunctionPrototypes -Wno-error $XMTDEF $XINCD"
   set XLIBD    = "-L/usr/X11R6/lib"
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-Xlinker -Bstatic -lXm -Xlinker -Bdynamic -lXpm -lXt -lXext -lX11 -lSM -lICE -lXp"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   set NOERR_CFLAG = "-Wno-error"
   set GCC_NOERR_CFLAGS = "$CFLAGS -Wno-error"
   set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -Wno-error"
   breaksw

case SOLARIS:
case SOLARIS64:
case SOLARIS86:
   if ( $BUILDARCH == SOLARIS64 && $CC == gcc ) then
      echo "Do not compile Grid Engine with gcc on the solaris64 platform"
      echo "The resulting sge_execd would not be able to retrieve correct load values"
      exit 1
   endif

   set LOADAVGLIBS = "-lkvm -lkstat"
#  set PARALLEL = "-j 1"
#  set MAKE=gmake
   if ( $CC == gcc ) then
      set OFLAG = "-O3"
   else
      set OFLAG = "-xO4"
   endif

   if ( $OPTIMIZATION == 1 ) then
      if ( $BUILDARCH == SOLARIS || $BUILDARCH == SOLARIS64 ) then
         set OFLAG = "$OFLAG -xchip=ultra2"
      endif   
   endif

   if ( $GPROFFED == 1 ) then
      set OFLAG = "-O"
      if ( $CC == gcc ) then
         set DEBUG_FLAG = "-g -pg"
         set LIBS = "$LIBS -ldl"
      else
         set DEBUG_FLAG = "-g -xpg -xprofile=tcov"
      endif
   endif

   if ( $DEBUGGED == 1 ) then
      set DEBUG_FLAG = "-g"
      set OFLAG = ""
   endif

   set DEPEND_FLAGS = "$CFLAGS -D$BUILDARCH $XMTINCD"

   if ( $BUILDARCH == SOLARIS64 ) then
      if ( $CC == gcc ) then
         set SOL64BITFLAG = "-D$BUILDARCH -DSOLARIS7"
      else
         set SOL64BITFLAG = "-D$BUILDARCH -xarch=v9 -DSOLARIS7"
         set LFLAGS = "-xildoff -xarch=v9 $LFLAGS"
         set CFLAGS = "-v $CFLAGS" 
      endif
   else
      set CFLAGS = "-D_LARGEFILE64_SOURCE=1 $CFLAGS"
      set CXXFLAGS = "-D_LARGEFILE64_SOURCE=1 $CXXFLAGS"
      set SOL64BITFLAG = ""
      if ( $CC == cc || $CC == insure ) then
         set MEMCFLAG=-Xa
         set LFLAGS = "-xildoff $LFLAGS"
      endif
   endif

   if ( $BUILDARCH == SOLARIS86 ) then
#     set CFLAGS = "-v $CFLAGS -errwarn=%all,no%E_NONPORTABLE_BIT_FIELD_TYPE -errtags=yes" 
      set CFLAGS = "-v $CFLAGS -errwarn=%all,no%E_NONPORTABLE_BIT_FIELD_TYPE,no%E_STATEMENT_NOT_REACHED,no%E_IMPLICIT_DECL_FUNC_RETURN_INT,no%E_OLD_STYLE_DECL_HIDES_PROTO,no%E_CONST_PROMOTED_UNSIGNED_LONG -errtags=yes" 
      set CFLAGS = "$CFLAGS -D$BUILDARCH"
   endif

   set CFLAGS = "$OFLAG $CFLAGS -DSOLARIS $SOL64BITFLAG -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L $DEBUG_FLAG"
   set CXXFLAGS = "$OFLAG $CXXFLAGS -DSOLARIS $SOL64BITFLAG -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L $DEBUG_FLAG -DHAVE_STD -mt"

   set SHAREDLD = $CC
   if ( $CC == gcc ) then
      set SHARED_CFLAGS = "-fPIC"
      set SHARED_LFLAGS = "-L. -shared"
   else
      set SHARED_CFLAGS = "-KPIC"
      if ( $BUILDARCH == SOLARIS64 ) then
         set SHARED_LFLAGS = "-L. -G -xarch=v9"
      else
         set SHARED_LFLAGS = "-L. -G"
      endif
   endif

   set COMPILE_DC = 1

   set LFLAGS   = "$LFLAGS $DEBUG_FLAG"
   set LIBS     = "-lsocket -lnsl $LIBS"
   set XMTDEF   = "-DXMT_CDE_BUG_FIX"

   set XINCD    = "-I/usr/dt/include -I/usr/openwin/include $XMTINCD $XINCD"
   set XLIBD    = "-L/usr/dt/lib -L/usr/openwin/lib"
   set XCFLAGS  = "-Xc -DNeedFunctionPrototypes $XMTDEF $XINCD"
   set XLFLAGS  = "$XLIBD"
   set XLIBS    = "-lXm -lXt -lXext -lXmu -lX11 -lw -lgen"

   set RANLIB   = "echo"

   if ( $STATIC == 1 ) then
      echo Static linking not available for SOLARIS
      exit 1
   else
      if ( $CC == cc ) then
         # set CFLAGS = "-Xa $CFLAGS"
         set CFLAGS = "-Xc -DNLIST_STRUCT $CFLAGS"
         set CXXFLAGS = "$CXXFLAGS"
      endif
   endif

   set GCC_NOERR_CFLAGS = "$CFLAGS -w"
   set GCC_NOERR_CXXFLAGS = "$CXXFLAGS -w"

   set SGE_NPROCS_CFLAGS = "$CFLAGS"

   breaksw

case UNICOS*:
   set INTERACTTARGETS = ""
   set MAKE = gmake
   set ARFLAGS = rcv
   switch ($BUILDARCH)
      case UNICOS_TS:
         set CFLAGS   = "-DCRAY -DCRAYTS $DEBUG_FLAG $CFLAGS"
         set CXXFLAGS   = "-DCRAY -DCRAYTS $DEBUG_FLAG $CXXFLAGS"
         breaksw
      case UNICOS_TS_IEEE:
         set CFLAGS   = "-DCRAY -DCRAYTS -DCRAYTSIEEE $DEBUG_FLAG $CFLAGS"
         set CXXFLAGS   = "-DCRAY -DCRAYTS -DCRAYTSIEEE $DEBUG_FLAG $CXXFLAGS"
         breaksw
      default:
         set CFLAGS   = "-DCRAY $DEBUG_FLAG $CFLAGS"
         set CXXFLAGS   = "-DCRAY $DEBUG_FLAG $CXXFLAGS"
   endsw
   set DEPEND_FLAGS = "$CFLAGS $XMTINCD"
   set LFLAGS   = ""
   set XMTDEF   = ""
   switch (`/bin/uname -r`)
      case "[0-8].*":
      case "9.[01]*":
         set XINCD    = "-I/usr/src/net/cvt/motif/lib $XMTINCD $XINCD"
         set XLIBD    = "-L/usr/src/net/cvt/motif/lib/Xm"
         set XLIBS    = "-lXm -lXt -lXext -lX11"
         breaksw
      default:
         set XINCD    = "$XMTINCD $XINCD"
         set XLIBD    = ""
         set XLIBS    = "-lXm -lXt -lXext -lX11 -lSM -lICE"
         breaksw
   endsw
   set XCFLAGS  = "$XMTDEF $XINCD"
   set XLFLAGS  = "$XLIBD"
   set SGE_NPROCS_CFLAGS = "$CFLAGS"
   set COMPILE_DC = 1
   if ( $SHAREDLIBS == 1 ) then
      echo creating shared libs not yet supported on $BUILDARCH
      exit 1
   endif
   breaksw

default:
   echo "ERROR: Architecture $BUILDARCH not supported by aimk"
   exit 1
endsw

set MAKEOPT = "$MAKEOPT $PARALLEL"

if ( "$GCC_NOERR_CFLAGS" == "" ) then
   set GCC_NOERR_CFLAGS = "$CFLAGS"
   set GCC_NOERR_CXXFLAGS = "$CXXFLAGS"
endif

if ( $COMPILE_DC == 1 ) then
   set CFLAGS = "$CFLAGS -DCOMPILE_DC"
   set CXXFLAGS = "$CXXFLAGS -DCOMPILE_DC"
endif

if ( $SHAREDLIBS == 1 ) then
   set LIBEXT = "$SHAREDEXT"
else
   set LIBEXT = ".a"
endif

# link against zlib. use absolute path to avoid conflicts with
# pre-installed (probable older version) zlib
# can be turned off by -nocompress
if ( "$ZLIBBASE" != "" ) then
   set ZLIB = "$ZLIBBASE/$COMPILE_ARCH/libz$LIBEXT"
   set LINK_ZLIB = "-L$ZLIBBASE/$COMPILE_ARCH -lz"
   set CORE_INCLUDE = "$CORE_INCLUDE -I$ZLIBBASE"
#   set LIBS = "$LIBS -lz"
#   set LFLAGS = "-L$ZLIBBASE/$COMPILE_ARCH $LFLAGS"
   if ( $SHAREDLIBS == 1 ) then
      set SHARED_LFLAGS = "-L$ZLIBBASE/$COMPILE_ARCH $SHARED_LFLAGS"
   endif
else
   set ZLIB = ""
   set LINK_ZLIB = ""
endif

#
# for gettext
#
if ( $WITH_GETTEXT == 1 ) then
   set   XGETTEXT    = "$GETTEXTBASE/$BUILDARCH/bin/xgettext --strict --foreign-user -k -k'sge_gettext' --language=C -j -o $MESSAGES"
   if ( "$?MYILIB" ) then
      set LFLAGS = "-L $MYILIB"
      echo "Using $MYILIB path for i18n support"
   else
      if ( $COMPILE_ARCH == "SOLARIS" || $COMPILE_ARCH == "SOLARIS64" || $COMPILE_ARCH == "SOLARIS86" || $COMPILE_ARCH == "LINUX6" ) then
         set LIBINTL = ""
         set HFLAGS = ""
      else
         set HFLAGS = "-I$GETTEXTBASE/$BUILDARCH/include"
         set LFLAGS = "-L$GETTEXTBASE/$BUILDARCH/lib $LFLAGS"
         set LIBINTL = "-lintl"
      endif
   endif
   set LIBS = "$LIBINTL $LIBS"
   set CFLAGS = "$CFLAGS -D__SGE_COMPILE_WITH_GETTEXT__ $HFLAGS"
   set CXXFLAGS = "$CXXFLAGS"
else
   set XGETTEXT = ""
endif

#
# for usermapping
#
if ( $WITH_USERMAPPING == 0 ) then
   set CFLAGS = "$CFLAGS -D__SGE_NO_USERMAPPING__"
endif

echo making in $COMPILE_ARCH/ for $COMPILE_ARCH

# create shared lib from LGPL code
set GLIBEXT        = "$SHAREDEXT"
set GSHARED_CFLAGS = "$SHARED_CFLAGS"
set GSHARED_LFLAGS = "$SHARED_LFLAGS"

if ( $SHAREDLIBS == 1 ) then
   set LIBEXT = "$SHAREDEXT"
else
   set LIBEXT = ".a"
   set SHARED_CFLAGS = ""
   set SHARED_LFLAGS = ""
endif

if ( "$BUILDMAN" == 1 ) then
   echo _________M_A_N_P_A_G_E_S_______

   if ( $?MAN2HTMLPATH ) then
      setenv PATH ${MAN2HTMLPATH}:${PATH}
   endif   
   if ( $?GROFFPATH ) then
      setenv PATH ${GROFFPATH}:${PATH}
   else
      echo "groff must exist"
      echo not done
      exit 1
   endif   

   $SOURCE/scripts/mk_ascman $SOURCE $SGE_PRODUCT_MODE $BUILDMAN $BUILDHTMLMAN $KVMAN

   if ( $status != 0 ) then
      echo not done
      exit 1
   else
      echo done
      exit 0
   endif
endif

if ( "$BUILDCATMAN" == 1 ) then
   echo _________C_A_T_P_A_G_E_S_______

   $SOURCE/scripts/mk_catman $SOURCE $SGE_PRODUCT_MODE

   if ( $status != 0 ) then
      echo not done
      exit 1
   else
      echo done
      exit 0
   endif

endif

if ( "$BUILDGETTEXT" == 1 ) then
   echo ________G_E_T_T_E_X_T___________

   cd $SOURCE/3rdparty/gettext
   $SOURCE/scripts/install.gridware $COMPILE_ARCH
   if ( $status != 0 ) then
      echo not done
      exit 1
   else
      cd $SOURCE
      echo done
      exit 0
   endif

endif   


if ( "$SGE_DEPEND" == 1 ) then
   echo ________S_G_E__D_E_P_E_N_D_______

   cd $SOURCE/3rdparty/sge_depend

   if ( ! -d $COMPILE_ARCH ) then
      echo " INFO: Architecture dir $COMPILE_ARCH not existing for sge_depend. Making"
      mkdir $COMPILE_ARCH
   endif

   cd $COMPILE_ARCH
   $MAKE $MAKEOPT -f ../Makefile "CC=$CC" "CFLAGS=$CFLAGS" "LFLAGS=$LFLAGS" "COMPILE_ARCH=$COMPILE_ARCH" $*

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif

if ( "$MAKESTRPTIME" == 1 ) then
   echo ______3_r_d_p_a_r_t_y__S_T_R_P_T_I_M_E___

   # Set TPLIB, LIBS, and CFLAGS for all compiles

   set TPLIB = "$TPLIB libstrptime.a"

   set LIBS = "$LIBS -lstrptime"

   set CFLAGS = "-I$SOURCE/3rdparty/strptime $CFLAGS"

   cd $COMPILE_ARCH

  $MAKE $MAKEOPT -f $SOURCE/3rdparty/strptime/Makefile "MAKE=$MAKE" "CC=$CC" \
      "COMPILE_ARCH=$COMPILE_ARCH" \
      "CFLAGS=$CFLAGS" "SOURCE=$SOURCE" \
      "KRBLIBS=$KRBLIBS" \
      "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" "RANLIB=$RANLIB" \
      "AR=$AR" "ARFLAGS=$ARFLAGS" \
      "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
      "DEPEND_FLAGS=$DEPEND_FLAGS" \
      "SHAREDLD=$SHAREDLD" "SHAREDEXT=$SHAREDEXT" "LIBEXT=$LIBEXT" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif

if ( "$MAKEFNMATCH" == 1 ) then
   echo ______3_r_d_p_a_r_t_y__F_N_M_A_T_C_H_____

   # Set TPLIB, LIBS, and CFLAGS for all compiles

   set TPLIB = "$TPLIB libfnmatch.a"

   set LIBS = "$LIBS -lfnmatch"

   set CFLAGS = "-I$SOURCE/3rdparty/fnmatch $CFLAGS"

   cd $COMPILE_ARCH

  $MAKE $MAKEOPT -f $SOURCE/3rdparty/fnmatch/Makefile "MAKE=$MAKE" "CC=$CC" \
      "COMPILE_ARCH=$COMPILE_ARCH" \
      "CFLAGS=$CFLAGS" "SOURCE=$SOURCE" \
      "KRBLIBS=$KRBLIBS" \
      "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" "RANLIB=$RANLIB" \
      "AR=$AR" "ARFLAGS=$ARFLAGS" \
      "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
      "DEPEND_FLAGS=$DEPEND_FLAGS" \
      "SHAREDLD=$SHAREDLD" "SHAREDEXT=$SHAREDEXT" "LIBEXT=$LIBEXT" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif

if ( "$ZLIBBASE" != "" || "$MAKEZLIB" == 1 ) then
   echo ______3_r_d_p_a_r_t_y__Z_L_I_B_______

   cd $SOURCE/3rdparty/zlib

   if ( ! -d $COMPILE_ARCH ) then
      echo " INFO: Architecture dir $COMPILE_ARCH not existing for 3rdparty zlib. Making"
      mkdir $COMPILE_ARCH
   endif

   cd $COMPILE_ARCH

  $MAKE $MAKEOPT -f ../Makefile.aimk "MAKE=$MAKE" "CC=$CC" \
      "CFLAGS=$CFLAGS" "SOURCE=$SOURCE" \
      "KRBLIBS=$KRBLIBS" \
      "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" "RANLIB=$RANLIB" \
      "AR=$AR" "ARFLAGS=$ARFLAGS" \
      "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
      "SHAREDLD=$SHAREDLD" "SHAREDEXT=$SHAREDEXT" "LIBEXT=$LIBEXT" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif

if ( "$ADD_COPYRIGHT" == 1 ) then
   set CFLAGS = "-DADD_COPYRIGHT -I$COPYRIGHT_DIR $CFLAGS"
else if ( "$ADD_SUN_COPYRIGHT" == 1 ) then
   set CFLAGS = "-DADD_COPYRIGHT -DADD_SUN_COPYRIGHT -I$SUN_COPYRIGHT_DIR $CFLAGS"
endif

if ( "$CORE" == 1 ) then
   cd $COMPILE_ARCH

   echo ________C_O_R_E__S_Y_S_T_E_M_________
   $MAKE $MAKEOPT -f $MAKEFILE "MAKE=$MAKE" "CC=$CC" "CFLAGS=$CFLAGS $CORE_INCLUDE" "DEPEND_FLAGS=$DEPEND_FLAGS $CORE_INCLUDE" \
       "SDIR=$SDIR" "SOURCE=$SOURCE" \
       "SECTARGETS=$SECTARGETS" "SECDEPEND=$SECDEPEND" "SECCLEAN=$SECCLEAN" \
       "SECLIB_OBJS=$SECLIB_OBJS" "SECLIB=$SECLIB" "SECLIBS=$SECLIBS"\
       "KRBTARGETS=$KRBTARGETS" "KRBDEPEND=$KRBDEPEND" "KRBCLEAN=$KRBCLEAN"\
       "KRBLIBS=$KRBLIBS" "KRBLIB=$KRBLIB" "GSSDEPEND=$GSSDEPEND" "GSSCLEAN=$GSSCLEAN" "MSDIR=$MSDIR" "SLIBS=$GSSLIBS $KLIBS" "LIBS=$LIBS $LINK_ZLIB" \
       "XCFLAGS=$XCFLAGS" "XLFLAGS=$XLFLAGS" \
       "XLIBS=$XLIBS" "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" \
       "RANLIB=$RANLIB" "AR=$AR" "ARFLAGS=$ARFLAGS" \
       "SGE_NPROCS_CFLAGS=$SGE_NPROCS_CFLAGS" "GCC_NOERR_CFLAGS=$GCC_NOERR_CFLAGS" \
       "GCC_NOSP=$GCC_NOSP" \
       "COMPILE_DC=$COMPILE_DC" "LOADAVGLIBS=$LOADAVGLIBS" "ZLIB=$ZLIB" "TPLIB=$TPLIB" \
       "XGETTEXT=$XGETTEXT" "MESSAGES=$MESSAGES" "COMPILE_ARCH=$COMPILE_ARCH" \
       "INTERACTTARGETS=$INTERACTTARGETS" \
       "LIBEXT=$LIBEXT" "SHAREDEXT=$SHAREDEXT" "SHAREDLD=$SHAREDLD" \
       "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
       "MEMCFLAG=$MEMCFLAG" \
       "PERLGUI=$PERLGUI" "PERL=$PERL" "SWIG=$SWIG" "CORE_INCLUDE=$CORE_INCLUDE" $argv $TARGET 
   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif


if ( "$QMON" == 1) then
   echo __________Q_M_O_N____________

   cd $SOURCE/3rdparty/qmon

   if ( ! -d $COMPILE_ARCH ) then
      echo " INFO: Architecture dir $COMPILE_ARCH not existing for 3rdparty Qmon Libs. Making"
      mkdir $COMPILE_ARCH
   endif

   cd $COMPILE_ARCH

   $MAKE $MAKEOPT -f ../Makefile "MAKE=$MAKE" "CC=$CC" \
      "CFLAGS=$CFLAGS" "SDIR=$SDIR" "SOURCE=$SOURCE" "COMPILE_ARCH=$COMPILE_ARCH" \
      "XCFLAGS=$XCFLAGS" "XLFLAGS=$XLFLAGS" "KRBLIBS=$KRBLIBS" \
      "XLIBS=$XLIBS" "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" "RANLIB=$RANLIB" \
      "AR=$AR" "ARFLAGS=$ARFLAGS" "ZLIB=$ZLIB" "TPLIB=$TPLIB" \
      "MEMCFLAG=$MEMCFLAG" \
      "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
      "GSHARED_CFLAGS=$GSHARED_CFLAGS" "GSHARED_LFLAGS=$GSHARED_LFLAGS" "GLIBEXT=$GLIBEXT" \
      "SHAREDLD=$SHAREDLD" "SHAREDEXT=$SHAREDEXT" "LIBEXT=$LIBEXT" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE

   cd $COMPILE_ARCH

   $MAKE $MAKEOPT -f $SOURCE/clients/qmon/Makefile \
       "MAKE=$MAKE" "CC=$CC" "CFLAGS=$CFLAGS $CORE_INCLUDE" "SDIR=$SDIR" "SOURCE=$SOURCE"\
       "SECTARGETS=$SECTARGETS" "SECDEPEND=$SECDEPEND" \
       "SECLIB=$SECLIB" "SECLIBS=$SECLIBS" \
       "KRBTARGETS=$KRBTARGETS" "KRBDEPEND=$KRBDEPEND" \
       "KRBLIBS=$KRBLIBS" "KRBLIB=$KRBLIB" \
       "DEPEND_FLAGS=$DEPEND_FLAGS $CORE_INCLUDE" \
       "MSDIR=$MSDIR" "LIBS=$KLIBS $LIBS $LINK_ZLIB" \
       "XCFLAGS=$XCFLAGS" "XLFLAGS=$XLFLAGS" \
       "XLIBS=$XLIBS" "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" \
       "RANLIB=$RANLIB" "AR=$AR" "ARFLAGS=$ARFLAGS" \
       "SGE_NPROCS_CFLAGS=$SGE_NPROCS_CFLAGS" "GCC_NOERR_CFLAGS=$GCC_NOERR_CFLAGS" \
       "COMPILE_DC=$COMPILE_DC" "LOADAVGLIBS=$LOADAVGLIBS" "ZLIB=$ZLIB" "TPLIB=$TPLIB" \
       "XGETTEXT=$XGETTEXT" "MESSAGES=$MESSAGES" "COMPILE_ARCH=$COMPILE_ARCH" \
       "INTERACTTARGETS=$INTERACTTARGETS" \
       "LIBEXT=$LIBEXT" "GLIBEXT=$GLIBEXT" "SHAREDEXT=$SHAREDEXT" "SHAREDLD=$SHAREDLD" \
       "SHARED_CFLAGS=$SHARED_CFLAGS" "SHARED_LFLAGS=$SHARED_LFLAGS" \
       "MEMCFLAG=$MEMCFLAG" $argv $TARGET
   if ( $status != 0 ) then
      echo not done
      exit 1
   endif
   
   cd $SOURCE
endif

if ( "$REMOTE" == 1) then
   echo ____3_r_d_p_a_r_t_y__R_E_M_O_T_E_____

   cd $SOURCE/3rdparty/remote

   if ( ! -d $COMPILE_ARCH ) then
      echo " INFO: Architecture dir $COMPILE_ARCH not existing for 3rdparty remote. Making"
      mkdir $COMPILE_ARCH
   endif

   cd $COMPILE_ARCH

   $MAKE $MAKEOPT -f ../Makefile "MAKE=$MAKE" "CC=$CC" \
      "CFLAGS=$CFLAGS" "LIBS=$LIBS" "SOURCE=$SOURCE" \
      "KRBLIBS=$KRBLIBS" \
      "LFLAGS=$LFLAGS $KLFLAGS" "STRIP=$STRIP" "RANLIB=$RANLIB" \
      "AR=$AR" "ARFLAGS=$ARFLAGS" "LIBEXT=$LIBEXT" \
      "MEMCFLAG=$MEMCFLAG" "COMPILE_ARCH=$COMPILE_ARCH" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif

if ( "$QMAKE" == 1) then
   echo _____3_r_d_p_a_r_t_y__Q_M_A_K_E______

   cd $SOURCE/3rdparty/qmake/$COMPILE_ARCH

   $MAKE $MAKEOPT -f Makefile "MAKE=$MAKE" "COMPILE_ARCH=$COMPILE_ARCH" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE
endif


if ( "$QTCSH" == 1) then
   echo _____3_r_d_p_a_r_t_y__Q_T_C_S_H______

   # with shared libs: qtcsh requires finding libsge.so during build
   # for AIX, we have to pass special options to make
   set SGE_COPTS = ""
   set SGE_LOPTS = ""


   if ( $SHAREDLIBS == 1 ) then
      set SHARED_PATH_NAME = `dist/util/arch -lib`

      switch ( $BUILDARCH )
         case AIX41:
         case AIX42:
         case AIX43:
            set SGE_LOPTS = "-brtl"
            breaksw
      endsw

      setenv $SHARED_PATH_NAME ${SOURCE}/${COMPILE_ARCH}:${ZLIBBASE}/${COMPILE_ARCH}
   endif

   set SGE_LIBS = "-lsge"

   if ( "$BUILDARCH" == "NECSX5" ) then
      set SGE_LIBS = "$SGE_LIBS -lfnmatch"
   endif

   cd $SOURCE/3rdparty/qtcsh/$COMPILE_ARCH

   if ( "$CC" == "insure" ) then
      setenv CC insure
   endif

   $MAKE $MAKEOPT -f Makefile "MAKE=$MAKE" "COMPILE_ARCH=$COMPILE_ARCH" \
         "SGE_LIBS=$SGE_LIBS $KRBLIB $LINK_ZLIB $LFLAGS $KLFLAGS $KLIBS" \
         "SGE_COPTS=$SGE_COPTS" "SGE_LOPTS=$SGE_LOPTS" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   if ( $SHAREDLIBS == 1 ) then
      unsetenv SHARED_PATH_NAME
   endif

   cd $SOURCE
endif

if ( "$ADOC" == 1) then
   echo _____3_r_d_p_a_r_t_y__A_D_O_C______

   cd $SOURCE/3rdparty/adoc

   if ( ! -d $COMPILE_ARCH ) then
      echo " INFO: Architecture dir $COMPILE_ARCH not existing for 3rdparty adoc. Making"
      mkdir $COMPILE_ARCH
   endif

   cd $COMPILE_ARCH

   $MAKE $MAKEOPT -f ../Makefile.aimk "MAKE=$MAKE" "CC=$CC" "CFLAGS=$CFLAGS" \
         "LFLAGS=$LFLAGS" $argv

   if ( $status != 0 ) then
      echo not done
      exit 1
   endif

   cd $SOURCE

   unset noglob

   set DIR_LIBS = "{libs/*}"
   set DIR_CORE = "{common,clients/*,daemons/*}"
   set DIR_TESTSUITE = "{../testsuite,../testsuite/*,../testsuite/*/*,../testsuite/*/*/*,../testsuite/*/*/*/*}"
   set SOURCE_LIBS = "$DIR_LIBS/*.c $DIR_LIBS/*.h"
   set SOURCE_CORE = "$DIR_CORE/*.c $DIR_CORE/*.h"
   set SOURCE_TESTSUITE = "$DIR_TESTSUITE/*.tcl $DIR_TESTSUITE/*.exp"

   set EDITION = "1.0"
   set REVISION = `grep GDI_VERSION libs/gdi/version.c | cut -f 2 -d '"'`

   echo "Creating documentation for libs: libs.texi"
   3rdparty/adoc/$COMPILE_ARCH/adoc --no-warnings -b -DPROJECT "Grid Engine Libraries" -DEDITION "$EDITION" -DREVISION "SGE $REVISION" -DCOPYRIGHT "The Grid Engine Team" -DAUTHOR "The Grid Engine Team" -I -xon -xitemize -2 $SOURCE_LIBS >libs.texi

   echo "Creating documentation for core system: core.texi"
   3rdparty/adoc/$COMPILE_ARCH/adoc --no-warnings -b -DPROJECT "Grid Engine Core System" -DEDITION "$EDITION" -DREVISION "SGE $REVISION" -DCOPYRIGHT "The Grid Engine Team" -DAUTHOR "The Grid Engine Team" -I -xon -xitemize -2 $SOURCE_CORE >core.texi

   echo "Creating documentation for testsuite: testsuite.texi"
   3rdparty/adoc/$COMPILE_ARCH/adoc --no-warnings -b -DPROJECT "Grid Engine Testsuite" -DEDITION "$EDITION" -DREVISION "SGE $REVISION" -DCOPYRIGHT "The Grid Engine Team" -DAUTHOR "The Grid Engine Team" -I -xon -xitemize -2 $SOURCE_TESTSUITE >testsuite.texi

   echo "To create a html or pdf documentation, execute for example"
   echo "texi2html libs.texi   or"
   echo "texi2pdf libs.texi"
endif

echo done.
exit 0
