NEW features of smake-1.2a26: - smake now has been tested with various makefiles from various software and is expected to be able to be used to compile any piece of software that does not rely on bugs found in specific make implementeations. The following problems are currently known: - GNU make comes with two files called 'SMakefile' and thus feeds two files with the preferred Makefile name into smake. Unfortunately, these two file in GNU make do not contain valid make syntax. Solution: Before you like to compile GNU make using smake, you need to remove "SMakefile" and "glob/SMakefile". - Samba comes with a Makefile that illegally useses the '$<' dynamic macro in commands for explicit rules. The '$<' dynamic macro is only expanded in case that an implicit (inference) rule is processed. As samba uses '$<' inside an explicit rule where this dynamic macro has no meaning (see POSIX make standard) it is expanded to nothing but space by smake. Solution: change '$<' to a manual copy of the source file for explicit rules. - Samba comes with a Makefile that illegally useses the '$*' dynamic macro in commands for explicit rules. The '$*' dynamic macro is only expanded in case that an implicit (inference) rule is processed. As samba uses '$*' inside an explicit rule where this dynamic macro has no useful meaning (see POSIX make standard) and smake cannot know the 'right' suffix, '$*' is expanded to the part of '$@' being left to the rightmost '.' character in '$@' by smake. Solution: change something like '$*.po.o' to '$@' for explicit rules. - If you find other problems, plese report and let us find the reason..... It is most likely that the related Makefile is buggy. - smake -d now prints make level (in case of recursive make calls) and the working directory for smake. - smake -d now prints .OBJDIR .OBJSEARCH .SEARCHLIST (needed -dd before) - 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: DUMMY= LIST= 1 2 3 4 $(DUMMY) target: $(LIST) Did create such a problem. - Better source comments for FORCE: target type special treatment. - FORCE: Target type special treatment is now done even when the target in question is the current default target. - Print the .PHONY: state of a target in various debug output - smake -t does no longer touch targets marked as .PHONY: - Debug print of default target is now also included if the default target is explicitly named via arvg[] from main(). - Smake no longer strips off the directory name for targets when expanding the '$*' Dynamic macro. Smake did previously expand '$*' for dir/name.o -> name Smake now expands '$*' for dir/name.o -> dir/name WARNING: Do not use 'winzip' to extract the tar file! Winzip cannot extract symbolic links correctly. Joerg