Man Linux: Main Page and Category List

NAME

       shape_build - shapeTools RMS system building and installation

SYNOPSIS

       shape    [all][VERSIONS=<rule>] [variants] [macro settings]

       shape    install[VERSIONS=<rule>]    [INSTALLBASE=<path>]    [variants]
       [macro settings]

       shape    clean[<macro settings>]

       shape    cleancache  [<macro settings>]

       make     [all][<macro settings>]

       make     install[INSTALLBASE=<path>] [<macro settings>]

       make     clean[<macro settings>]

DESCRIPTION

       Shape all, or just shape (as all is the  default  target),  builds  the
       current  system  node.  It performs all necessary actions to derive the
       main  target  ($(TARGET)  in  the  Makefile)  from  the  node’s  source
       components.   Shape all also builds all subsystems of the current node.
       Before triggering any build action itself, if recursively  calls  shape
       for  each  subsystem.  Version selection is driven by the rule given as
       value to the VERSIONS macro, default is most_recent. The given  version
       selection  rule  on  the  command  line,  if  any,  is inherited to the
       recursive calls.

       Shape install installs the build results of the  current  node  in  the
       appropriate  locations. Things to be installed are usually binaries and
       manuals. The target installtargets in  the  Makefile  lists  all  these
       things  as  its  dependents. Shape install updates all build results in
       the same way as shape all does, before installing them.  Shape  install
       invokes  all  subsystems  of  the  current  node  in  the  installation
       procedure by recursively calling shape install for each of  them.  This
       is  done,  before it performs any build or install actions itself.  The
       appropriate versions  are  selected  according  to  the  given  version
       selection rule named in the VERSIONS macro.  The default rule for shape
       install  is  recent_release  selecting  the  most  recent  release   or
       prerelease  (whichever  is  newer).   The macro INSTALLBASE defines the
       installation base directory, an absolute pathname pointing to the  root
       of a directory tree, where the build results are to be copied to. Check
       the  Makefile  for  the  default  setting  of   INSTALLBASE   and   the
       installation  directories  defined  as relative pathnames starting from
       the  installation  base  directory.  Values  of  the  VERSION  and  the
       INSTALLBASE  macro  set  on  the  command  line  are  inherited  to all
       recursive calls.

       Shape clean removes all derived objects currently established  as  UNIX
       files. These are the files listed in the OBJECTS macro in the Makefile,
       the derived target ($(TARGET)), and the  target  aliases  ($(ALIASES)).
       The derived objects, established as UNIX files are those being produced
       from their source or reinstalled from the derived object  cache  during
       the  last  system build.  Shape cleancache cleans up the derived object
       cache, will say, it removes all objects stored there. All names  listed
       as  dependents  of  the  .BPOOL  special  macro  in  the  Shapefile are
       candidates to be cached. When multiple (different) versions of  derived
       objects  with  the  same  name  arise, the older ones are stored to the
       derived object cache. Shape cleancache in conjunction with shape  clean
       removes  all  derived  (automatically  reproducible)  objects.  The two
       cleanup actions are not called recursively.  They  apply  only  to  the
       current node.

       The build and cleanup actions (all, install and clean) of the shape RMS
       can be performed by make(1) and by shape(1). The  main  difference  is,
       that  shape  is  capable  of  setting up the appropriate source context
       according to a given version selection rule, while  make  only  regards
       the  regular  UNIX  files. Make will fail if not every component of the
       system has a checked out busy version.  The intention  for  maintaining
       Makefiles  suitable  for complete system builds aims at system building
       and installation from  a  source  distribution  rather  than  from  the
       development area. Source distributions are system copies taken from one
       of the release trees  (partial  release  area  or  release  area).  See
       shape_RMS(1) for details.

       Make  all,  make  install  and make clean behave similar to their shape
       counterparts. The difference is, that they  expect  a  complete  system
       source context to be set up as UNIX files (see above).

       Each  macro  definition in the Make- or Shapefile may be redefined from
       the command line. Most of the shape RMS standard macro definitions  are
       inherited  to recursive calls of make or shape. Check the shape_tmpl(7)
       manual page for a list of the standard macros.

INCONVENIENCES

       For technical reasons, each make call recursively invokes make  on  the
       same  level before performing any actions. This unfortunately restricts
       the efficacy of command line options. E.g. there is no chance  to  work
       with   the  -f  (alternate  name  for  the  Makefile)  option  and  the
       redefinition  of  macros  is  restricted  to  inherited   ones.    This
       restriction does not apply to shape calls.

FILES

       Makefile
       Shapefile

SEE ALSO

       shape_stdrul(7), shape_tmpl(7)