GNU Make v3.64 for the Amiga ============================ Short: Amiga port of GNU Make 3.64 1. Contents of this archive: libs (dir) ixemul.library COPYING.LIB bin (dir) make build.sh config.h COPYING make.diff Makefile README 2. Installation Just copy bin/make to a place in your path (e.g. BIN:) and libs/ixemul.library to LIBS:. You will not be able to run make nor recompile without ixemul.library! The library was created by Markus Wild () and provides emulation of *NIX kernel/system functions (still credits where credits belong: Thank you Markus, thank you!). NOTE: GNU make and ixemul.library are FREE software. Please refer to libs/COPYING.LIB for copyright stuff concerning the library and COPYING for the GNU GENERAL PUBLIC LICENSE. The library source is available via anonymous ftp from amiga.physik.unizh.ch and mirrors. Currently, the vfork() system call from ixemul.library, as utilized by GNU make, requires OS2.x. I have not been able to test make under 1.x, it *might* work, but will certainly not if vfork() is invoked. Full functionality is available at least under 2.x. With 3.0, however, there should be no problems, but I couldn't test that, too. 3. Recompile Source and documentation of GNU make-3.64 are available via anonymous ftp from various sites, most probably from the site you got this archive from. Please check make.diff for modifications! Eg. you will probably want to adjust the stuff around INCLUDEDIR and LIBDIR in read.c and remake.c if your gcc: tree layout diverges from the standard one. There are several ways to recompile: - use 'build.sh' in the current dir to rebuild 'make' without a make-tool > sh build.sh - use 'bin/make' or your (up to now) favorite make-tool and the included 'Makefile' :); the Makefile might need editing for correct pathes and binaries on your machine - use the original 'configure' shell script: > sh configure This step requires the following binaries in your path, which are available from the gcc-release, SKsh, pdksh, self-compiling etc.: sh, rm, tr, chmod, sed, cat, egrep, grep, mv, gcc, gccv :). HINT: if you have an 'install'-programm in your path, please rename make-3.64/INSTALL to something (completely :)) different; if the current directory is in your path before the location the 'install'-programm resides, 'configure' inserts make-3.64/INSTALL as install-programm, because AmigaOS is not case-sensitive. If sh cannot find your binaries: 'set PATH ' (you could also recompile pdksh with your preferred path builtin :)). IMPORTANT: the original 'configure'-script has to be edited to use 'gccv' instead of 'gcc'. Just search for the following lines and replace 'gcc' with 'gccv' where noted: ... echo checking for gcc saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/gcc; then # <-- replace here CC="gcc" # <-- replace here ... Otherwise you will NOT be able to run configure (I blushingly withdraw my bugreport concerning IXPIPE ...). The created 'config.h' will contain wrong '#define's' and needs editing by hand. I have no idea if this arises from the amiga-'sh' or is a deficiency of 'configure'. So check carefully or use the included config.h! 4. Documentation There are no docs included. Full documentation is available via anonymous ftp (make-doc-3.64.tar.z). Using 'make.texinfo' from the original 'make-3.64.tar.z'-archive and 'makeinfo' from AmigaLibDisk 787 you can create a plain ASCII-file, a 'TeX'-ed documentation, the make.info-?-files for use with InfoView or even an AmigaGuide-style docfile. GNU make offers several features not provided by other make utilities: - recursive make (descending directory trees, make, ascend) - multiple concurrent make jobs (really works, but needs LOTS of ram!) - a lot of additional implicit rules Send bugs, comments, needles and pins, Them Bones, '040/33-boards to And, as always, have fun! (>;-)) Lars Hecking