home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
CPM3
/
CPMMAKE.ARK
/
MAKE.DOC
< prev
next >
Wrap
Text File
|
1986-08-31
|
5KB
|
165 lines
MAKE(CPM+) MAKE(CPM+)
SYNTAX
make [-f makefile] [-nprst] [macro=val ...] [target(s) ...]
WHERE
-i means don't continue if an error is encountered
-f specifies that the following argument is the name of
a makefile to be used instead of default "MAKEFILE.DAT"
or "MAKEFILE".
-n means don't execute the commands, just write the ones that
would be executed to the standard output.
-p Print all macros & targets
-r Do not use inbuilt rules
-s Make silently
-t Touch files instead of making them
"macro" - is a macro name, and...
"val" - is the string value to set it to. Use quotes around
the "macro=val" if there are imbedded spaces.
DESCRIPTION
This program is a slightly simplified clone of the UNIX
(tm of AT&T) utility of the same name. Dependancy
information is extracted from a makefile and acted upon.
This version requires CP/M-80 version 3.0 ("CP/M PLUS")
with time-of-day-clock implemented. Also the file timestamps
must be "turned on". Current time-of-day call to CP/M is
also used. Note that "CP/M" is a trademark of Digital
Research.
MAKEFILE FORMAT
For general usage, refer to a UNIX(tm) man-page.
"Make" without parameters makes the first target in the
makefile.
The default name of the 'makefile' is 'MAKEFILE.DAT'
or 'MAKEFILE' in that order. If the '-f' option is used,
the default makefile is not processed.
Any blank lines in the 'makefile(s)' are ignored, as are
lines that have a "#" in the first column.
MAKE(CPM+) -2- MAKE(CPM+)
Lines starting with a tab character are 'howto'
lines, and consist of a command name followed by arguments.
Any other line is a 'dependency' line. 'Dependency'
lines consist of a filename followed by a (possibly empty)
list of dependent filenames. A colon is required after
the target filename.
'Howto' lines apply to the most recently preceding
'dependency' line. It is improper for a 'howto' line
to precede the first 'dependency' line.
Lines ending with "\" join the next-line to the current
one with all but one-character of the next-line's leading
whitespace removed.
SIDE EFFECTS
This program works by producing a temporary file "MAKE@@@.SUB"
then chaining to it for execution of the command list. This
file then deletes itself upon successful completion. Should
the execution be aborted, then this file will remain
in the file system (but will not harm later invocations of
make).
Everything has been made case-independent (CP/M forces command
lines upper case. That makes this case-independence a
requirement.)
BUGS
The -i option is opposite of "normal" so that error codes
are normally ignored. If the -i option is used, colons
will proceed commands that aren't to execute after an
error. This sortof almost works in CP/M Plus. To be
made to work three things need to be done. 1) an RSX
written that makes a compiler(etc) set the error flag (should
be easy to do). 2) Keep CP/M 3.0 and/or the CCP from resetting
the error flag on each command that is executed (patch
somewhere?), and 3) Let the ":" exclusion work in front
of .SUB files as well as .COM files (patch somewhere?).
Discription of the ":" is in the CP/M Plus Programmer's
Guide in the description of bdos function 108.
MAKE(CPM+) -3- MAKE(CPM+)
RULES
The built in rules currently are these:
".o" files depend on ".c" files and are made by:
$(CCC) $(CFLAGS) $(CWHICH)
where:
CCC = cc-c (mdk's submit file)
CFLAGS = (they are in cc-c.sub)
CWHICH = $* (target's basename)
".rel" files depend on ".asm" files and are made by:
$(ASM) $(ASMWHICH) $(ASMFLAGS)
where:
ASM = rmac
ASMWHICH = $*
ASMFLAGS = $$PZ SZ
Note: These macros can be redefined in the makefile.
AUTHOR
Originally written for "EON" (whatever that is).
This program was originally posted by, and presumably
written by:
Neil Russell
Organization: TIME. Office Computers, Sydney, Australia
UUCP: ...!seismo!munnari!tictoc.oz!caret
The port to CP/M 3.0 consists of numerous small and medium
modifications seemingly everywhere. That plus the generation
of this psuedo-man page was done by:
Michael D. Kersenbrock
Aloha, Oregon
UUCP: ...!tektronix!copper!michaelk