910643ccbb
+ Addition of function prototypes and include files. + Change function definitions to ANSI C style. + Initial support for CMake |
||
---|---|---|
.. | ||
check.c | ||
CMakeLists.txt | ||
h.h | ||
input.c | ||
macro.c | ||
main.c | ||
make.c | ||
Makefile | ||
reader.c | ||
README | ||
rules.c |
Following is a repost of the public domain 'make' that I posted to net.sources a couple of months ago. I have fixed a few bugs, and added some more features, and the resulting changes amounted to about as much text as the whole program (hence the repost). For those that missed the net.sources posting, this is a public domain re-implementation of the UNIX make program. There is no manual included; for documentation, refer to a UNIX manual, or the source. Here is a list of the changes made: i) If '-' (ignore) or '@' (silent) where used at the start of a command, their effect was not turned off for the following commands. ii) A special target (.SUFFIXES, .PRECIOUS) or a rule (.c.o, .a.o), if first in the file would be taken as the default target. This resulted in error messages like "Don't know how to make .c", because things like .SUFFIXES were being made. This was further complicated by --- iii) Special target lines with no dependents (ie. .SUFFIXES:\n) were not clearing out the existing dependents like they should. iv) Default rules could not be redefined because of the error checking for commands being defined twice. Now you are allowed to define a target beinging with '.', having no dependents with commands. v) The -q option didn't do the time comparison correctly, or clear the variable used to keep track of this. Thus it didn't work very well. vi) The syntax ${..} for macro's supported by UNIX make was not supported. vii) There wuz a couple of spelling errors. viii) When make checked for implicit rules on targets without a suffix, there were problems. (Note: The ~ feature of UNIX make wasn't and still isn't supported) ix) The -n option did not print @ lines like it was supposed to. x) :: added. (See UNIX manual) xi) $? added. (see UNIX manual) Hacked further by Ceriel Jacobs to make it work better. Use this "make" to install ACK under Microsoft Xenix V3.2. Some of the makefiles are just too big for the Xenix "make". Strange, they work on a PDP-11 ... Made it almost ISO C90 and POSIX portable by Carl Eric Codere, and also made it safer by using correct datatypes on some library calls.