Download List

Project Description

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.

System Requirements

System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.

2005-05-04 12:10
1.2a30

Support for the ':=' assignment operator has been added (with
non-portability warnings to help people to write portable
makefiles). Smake now detects endless recursions from bad
default rules. It now supports Termination pattern matching
rules like %:: s.%; SCCS get $@ to prevent endless recursion
on such default rules. It now prints Command line Exit
messages for failed command even if not in debug mode, and
now also searches for lib/default.smk in case av[0] contains a
path name with slashes.
Tags: Major feature enhancements

2005-04-29 14:14
1.2a29

Support for :: rules was added, this is not POSIX but historic
use in makefiles. This release will now print the current
directory if the exitcode != 0. It now appends to dependency
lists even when the new definition is found in a new makefile. It
now warns if the dynamic macros '$*' & '$<' are used for
explicit Target Rules. Note that Sun Make and GNU make are
broken in this area and smake's behavor is the best a make
program may do. It no longer has a static command line macro
limit of 64, and no longer has a static -f makefile option limit of
32.
Tags: Major feature enhancements

2005-04-25 10:49
1.2a28

The right side if a VPATH= statement is now expanded, making commands like VPATH=$(srcdir) work. The .SUFFIXES target is now appended rather than overwritten if assigned in a new Makefile. CFLAGS += now works again. The dynamic $O (.OBJDIR or "." if .OBJDIR has not been defined) macro may now be overwritten.
Tags: Minor feature enhancements

2005-04-21 14:46
1.2a27

smake -d now prints make level, recursive make,
and the working directory for smake. smake -d now
prints .OBJDIR, .OBJSEARCH, and .SEARCHLIST. The
parser has been fixed so that white space at the
end of a list will no longer be expanded into a
Null ('') object name. FORCE: target type special
treatment is now done even when the target in
question is the current default target. The
.PHONY: state of a target is printed in various
debug output. smake -t no longer touches targets
marked as .PHONY:. Smake no longer strips off the
directory name for targets when expanding the '$*'
dynamic macro.
Tags: Minor feature enhancements

2005-04-17 22:06
1.2a26

smake -p now includes comment headlines that allow for better identification of the various sections in the output. This release switches from the custom "Simple Pattern Rules" for implicit rules to POSIX Single and Double suffix Rules. Special code has been added that helps to deal with some empty FORCE: like pseudo-targets. A parser bug that caused problems with single character macros has been fixed. There is better EOF checking in the parser to avoid infinite loops. Simple Suffix Rules are no longer allowed to start with "./", as this is a valid target name.
Tags: Major feature enhancements

Project Resources