home *** CD-ROM | disk | FTP | other *** search
-
-
- 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
-
-
-