smake is a highly portable 'make' program that makes commands up to date based on rules in Makefiles and on the timestamps of the related files. It implements a complete superset of the features of the classical POSIX/Unix make program. It warns about typical misuse of dynamic macros that prevent portability of makefiles. Its automake features allow you to run scripts to automatically create rules for unknown platforms.
|Tags||Software Development Build Tools Archiving Packaging Utilities|
|Operating Systems||BeOS Mac OS X Windows OS Independent OS/2 POSIX|
|Implementation||Assembly C Other Unix Shell|
Release Notes: This release fixes a bug that caused $(CLANG_OPT$(C_ARCH:clang%=%)) not to be expanded but aborted with: smake: Missing ')' in macro call 'C_ARCH'. Support for clang was added.
Release Notes: smake now tries to inline "echo" commands and to avoid shell calls in order to speed up execution on platforms with slow process creation such as Win-DOS (cygwin).
Release Notes: Support for some new platforms was added. This release correctly implements the '+' command line prefix even when it has been called with -t (touch). Better file PATH search allows smake to better find its internal .../lib/defaults.smk file that contains the default rules (see libschily/searchinpath.c).
Release Notes: ./.clean now removes symlinks. Experimental rules for using "pcc" on Solaris x86 were added. C-dependencies on AIX are now extracted using "cc -M -qsyntaxonly". As the new Intel 64 bit strcpy() implementation does not work correctly with overlapping strings, smake now includes a ovstrcpy() function to avoid related problems. Smake now supports $(EMPTY): target names. A minor bug in the makefile parser was fixed. The bug caused targets that appeared directly after an otherwise empty line that started with a TAB character to be ignored.
Release Notes: There are many new features. Smake is now usable as a general purpose make program and works on virtually any platform.