home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / linux / backup / star-1.3.1.tar.gz / star-1.3.1.tar / star-1.3.1 / BUILD < prev    next >
Text File  |  2001-04-03  |  8KB  |  262 lines

  1. Short overview for those who don't read manuals:
  2.  
  3.     There is no 'configure', simply call 'make' on the top level
  4.     directory.
  5.  
  6.     All results in general will be placed into a directory named 
  7.     OBJ/<arch-name>/ in the current projects leaf directory.
  8.  
  9.     You **need** either my "smake" program, the SunPRO make 
  10.     from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x)
  11.     or GNU make to compile this program. Read README.gmake for 
  12.     more information on gmake.
  13.  
  14.     All other make programs are either not smart enough or have bugs.
  15.  
  16.     My "smake" source is at:
  17.  
  18.     ftp://ftp.fokus.gmd.de/pub/unix/smake/alpha/
  19.  
  20.     It is easy to compile and doesn't need a working make program
  21.     on your machine.
  22.  
  23.     If you have the choice between all three make programs, the
  24.     preference would be 
  25.  
  26.         1)    smake        (preferred)
  27.         2)    SunPRO make
  28.         3)    GNU make    (this is the last resort)
  29.  
  30.     Important notice: "smake" that comes with SGI/IRIX will not work!!!
  31.  
  32.     Please read the README's for your operating system too.
  33.  
  34.             WARNING
  35.     Do not use 'mc' to extract the tar file!
  36.     All mc versions before 4.0.14 cannot extract symbolic links correctly.
  37.  
  38.     The versions of WinZip that support tar archives cannot be used too.
  39.     The reason is that they don't support symbolic links.
  40.     Star and Gnutar do support symbolic links even on win32 systems.
  41.     To support symbolic links on win32, you need to link with the
  42.     Cygwin32 POSIX library.
  43.  
  44.     To unpack an archive use:
  45.  
  46.         gzip -d < star.tar.gz | tar -xpf -
  47.  
  48.     Replace 'star' by the actual archive name.
  49.  
  50.  
  51. Here comes the long form:
  52.  
  53.  
  54. PREFACE:
  55.  
  56.     You don't have to call configure with this make file system.
  57.  
  58.     Calling    'make' or 'make all' on the top level directory will create
  59.     all needed targets. Calling 'make install' will install all needed
  60.     files.
  61.  
  62.     This program uses a new makefilesystem. The makefilesystem is optimized
  63.     for a program called 'smake' Copyright 1985 by J÷rg Schilling, but
  64.     SunPro make (the make program that comes with SunOS >= 4.0 and Solaris)
  65.     as well as newer versions of GNU make will work also.
  66.     BSDmake could be made working, if it supports pattern matching rules
  67.     correctly.
  68.  
  69.     The makefile system allows simultaneous compilation on a wide
  70.     variety of target systems if the source tree is accessible via NFS.
  71.  
  72.  
  73. Finding Compilation Results:
  74.  
  75.     To allow this, all binaries and results of a 'compilation' in any form
  76.     are placed in sub-directories. This includes automatically generated
  77.     include files. Results in general will be placed into
  78.     a directory named OBJ/<arch-name>/ in the current projects
  79.     leaf directory, libraries will be placed into a directory called
  80.     libs/<arch-name>/ that is located in the source tree root directory.
  81.  
  82.         <arch-name> will be something like 'sparc-sunos5-cc'
  83.  
  84.  
  85. How to compile:
  86.  
  87.     To compile a system or sub-system, simply enter 'smake', 'make' or 
  88.     'Gmake'. Compilation may be initialized at any point of the source
  89.     tree of a system. If compilation is started in a sub tree, all objects
  90.     in that sub tree will be made.
  91.  
  92.  
  93. How to install results:
  94.  
  95.     To install the product of a compilation in your system, call:
  96.  
  97.         smake install
  98.  
  99.     at top level. The binaries will usually be installed in 
  100.     /opt/schily/bin. The directory /opt/<vendor-name>/ has been agreed
  101.     on by all major UNIX vendors in 1989. Unfortunately, not all vendors
  102.     follow this agreement.
  103.  
  104.     If you want to change the default installation directory, edit the
  105.     appropriate (system dependent) files in the DEFAULTS directory
  106.     (e.g. DEFAULTS/Defaults.sunos5).
  107.  
  108.  
  109. Using a different installation directory:
  110.  
  111.     If your system does not yet use the standard installation path /opt
  112.     or if you don't like this installation directory, you can easily 
  113.     change the installation directory. You may edit the DEFAULTS file 
  114.     for your system and modify the macro INS_BASE.
  115.  
  116.     You may  use a different installation directory without editing the
  117.     DEFAULTS files. If you like to install everything in /usr/local, call:
  118.  
  119.  
  120.     If your make program supports to propagate make macros to sub make programs
  121.     which is the case for recent smake releases as well as for a recent gnumake:
  122.  
  123.         smake INS_BASE=/usr/local install
  124.     or
  125.         gmake INS_BASE=/usr/local install
  126.  
  127.     If you make program doesn't propagate make macros (e.g. SunPRO make) call:
  128.  
  129.         env INS_BASE=/usr/local make -e install
  130.  
  131.  
  132. Using a different C-compiler:
  133.  
  134.     The default C-compiler can be modified in the files in the
  135.     DEFAULT directory too. If you want to have a different compiler
  136.     for one compilation, call:
  137.  
  138.         make CCOM=gcc
  139.     or
  140.         make CCOM=cc
  141.  
  142.     This works even when your make program doen't propagate make macros.
  143.  
  144. Getting help from make:
  145.  
  146.     For a list of targets call:
  147.  
  148.         make .help
  149.  
  150.  
  151. Getting more information on the make file system:
  152.  
  153.     The man page makefiles.4 located in man/man4/makefiles.4 contains
  154.     the documentation on general use and for leaf makefiles.
  155.  
  156.     The man page makerules.4 located in man/man4/makerules.4 contains
  157.     the documentation for system programmers who want to modify
  158.     the make rules of the makefile system.
  159.  
  160.  
  161. Hints for compilation:
  162.  
  163.     The makefile system is optimized for 'smake'. Smake will give the
  164.     fastest processing and best debugging output.
  165.  
  166.     SunPro make will work as is. GNU make need some special preparation.
  167.  
  168.     Read README.gmake for more information on gmake.
  169.  
  170.     To use GNU make create a file called 'Gmake' in your search path
  171.     that contains:
  172.  
  173.         #!/bin/sh
  174.         MAKEPROG=gmake
  175.         export MAKEPROG
  176.         exec gmake "$@"
  177.  
  178.     and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make'
  179.     on Linux is really a gmake.
  180.  
  181.     'Gmake' and 'Gmake.linux' are part of this distribution.
  182.  
  183.     Some versions of gmake are very buggy. There are e.g. versions of gmake
  184.     on some architectures that will not correctly recognize the default
  185.     target. In this case call 'make all' or ../Gmake all'.
  186.  
  187.     Note that speudo error messages from gmake similar to:
  188.  
  189.     gmake[1]: Entering directory `cdrtools-1.10/conf'
  190.     ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory
  191.     ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory
  192.  
  193.     Are a result of a bug un GNU make. The make file system itself is
  194.     correct (as you could proove by usingsmake).
  195.     If your gmake version still has this bug, send a bug report to:
  196.  
  197.         "Paul D. Smith" <psmith@gnu.org>
  198.  
  199.     He is the current GNU make maintainer.
  200.  
  201.     If you like to use 'smake', please always compile it from source.
  202.     The packages are located on:
  203.  
  204.         ftp://ftp.fokus.gmd.de/pub/unix/smake/alpha/
  205.  
  206.     Smake has a -D flag to see the actual makefile source used
  207.     and a -d flag that gives easy to read debugging info. Use smake -xM
  208.     to get a makefile dependency list. Try smake -help
  209.  
  210.  
  211. Compiling the project using engineering defaults:
  212.  
  213.     The defaults found in the directory DEFAULTS are configured to
  214.     give minimum warnings. This is made because many people will
  215.     be irritated by warning messages and because the GNU c-compiler
  216.     will give warnings for perfectly correct and portable c-code.
  217.  
  218.     If you want to port code to new platforms or do engineering
  219.     on the code, you should use the alternate set of defaults found
  220.     in the directory DEFAULTS_ENG.
  221.     You may do this permanently by renaming the directories or
  222.     for one compilation by calling:
  223.  
  224.         make DEFAULTSDIR=DEFAULTS_ENG
  225.  
  226.  
  227. Compiling the project to allow debugging with dbx/gdb:
  228.  
  229.     If you like to compile with debugging information for dbx or gdb,
  230.     call:
  231.  
  232.         make clean
  233.         make COPTX=-g LDOPTX=-g
  234.  
  235.  
  236.     If you want to see an example, please have a look at the "star"
  237.     source. It may be found on:
  238.  
  239.         ftp://ftp.fokus.gmd.de/pub/unix/star
  240.  
  241.     Have a look at the manual page, it is included in the distribution.
  242.     Install the manual page with 
  243.  
  244.     make install first and include /opt/schily/man in your MANPATH
  245.  
  246.     Note that some systems (e.g. Solaris 2.x) require you either to call
  247.     /usr/lib/makewhatis /opt/schily/man or to call 
  248.  
  249.         man -F <man-page-name>
  250.  
  251. Author:
  252.  
  253. Joerg Schilling
  254. Seestr. 110
  255. D-13353 Berlin
  256. Germany
  257.  
  258. Email:     joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de
  259.     schilling@fokus.gmd.de
  260.  
  261. Please mail bugs and suggestions to me.
  262.