home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
640a.lha
/
MkMake_v1.45
/
MkMake.doc.pp
/
MkMake.doc
Wrap
Text File
|
1992-05-16
|
6KB
|
182 lines
MkMake V1.45 -- A tool for generating makefile automatically.
(c) Copyright Anders Hybertz, April 1992, Freely Distributable.
INTRODUCTION
Have you ever been looking at your current programming project,
and thinking, it's about time to generate at makefile, to speed up
the compiling time.
Well, I have been there a couple of times, and then, in a bright
moment, I thought, how about a program that does this work for you.
At first, I was satisfied when it created a simple makefile, but
soon I discovered, that much of the work in generating makefiles,
could be done automatically.
This version is the first public release. It works, but still there
is a lot of work to be done, before it reaches the final release.
This version is programmed with SAS-C in mind, but the next releases
will add better support for other compilers, such as DICE-C,
GNU-C. I also want to translate it to other platforms, like
PC and UNIX-workstations like Sun and HP.
At this state, you only have to change the makefile a little, before
it fits your compiler.
USAGE
It's very simple to use MkMake, so I won't write a lot of text,
telling about the program, bit by bit. This is only an explanation
of the options.
Usage: MkMake -{sdiqxtcyla} [Project name] > Makefile
If there is no [Project name], the default is [a.out]
Options:
-s This option, uses environment variables instead of
SASCOPTS. The program looks in ENV:cenv/ for the
variables.
This version support environment variables for:
PRG = Project name
ASM = Your assembler
ASMOPTS = Your assembler options
ASMDEFINES = Your assembler defines
YACC = Your yacc compiler
YACCOPTS = Your yacc compiler options
LEX = Your lex compiler
LEXOPTS = Your lex compiler options
CC = Your c compiler
LINKER = Your linker
LCFLAGS = Your c compiler flags
DEFINES = Your c compiler defines
BLINKFLAGS = Your blinker flags
LIBS = Libs to add your linker
STARTUP = Your startup code
If this flag is not activated, MkMake reads the
SASCOPTS file.
-d Just update file-dependencies. If you create a new
file, the makefile scans the files again, to see
what have changed. Just updates lines under #!¤**
-i Automatically generate prototype files, with help
from MkProto. The prototypes is saved in
<filename>.i
-q Tell LMK to be quiet.
-x Don't exit the makefile when fx. the compiler
returns with an error.
-y Find/compile yacc files, in current dir.
-l Find/compile lex files, in current dir.
-a Find/compile assembler files, in current dir.
In this version, some of the options is not implemented yet, so they
are not discribed.
AUTHOR
Name: Anders Hybertz
Email: jeckyl@imada.ou.dk
Phone: +46 66 10 10 36
Snailmail: Aasumvej 95, 5240 Odense N0, Denmark
DISTRIBUTION
MkMake may be freely distributed, as long as no charge is made other
than to cover time and copying costs. If you want to include MkMake
as part of a commercial package, contact the author listed above.
SUPPORT
If you have any suggestions, bug reports or questions,
please contact the author of MkMake at electronic mail
addresses below:
InterNet: jeckyl@imada.ou.dk
HISTORY
VERSION 1.40 -> 1.45
Now MkMake parse the -P and all the -t options from SASCOPTS.
-P is the Project Name wich is copied into PRG.
-t is the startup code. I now support all 5 modes from SASCOPTS,
even the special mode, where you can use your own startup code.
I also made a new variabel wich is LIBPATH. Standard initialisation
is LIB:.
Rewritten the LINKER string. It now uses the WITH option, so
BLINK can read as many files as you want. Before this was a big
problem, because BLINK would hang, if you parsed to many files to
it. The PRECOMPOBJ has been deleted. I don't use it anymore.
Added a version-string, so you can get the version number of MkMake.
Just type <version MkMake>.
Added support for Workbench startup.
At the moment I support 2 Tooltypes for MkMake.
OPTIONS: enter the options like you did in CLI.
EX: OPTIONS=-s , for sascopts exclude.
EX: OPTIONS=-al, for asm & lex files.
MAKEFILE: enter the name of your makefile, and
MkMake dumps it's output to this file.
EX: MAKEFILE=LMKFile
When started from Workbench MkMake opens at little window
in the top left corner. When it is finished, MkMake
closes the window. I know that it's ugly, but if I
removed it, you would never know, when it was finished.
In the next release, I remove this window, and do
some fancy stuff instead.
Some minor things rewritten.
No longer OS1.3 compatible. :-(
Thanks to Lars in Bergen (Norway) for these suggestions.
FUTURE ENHANCEMENTS
* At this moment I don't want to do a lot of work on MkMake,
because SAS institute, soon release version 6.0 of their
C compiler. If is't as good as they say, nobody will use
MkMake, but if they don't support the features of MkMake,
I have some great ideas for improvement.
* On of them, is an environment like HP's SoftBench.
* At the time I am working on an option, which makes
it possible to do parallel compiling. If the programs can
be compiled under the same rules ex. '.c.o', I can't see
why I can't compile then in parallel. So if you have
a fast machine, lot of ram and a fast HD, I can reduce
the compiling time.