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
Text File  |  1992-05-16  |  6KB  |  182 lines

  1.        MkMake V1.45 -- A tool for generating makefile automatically.
  2.  
  3.       (c) Copyright Anders Hybertz, April 1992, Freely Distributable.
  4.  
  5.  
  6. INTRODUCTION
  7.  
  8.     Have you ever been looking at your current programming project,
  9.     and thinking, it's about time to generate at makefile, to speed up
  10.     the compiling time.
  11.  
  12.     Well, I have been there a couple of times, and then, in a bright
  13.     moment, I thought, how about a program that does this work for you.
  14.  
  15.     At first, I was satisfied when it created a simple makefile, but
  16.     soon I discovered, that much of the work in generating makefiles,
  17.     could be done automatically.
  18.  
  19.     This version is the first public release. It works, but still there
  20.     is a lot of work to be done, before it reaches the final release.
  21.  
  22.     This version is programmed with SAS-C in mind, but the next releases
  23.     will add better support for other compilers, such as DICE-C,
  24.     GNU-C. I also want to translate it to other platforms, like
  25.     PC and UNIX-workstations like Sun and HP.
  26.  
  27.     At this state, you only have to change the makefile a little, before 
  28.     it fits    your compiler.
  29.  
  30. USAGE
  31.     It's very simple to use MkMake, so I won't write a lot of text,
  32.         telling about the program, bit by bit. This is only an explanation
  33.     of the options.
  34.  
  35.     Usage:    MkMake -{sdiqxtcyla} [Project name] > Makefile
  36.  
  37.                 If there is no [Project name], the default is [a.out]
  38.  
  39.     Options:
  40.  
  41.             -s    This option, uses environment variables instead of
  42.             SASCOPTS. The program looks in ENV:cenv/ for the
  43.             variables.
  44.             This version support environment variables for:
  45.  
  46.             PRG        = Project name
  47.  
  48.                         ASM        = Your assembler
  49.             ASMOPTS         = Your assembler options
  50.                         ASMDEFINES    = Your assembler defines
  51.  
  52.             YACC        = Your yacc compiler
  53.             YACCOPTS    = Your yacc compiler options
  54.  
  55.             LEX        = Your lex compiler
  56.             LEXOPTS        = Your lex compiler options
  57.  
  58.                         CC        = Your c compiler
  59.                         LINKER        = Your linker
  60.             LCFLAGS        = Your c compiler flags
  61.                         DEFINES        = Your c compiler defines
  62.             BLINKFLAGS    = Your blinker flags
  63.             LIBS        = Libs to add your linker
  64.                         STARTUP        = Your startup code
  65.  
  66.  
  67.             If this flag is not activated, MkMake reads the
  68.             SASCOPTS file.
  69.  
  70.             -d      Just update file-dependencies. If you create a new
  71.             file, the makefile scans the files again, to see
  72.             what have changed. Just updates lines under #!¤**
  73.  
  74.                 -i      Automatically generate prototype files, with help
  75.             from MkProto. The prototypes is saved in
  76.             <filename>.i
  77.  
  78.         -q    Tell LMK to be quiet.
  79.  
  80.         -x    Don't exit the makefile when fx. the compiler
  81.             returns with an error.
  82.  
  83.                 -y     Find/compile yacc files, in current dir.
  84.  
  85.         -l    Find/compile lex files, in current dir.
  86.  
  87.         -a     Find/compile assembler files, in current dir.
  88.  
  89.     In this version, some of the options is not implemented yet, so they
  90.     are not discribed.
  91.  
  92. AUTHOR
  93.         Name:        Anders Hybertz
  94.  
  95.     Email:        jeckyl@imada.ou.dk
  96.     Phone:          +46 66 10 10 36
  97.     Snailmail:    Aasumvej 95, 5240 Odense N0, Denmark
  98.  
  99.  
  100. DISTRIBUTION
  101.  
  102.         MkMake may be freely distributed, as long as no charge is made other
  103.         than to cover time and copying costs. If you want to include MkMake
  104.         as part of a commercial package, contact the author listed above.
  105.  
  106.  
  107. SUPPORT
  108.  
  109.     If you  have  any  suggestions,  bug  reports  or  questions,
  110.            please  contact  the  author  of  MkMake  at electronic mail
  111.     addresses below:
  112.  
  113.     InterNet:    jeckyl@imada.ou.dk
  114.  
  115.  
  116. HISTORY
  117.  
  118. VERSION 1.40 -> 1.45
  119.  
  120.     Now MkMake parse the -P and all the -t options from SASCOPTS.
  121.     -P is the Project Name wich is copied into PRG.
  122.     -t is the startup code. I now support all 5 modes from SASCOPTS,
  123.     even the special mode, where you can use your own startup code.
  124.  
  125.     I also made a new variabel wich is LIBPATH. Standard initialisation
  126.     is LIB:. 
  127.  
  128.     Rewritten the LINKER string. It now uses the WITH option, so
  129.     BLINK can read as many files as you want. Before this was a big
  130.     problem, because BLINK would hang, if you parsed to many files to
  131.     it. The PRECOMPOBJ has been deleted. I don't use it anymore.
  132.  
  133.     Added a version-string, so you can get the version number of MkMake.
  134.     Just type <version MkMake>.
  135.  
  136.     Added support for Workbench startup.
  137.         At the moment I support 2 Tooltypes for MkMake.
  138.         
  139.         OPTIONS: enter the options like you did in CLI.
  140.              EX:  OPTIONS=-s , for sascopts exclude.
  141.              EX:  OPTIONS=-al, for asm & lex files.
  142.  
  143.         MAKEFILE: enter the name of your makefile, and 
  144.             MkMake dumps it's output to this file.
  145.             EX:   MAKEFILE=LMKFile
  146.         
  147.         When started from Workbench MkMake opens at little window
  148.         in the top left corner. When it is finished, MkMake
  149.         closes the window. I know that it's ugly, but if I
  150.         removed it, you would never know, when it was finished.
  151.         In the next release, I remove this window, and do
  152.         some fancy stuff instead. 
  153.  
  154.     Some minor things rewritten.
  155.  
  156.     No longer OS1.3 compatible. :-(
  157.  
  158.     Thanks to Lars in Bergen (Norway) for these suggestions.
  159.  
  160.  
  161.  
  162. FUTURE ENHANCEMENTS
  163.  
  164.     * At this moment I don't want to do a lot of work on MkMake, 
  165.       because SAS institute, soon release version 6.0 of their 
  166.       C compiler. If is't as good as they say, nobody will use
  167.       MkMake, but if they don't support the features of MkMake,
  168.       I have some great ideas for improvement. 
  169.  
  170.     * On of them, is an environment like HP's SoftBench. 
  171.       
  172.     * At the time I am working on an option, which makes
  173.       it possible to do parallel compiling. If the programs can
  174.       be compiled under the same rules ex. '.c.o', I can't see
  175.       why I can't compile then in parallel. So if you have
  176.       a fast machine, lot of ram and a fast HD, I can reduce
  177.       the compiling time.
  178.  
  179.        
  180.  
  181.  
  182.