Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site watrose.UUCP Path: utzoo!watmath!watrose!jmsellens From: jmsellens@watrose.UUCP (John M Sellens) Newsgroups: net.micro.pc Subject: 'Make' for the PC (includes a minor flame) Message-ID: <6861@watrose.UUCP> Date: Mon, 2-Jul-84 19:03:06 EDT Article-I.D.: watrose.6861 Posted: Mon Jul 2 19:03:06 1984 Date-Received: Tue, 3-Jul-84 01:46:37 EDT Organization: U of Waterloo, Ontario Lines: 108 Some people have been referring to MY program as public-domain. I would not refer to it in that manner. My intention was that I would retain ownership but I would let others pass it around non-commercially - there are comments to this effect in the code. (Perhaps that IS public domain - I don't know.) I do know that I included a prominent statement in the code - that ALL contributions in return for using my program will be gratefully accepted. Funny - I haven't heard from very many people - virtually no one has taken the miniscule amount of time required to let me know that my generosity was appreciated. Perhaps my program has turned out to be of little use to people? One person recently posted an article to the net describing my make program and offering to supply it to anyone that asked for it. I was a little annoyed that they chose not to mention the originator - me. (Yes I know that that sounds a little egotistical(?).) Since the original version that went on the net I have made a couple of minor changes - one, dealing with the way the date and time of a file is determined, can result in much improved performance when dealing with large makefiles with a large number of dependencies. The following is a copy of two mail messages that I have previously sent out describing my make program. You may notice a small change in my attitude towards distributing my program (yes I know it is impossible to change things retroactively). Naively yours, John M Sellens UUCP: watmath!watrose!jmsellens CSNET: jmsellens%watrose@waterloo.csnet ARPA: jmsellens%watrose%waterloo.csnet@csnet-relay.arpa -------------------------------------------------------------- I have a make. We have been using it extensively for a couple of months on an XT with no trouble. - uses PATH to search for commands - no DOS built-ins - no defaults, no variables - requires DOS 2.0 or more - has -f and -n options (-n is useful for using make to create .BAT files and then executing them - that's what we do for this BIG project using Pascal/MT+) Written in DeSmet C. Send me a mailer and a diskette and it's yours (source and compiled) for $25US. I would rather you didn't give it to all your friends, but I am not unreasonable. You can use it on a "couple" of machines, but not every PC that Exxon owns! I would prefer that you kept "control" of all copies. My address: Apt 107, 180 Brybeck Cres. Kitchener, Ontario N2M 5G4 CANADA Let me know if you want - I'm open to negotiation. ---------------------------------------------------------------------- No - it is not a full implementation (although I may expand in future but no guarantees). Essentially all it does is accept definitions of file names and the files that they depend on (no ':' separating them though). Definition lines may have no leading whitespace. Command lines (i.e. the lines that tell you what to do to bring it up to date) must have leading whitespace. There are no defaults or variables. You must completely specify everything (i.e. all arguments to commands, what commands). It supports full 2.0 pathnames when looking for files or commands to execute. If a command is not a pathname (i.e. just something like c86.exe) make will look along the PATH environment variable to try and find it. You must give the full filename of a command e.g. c86.exe not just c86. I may change that to look for .com, .exe, or .bat in the future. The code is somewhat non-portable, mostly due to in-line assembler code. This code is used for getting the PATH string (not a pretty bit of code by the way), and checking the dates on files. I am sure that it would be possible to port to another compiler with minimal effort. Make will either exec() commands or write them to the standard output i.e. the -n option. It will accept a bunch of different makefiles - it defaults to "makefile.dat" - using the -f option. Those are the only two options. No bugs that we have found. It is essentially fairly simple, but just make sure that your clock card works and that if your machine is on over midnight, make sure that DOS realizes that it's a new day. It should be relatively easy to add more capabilities to it - but there's never enough time for anything anymore. You get the source so you could modify it to suit your local needs if you want. I would supply you with source and compiled on your disk. It's not the most deluxe software, but it works and we rely on it (and it hasn't let us down yet). I trust that this is enough information?? John M Sellens UUCP: watmath!watrose!jmsellens CSNET: jmsellens%watrose@waterloo.csnet ARPA: jmsellens%watrose%waterloo.csnet@csnet-relay.arpa