home *** CD-ROM | disk | FTP | other *** search
- --------------------------------------------------------------------------
- Public Domain Make - Author (I assume Neil Russell)
- MS-DOS modifications: Cheyenne Wills.
- Amiga modifications: Talin.
- --------------------------------------------------------------------------
- This is an enhanced version of the 'make' utility I found on BIX.
- Enhancements so far include:
-
- - Now supports amiga enviroment variables.
- - #include facility.
- - improved documentation.
- - added '-a' (make all) option.
- - added '-e' (enviroment priority) option.
-
- Other changes:
-
- - extensive modifications to support timestamps in Amiga format.
- - working on making the program 'resident', not done yet.
- - changed default rules to be more suitable for Amiga.
- - got rid of a lot of MS-DOS specific code that wasn't needed.
- - got rid of a lot of code for other operating systems. Basically
- only left in code for AmigaDOS and Unix.
- - added lots and lots of comments.
-
- On the whole, I've made the program somewhat less portable than before,
- but since the origincal sources are available I don't see portability as a
- major design objective.
-
- Talin.
-
- My real address is:
-
- David Joiner
- 17428 Chatsworth St.
- Granada Hills, CA 91334.
-
- BIX: talin
-
- --------------------------------------------------------------------------
- The following are the two readme files that were associated with
- the two postings to net.sources (on usnet). The source code
- is that from the second posting with additions for running under
- ms-dos.
-
- I would like to thank Neil Russell for writting and placing this
- version of MAKE in the public domain. It is perhaps one of the
- closest PD makes to the UNIX version.
-
- Enjoy.
-
- Cheyenne Wills
- 12 West Locust St.
- Mechanicsburg Pa. 17055
-
- P.S. Neil didn't copyright any of the code. Neither am I, but
- I feel that he would want at least the following disclaimer (and
- so do I)
-
- Disclaimer:
-
- No guarantees or warranties of any kind: This code is distributed
- "AS IS" without any warranty of any kind, either expressed or implied,
- including, but not limited to the implied warranties of merchantability
- and fitness for a particular purpose. You are soley responsible for the
- selection of the program to achieve your intended results and for the
- results actually obtained. Should the program prove defective, you (and
- not the author) assume the entire cost of all necessary servicing,
- repair, or correction.
-
- Neither the author nor anyone else who has been involved in the
- creation, production or delivery of this program shall be liable for any
- direct, indirect, consequential or incidental damages arising out of the
- use or inability to use this program.
-
- readme.1 ----------------------------------------------------------
- Enough coaxing... Here it is. It will need work to work on most
- other systems, but the work should be minor. I went though the
- source just now, and here is a list of things which I noticed that
- will need changing.
-
- make.c:
- * Fix dosh() for your system.
- * Call to getstat() in modtime() is like a fstat() on unix,
- so it needs fixing.
- main.c:
- * You can have fun in main(). That call to initalloc() is
- really special to EON.
- rules.c:
- * Fix makerules() to suit you compilers for the auto suffix
- stuff.
-
- It supports most features of the UNIX make, the notable exceptions
- being libraries, and some subtleties with quoting. I will support
- problems with it to a degree. Good luck.
-
- P.S. I never actually got around to writing a manual entry for
- it, so the best course of action is to refer to the UNIX
- manual entry, or the source.
-
-
- --------------------------------------------------------------------------
- Neil Russell
- ACSnet: caret@tictoc.oz
- UUCP: ...!seismo!munnari!tictoc.oz!caret
- ARPA: caret%tictoc.oz@seismo.arpa
- readme.2 -------------------------------------------------------------
- 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)
-