smake is a higly portable make program with automake features. It implements a complete superset of the features of the classical Unix make program. It warns about typical misusage of dynamic macros that prevent portability of makefiles.
| Tags | Software Development Build Tools Archiving Packaging Utilities |
|---|---|
| Licenses | GPL |
| Operating Systems | BeOS Mac OS X Windows Windows OS Independent OS/2 POSIX |
| Implementation | Assembly C Other Unix Shell |
Recent releases


Changes: Major restructuring was done. An autoconf test to check whether /bin/sh is bash was added to allow the use of workarounds for various bash bugs. Built-in uname(1) support was enhanced for Mac OS X and *BSD. The .NO_WARN feature was added. A bug introdunced when allowing infinitely long strings was fixed.


Changes: The licence was changed from the GPL to the CDDL. The string length limitation for words read from Makefiles has been removed. Macro expansion no longer uses static length limitations. The new Special Target ".SPACE_IN_NAMES:" allows you to have escaped spaces in object or dependency names, which helps to create auto-dependencies for the Microsoft C compiler. The Makefile system now includes the environment setup for the Microsoft C compiler.


Changes: The strlcpy.c and strncpy.c files were added to the first bootstrap build stage. Note that you cannot directly build a recent smake with a very old smake. Either use a different make to compile or create the first stage manually with: cd psmake; sh MAKE-sh, then cd ..; psmake/smake


Changes: This release fixes a bug with string processing on the "growable buffer" that caused smake to dump core in cases of certain string length combinations for macros.


Changes: Support for "Interix" was added, which is what you get when compiling on "Services For Unix" on MS-Windows. $O may be used in pattern matching expansions. Under some circumstances, the Macro expansion code ate up whitespace, so this has been corrected. The makefile system has been enhanced to support compiling with the Microsoft compiler "cl".