home *** CD-ROM | disk | FTP | other *** search
/ Dream 41 / Amiga_Dream_41.iso / Amiga / Programmation / c / gcc / make-3_68.lha / make-3.68 / README < prev   
Encoding:
Text File  |  1993-08-20  |  4.9 KB  |  122 lines

  1. GNU Make v3.68 for the Amiga
  2. ============================
  3.  
  4. Short: Amiga port of GNU Make 3.68
  5.  
  6. 1. Contents of this archive:
  7.  
  8.    glob (dir)
  9.      Makefile
  10.    bin (dir)
  11.      make
  12.    build.sh
  13.    config.h
  14.    config.status
  15.    COPYING
  16.    make.diff
  17.    Makefile
  18.    README
  19.  
  20. 2. Installation
  21.  
  22.    Just copy bin/make to a place in your path (e.g. BIN:). You will also
  23.    need ixemul.library in LIBS:, which is available on aminet.
  24.  
  25.    GNU make is free software.  See the file COPYING for copying permission.
  26.  
  27.    Currently, the vfork() system call from ixemul.library, as used by GNU
  28.    make, requires OS2.x. I have not been able to test make under 1.x, it
  29.    *might* work in some simple cases, but will certainly not if vfork() is
  30.    invoked. Full functionality is available at least under 2.x. With 3.0,
  31.    however, there should be no problems, but I couldn't test that, too.
  32.  
  33. 3. Recompile
  34.  
  35.    Source and documentation of GNU make-3.68 are available via anonymous
  36.    ftp from various sites, most probably from the site you got this archive
  37.    from. Please check make.diff for modifications! Eg. you will probably
  38.    want to adjust the stuff around INCLUDEDIR and LIBDIR in read.c and
  39.    remake.c if your gcc: tree layout diverges from the standard one.
  40.  
  41.    There are several ways to recompile:
  42.  
  43.    (1) use 'config.status' to recreate 'build.sh' and the Makefiles
  44.        > sh config.status
  45.  
  46.    (2) use 'build.sh' in the current dir to rebuild 'make' without a
  47.        make-tool
  48.        > sh build.sh
  49.  
  50.    (3) use the original 'configure' shell script:
  51.        > sh configure
  52.  
  53.    (4) use 'bin/make' or your (up to now) favorite make-tool and the
  54.        included Makefiles :); ./Makefile might need editing for correct
  55.        pathes and binaries on your machine
  56.  
  57.      Except for (4) the following binaries are required in your path,
  58.      which are available from the gcc-release, SKsh, pdksh, GNU
  59.      file- and textutils, GNU-grep etc.: sh, rm, tr, chmod, sed, cat,
  60.      egrep, grep, mv, gcc/v.
  61.  
  62.      HINT: if you have an 'install'-programm in your path (e.g from
  63.      GNU-fileutils), please rename ./INSTALL; if the current directory is
  64.      in your path before the location the 'install'-programm resides,
  65.      'configure' inserts ./INSTALL as install-programm, because AmigaOS is
  66.      not case-sensitive. Also beware of C:Install.
  67.  
  68.      If sh cannot find your binaries: '"set" or "setenv" PATH <where the
  69.      bins reside>' (you could also recompile pdksh with your preferred path
  70.      builtin).
  71.  
  72.      IMPORTANT: check make.diff for the modifications to the
  73.      'configure'-script. It will only work with gccv instead of gcc!
  74.  
  75.      The created 'config.h' sometimes contains wrong '#define's' and needs
  76.      editing by hand. I have no idea if this arises from pdksh or is a
  77.      deficiency of 'configure'. So check carefully or use the included
  78.      config.h.
  79.  
  80. 4. Documentation
  81.  
  82.    There are no docs included. Full documentation is available via
  83.    anonymous ftp (make-doc-3.68.tar.gz). Using 'makeinfo' (see
  84.    aminet:text/hyper/mkguide*) with 'make.texinfo' from the source
  85.    distribution you can create a plain ASCII-file, a 'TeX'-ed
  86.    documentation, the make.info-?-files for use with InfoView or even an
  87.    AmigaGuide-style docfile.
  88.  
  89.    GNU make offers several features not provided by other make utilities:
  90.    - recursive make (descending directory trees, make, ascend)
  91.    - multiple concurrent make jobs (really works, but needs LOTS of ram!)
  92.    - a lot of additional implicit rules
  93.  
  94. 5. Hints (Hi Rainer and Ed!)
  95.  
  96.    - RAM, RAM, RAM and more RAM! Using make recursively on nested
  97.      directories, such as often found inside GNU-distributions, requires
  98.      several MB of RAM (several > 5, usually). Eg., when compiling groff or
  99.      libg++, at some point of execution you may find two or more instances
  100.      of each make and pdksh running concurrently, additionally to the
  101.      compilers. Since gcc requires at least around 250k of stack you must
  102.      have set your current shell's stack to that value. Unfortunately,
  103.      *all* of the executables started by make will have that large stack
  104.      allocated, resulting in 1--3 MB of RAM for stack only! To save you
  105.      some RAM, it might be exciting to find out how *small* the stacksize
  106.      may be but have gcc still working ... :). Maybe GigaMem or something
  107.      similar provides you a satisfactory solution. I have tried 'Virtual'
  108.      from the german 'Amiga-Magazin' PD-Disk, but this does work with
  109.      resident'ed executables.
  110.    - make often starts subprocesses via pdksh ($SH = /bin/sh). Therefore it
  111.      is quite useful to have 'sh' resident.
  112.    - To save some memory when using make recursively I tried to compile
  113.      'make' with '-resident'; it compiled properly, but the resulting
  114.      binary ignored all command line options and was likely to meet the
  115.      guru. Any idea on this?
  116.  
  117. Send bugs, comments, needles and pins, A5000's, SPARC-2-Notebooks to
  118.     <st000002@hrz1.hrz.th-darmstadt.de>
  119.  
  120. And, as always, have fun! (>;-))
  121. Lars Hecking
  122.