[net.micro.pc] 'Make' for the PC

jmsellens@watrose.UUCP (John M Sellens) (07/03/84)

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

jmsellens@watrose.UUCP (John M Sellens) (07/04/84)

I would like to make a clarification to my previous article.

The person that I originally sent the "informative" (?) mail messages
to concerning my make suggested that my article might cause some
people to get the wrong impression about what caused my little
outburst.  In my article I mentioned his company, Exxon Office Systems.

Exxon had nothing to do with my outburst.  My minor dealings with
Exxon Office Systems and its employees have been entirely to
my satisfaction and I am sure that Exxon is a fine and reputable company.
I in no way intended to suggest that Exxon was anything less than that.
In my original article, I did not think that anyone would draw that
conclusion, or I would have eliminated the reference.  I apologize
for my oversight.


The article that "set me off" contained a couple of phrases that I
really didn't take very kindly to:

>                           If anyone needs the sources, send me mail. If
> enough people want it, I might repost it.  ...  If you want it
> but don't have DeSmet C, let me know. We can work something out.

It bothered me that a person that had never even bothered to let me
know that he appreciated my kindness and hard work was saying such
things.    "I might repost it"  and  "We can work something out" .
I was annoyed that someone else was saying such things about MY code,
and a program that *I* OWN, that I had slaved over, and that *I* had
been kind enough to post in the first place!  One might imagine (well I
did anyway) that "We can work something out" might imply some sort of
monetary consideration.  Needless to say, if that were the case I would
be very annoyed, and would do whatever I could to "rectify" the
situation.  (You may recall a phrase in the code specifying that only
"non-commercial" distribution was authorized.  You may also recall a
prominently featured copyright notice.)  I have always enjoyed
causing trouble.

Of course, I have no evidence that the poster of that article had
any such motives or that his morals, etc. were less than admirable.
I have sent him two mail messages very recently, so any responses
from him may be "in the mail".

I may be over-reacting (small understatement there).  Please excuse
my outbursts. I have always beleived in giving credit where credit is due.

John M Sellens
UUCP:  watmath!watrose!jmsellens
CSNET: jmsellens%watrose@waterloo.csnet
ARPA:  jmsellens%watrose%waterloo.csnet@csnet-relay.arpa
Disclaimer:  I am a student, not an employee.  The above diatribe is
entirely my own and is not intended to reflect in any way upon the
University of Waterloo.