This is a pure Amiga port of GNU make. It needs no extra libraries or
anything. It has the following features (in addition to any features of
GNU make):
- Runs Amiga-Commands with SystemTags() (Execute)
- Can run multi-line statements
- Allows to use Device-Names in targets:
c:make : make.o
is ok. To distinguish between device-names and target : or ::, MAKE
looks for spaces. If there are any around :, it's taken as a target
delimiter, if there are none, it's taken as the name of a device. Note
that "make:make.o" tries to create "make.o" on the device "make:".
- Replaces @@ by a newline in any command line:
if exists make @@\
delete make.bak quiet @@\
rename make make.bak @@\
endif @@\
$(CC) Link Make.o To make
works. Note that the @@ must stand alone (ie. "make@@\" is illegal).
Also be carefull that there is a space after the "\" (ie, at the
beginning of the next line).
- Can be made resident to save space and time
- Amiga specific wildcards can be used in $(wildcard ...)
New in V3.76.1 (by Stefan Ruppert)
- added Workbench startup support
+ Now you can run GNU make from Workbench like smake
+ you can define any command line arguments in the ToolType section
+ added Ralph Babels WBPath Workbench path cloning functions
- fixed bug for default makefile include directory. Now it searches
makefiles to include in the mkinclude: directory.
- cleaned up the source code, moved some amiga specific code into the
amiga subdirectory.
- added OPTINLOCAL option, thus all static functions used only once
are inlined
- added getloadavg() function using the Executive SysInfo.library
- the provided executable is compiled for MC68000 processor
- added AmigaGuide version of the documentation
- for general bug fixes and news see NEWS file
BUGS:
- The line
dummy.h : src/*.c
tries to make dummy.h from "src/*.c" (ie. no wildcard-expansion takes
place). You have to use "$(wildcard src/*.c)" instead.
COMPILING FROM SCRATCH
----------------------
To recompile, you need SAS/C 6.5x. make itself is not neccessary, there
is an smakefile.
1. run the script in amiga/configure.SAS
2. run smake in the top level directory
if you specify CFLAGS=CPU=680x0 you can generate a executeable for
a specific CPU.
INSTALLATION
Copy make somewhere in your search path (eg. sc:c or sc:bin).
If you plan to use recursive makes, install make resident:
Resident make Add
|