Fastmake changelog

This changelog contains only significant changes and does not contain minor fixes and intermediate changesets.
Version 1.16
2010-08-27 16:49:21 +0400
2010-08-27 13:26:56 +0400
include environment variables in macro evaluation like in GNU make
2010-08-27 12:40:01 +0400
GNU make --no-keep-going, --no-print-directory command line options
2010-08-27 10:27:23 +0400
GNU make MAKEFLAGS macro, fixes concerning sub-make command line arguments
2010-08-25 23:06:25 +0400
recursive $(make ) function did not parsed some command line flags - fixed
2010-08-25 14:37:01 +0400
new function $(exist ) to check if the file or directory exists
Version 1.15
2010-07-30 14:03:15 +0400
2010-07-29 10:41:55 +0400
when determining default goal from the first target: take all targets from the first rule not only the first in a list
2010-07-27 14:35:08 +0400
--warn-undefined-variables command line argument as in GNU make and --error-undefined-variables command line argument as a feature
2010-07-25 00:31:42 +0400
MAKELEVEL function similar to GNU make's
2010-07-24 17:59:49 +0400
GNU make @D,@F,*D,*F,<D,<F,^D,^F,+D,+F autovalues are supported for compatibility
2010-07-12 16:54:16 +0400
$(date format) function to return formatted date. Fast alternative to 'date' command
Version 1.14
2010-07-05 16:31:06 +0400
2010-07-05 14:46:04 +0400
mac os build
2010-07-01 22:17:36 +0400
gcc 4.3 compilation
2010-06-29 01:25:52 +0400
GNU make patsubst infix equivalent support. E.g. $(f:%.cpp=%.o)
2010-06-25 23:51:24 +0400
free text scripting - that is if a line is not recognized as rule or assigment then it is executed as command
Version 1.13
2010-06-21 10:45:15 +0400
2010-06-17 01:03:15 +0400
GNU make 'call' function is now supported
2010-06-13 14:57:35 +0400
user defined functions with positional arguments $1 $2, ... is now supported.
2010-06-13 01:40:28 +0400
GNU make compatibility issue: 1 char identifier can be referenced without brackets
Version 1.12
2010-06-02 10:32:30 +0400
2010-05-31 10:06:37 +0400
GNU make 'patsubst','findstring' functions implemented
2010-05-30 13:27:40 +0400
new functions tolower,toupper implemented. Corresponding :l :u infix operators added.
2010-05-23 23:51:35 +0400
GNU make $(filter ), $(filter-out) functions
Version 1.11
2010-05-22 22:59:03 +0400
2010-05-22 22:59:03 +0400
correctly working GNU make $(if ) function
2010-05-22 16:07:10 +0400
GNU make 'info','warning','error' functions are supported
2010-05-21 10:21:47 +0400
GNU make condition operators are supported: ifeq, ifneq, ifdef, ifndef for compatibility. However it is recommended to use .IF operator
2010-05-06 12:01:25 +0400
GNU make ?= conditional assignment is now supported. Moreover missed :+=,:?= immediate evaluated operators are supported
Version 1.10
2010-04-15 01:21:49 +0400
2010-04-15 00:04:14 +0400
$(ls ) function 'p' flag to preserve path of listed files
2010-04-11 21:40:51 +0400
variable and function modifiers can be multiplied. Ex.: $(FILES:-.cpp:+.obj) - changes extensions for all $(FILES) from .cpp to .obj
2010-04-11 01:11:18 +0400
variable modifiers (such as :f, :d,:+,...) are allowed for functions
2010-03-07 14:53:21 +0300
move to MS VS 2008 in windows build
2009-12-05 17:39:08 +0300
'lookhup' (look here up) directive - search for a mak file in current directory and in upper directories
2009-09-03 14:46:08 +0400
another $(echo msg, fileName) function with file name as second parameter to dump msg to file.
Version 1.09
2009-09-01 11:07:06 +0400
2009-08-29 14:09:58 +0400
GNU make 'suffix','wordlist' functions added
2009-08-28 19:13:31 +0400
lookup.mak: if makefile is not found in a current directory the fastmake searches for lookup.mak in upper directories as a makefile replacement
2009-08-28 18:24:56 +0400
lookup <path> directive. It is like 'include' but searches for a specified file in upper directories
2009-08-28 11:34:55 +0400
GNU make 'dir', 'notdir', 'basename' functions.
Version 1.08
2009-08-01 02:10:56 +0400
2009-07-11 23:32:11 +0400
GNU make 'export' directive implemented to export environment variables to recipe processes
2009-06-17 11:33:31 +0400
$(rm ) function can now remove directories recursively. Alternative to 'rm -r' command
2009-06-17 10:33:22 +0400
$(cat filename) function. Fast alternative to 'cat' command
2009-05-24 14:05:43 +0400
in-recipe .CD operator to create a working directory scope for group of commands
Version 1.07
2009-05-18 11:34:19 +0400
2009-05-17 23:44:44 +0400
GNU make 'vpath' directive support to specify search dirs for target patterns
2009-05-17 15:18:11 +0400
fill CURDIR variable with current directory as in GNU make
2009-05-17 13:12:30 +0400
fix $^ $+ automatic variables
2009-05-07 09:55:23 +0400
GNU make MAKECMDGOALS predefined variable. It contains targets specified in command line
2009-05-04 10:58:52 +0400
static pattern rules (like in GNU make) are supported
Version 1.06
2009-04-13 20:27:53 +0400
2009-04-13 20:27:53 +0400
function $(cp src,dst) now performs recursive directory copying in case of directories
2009-04-13 17:11:14 +0400
$(arith <expression>) function. Allows to evaluate simple arithmetic expressions
2009-03-29 16:08:52 +0400
GNU make $(sort ) function implemented
2009-03-29 14:55:55 +0400
add 'r' flag to $(ls) function to process subdirectories recursively
2009-03-28 23:20:13 +0300
use popen() for $(shell) function to make it faster and avoid temporary file creating
Version 1.05
2009-03-25 00:33:12 +0300
2009-03-22 23:46:40 +0300
-j N flag added to specify number of parallel threads that is run by .PARALLEL rule modifier
2009-03-20 01:51:49 +0300
.PARALLEL target modifier. Parallel recipe execution is now supported.
2009-03-14 00:48:23 +0300
GNU make functions 'word','words','firstword','lastword' implemented
2009-03-13 11:34:38 +0300
.NOMAKEFILE directive. It allows not to have regular makefiles and have all the rules in one common makefile
Version 1.04
2009-03-12 00:15:22 +0300
2009-03-11 12:39:44 +0300
optimize $(ls ) function. It works many times faster.
2009-03-11 01:06:19 +0300
autodetect TARGET (WIN32 or LINUX) variable from environment variable. No need to specify TARGET in a command line
2009-03-01 02:10:13 +0300
$(makedep ) function takes #include file enclosure symbols as a parameter. Useful to process <> and "" included files separately
Version 1.03
2009-02-23 00:20:32 +0300
2009-02-20 14:25:03 +0300
.CONTENT target modifier. It allows to compare file content instead of modification date
2009-02-18 10:08:51 +0300
GNU make $(abspath path) function implemented
2009-02-15 02:14:09 +0300
new prerequisite modifiers: .UNRELIABLE - run recipe if prerequistite failed, .CARELESS - pass failure up to target
Version 1.02
2009-02-12 02:09:03 +0300
2009-02-12 02:09:03 +0300
GNU make $(foreach ..) function implemented
2009-01-07 23:45:48 +0300
GNU-style target modifier support, e.g. .PHONY : <target>
Version 1.01
2009-01-06 16:57:32 +0300
2009-01-05 01:57:24 +0300
GNU make 'shell' function implemented
Version 1.00
2009-01-03 20:43:51 +0300
2009-01-03 11:32:48 +0300
GNU make 'or','and' functions implemented
2008-12-29 11:49:03 +0300
join function added
2008-12-22 12:49:44 +0300
.FOREACH operator. Posibility to genetate variables and rules using iteration.
2008-12-14 02:16:07 +0300
use startup.mak to optimize passes
2008-12-14 02:00:05 +0300
use makefile.mak by default if -f option is omitted
2008-12-14 00:59:52 +0300
startup.mak posibility to optimize global application context setup
2008-12-13 03:11:51 +0300
-k mode fixed