home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / m / make472.zip / MAKE.DOC next >
Text File  |  1992-11-16  |  14KB  |  401 lines

  1.  
  2.                      ESD Professional MAKE for QuickBASIC                       
  3.  
  4.  
  5.  
  6.  
  7.        
  8.        
  9.        MAKE.EXE is copyright (C)1990-1992 by Electronic Systems Design,
  10.        and is released as as shareware.  It is not free software, if you
  11.        use MAKE, please register it.  MAKE may be distributed in
  12.        archived format on BBS systems as long as this documentation is
  13.        included in the archive.
  14.        
  15.        
  16.        
  17.        Overview:
  18.        
  19.        This is Professional MAKE, for QuickBASIC programmers.
  20.        
  21.        This program is being offered to BASIC programmers who need a
  22.        very easy and convenient way of compiling and linking
  23.        multiple-module programs.  MAKE allows an interface that is just
  24.        as easy as environment compiling, but adds the flexibility of
  25.        linking in support libraries and stub files, (not possible from
  26.        the environment).
  27.        
  28.        The main convenience of MAKE is that the instructions to build an
  29.        executable program, (called MAKE directives), as well as batch
  30.        DOS commands, actually reside in your main module source code.
  31.        This makes a great reference of how the file needs to be built,
  32.        while providing functional convenience, and reducing the number
  33.        of files to manage.
  34.        
  35.        
  36.        Features:
  37.        
  38.        - In-line MAKE directives in REMmed statements - the compiler and
  39.        linker options are now part of your source code, not contained in
  40.        a seperate file.  No need to sweat a re-compile, even if you have
  41.        forgotten the switches used, it's in the source file.
  42.        
  43.        - Automatic compile of up to 60 source files, compiles only the
  44.        ones that have changed since the last build, which saves time.
  45.        
  46.        - Source and object files are "touched," that is, date and time
  47.        stamped, all reflecting the same time and date.  This feature may
  48.        be made optional if you don't wish file stamping.
  49.        
  50.        - Manual mode option presents the user with scrolling menus and
  51.        tagboxes, with which to select modules and MAKE conditions.
  52.        
  53.        - Support for building programs with different source extensions,
  54.  
  55.  
  56.                                       1                                         
  57.  
  58.  
  59.                      ESD Professional MAKE for QuickBASIC                       
  60.  
  61.  
  62.  
  63.  
  64.        such as ".PDQ"  
  65.        
  66.        - Support for linking with multiple stub, object and lib files.
  67.        
  68.        - Support for linking modules as overlays, (PDS 7.x required).
  69.        
  70.        - Clean, uncluttered display.  MAKE shows you "Bytes available,"
  71.        and "Bytes Free," but nothing else.  If an error occurs, the
  72.        entire compiler and linker output is displayed on the screen, AND
  73.        logged to an error file, for your future reference.  The LINK
  74.        response file is retained for review when an error occurs, as
  75.        well.  How many times have compiler error messages scrolled right
  76.        off your screen?
  77.        
  78.        - Existance of source and object modules are checked BEFORE the
  79.        build process is started, to save false starts.
  80.        
  81.        - Errorlevels are returned, (set to 1 if error), for testing in
  82.        batch files.
  83.        
  84.        - /I command line switch will write "boilerplate" MAKE directives
  85.        to the top of your source code.  Edit them to suit.  Inserted
  86.        directives (QB45 / PDS71 / QB/PDQ) are seperated for easier
  87.        editing.
  88.        
  89.        - Pre and post MAKE DOS commands can be run as a child process of
  90.        MAKE.  Your source code not only controls the MAKE process, but
  91.        can execute batch commands, without having to keep track of
  92.        external batch files for each program.  This feature aids in
  93.        copying files to a RAM drive, for example.
  94.        
  95.        - Will abort the compile process if ESC is hit.
  96.        
  97.        - MAKE process is timed, and displayed.
  98.        
  99.        
  100.        
  101.        Linking with stub files will reduce the size of your EXE's.  This
  102.        is the only way to realize the size reduction and speed increase
  103.        that Microsoft promised in BASCOM7.  Support is included for
  104.        linking objects as overlays.
  105.        
  106.        The MAKE program uses a series of MAKE instructions, called
  107.        directives, in REMmed lines near the top of your main module
  108.        source file.  These instructions work similar to '$INCLUDE
  109.        metacommands, only MAKE interprets them for its use.  The
  110.        instructions contain paths and file names of the compiler,
  111.  
  112.  
  113.                                       2                                         
  114.  
  115.  
  116.                      ESD Professional MAKE for QuickBASIC                       
  117.  
  118.  
  119.  
  120.  
  121.        linker, and support libraries. It specifies the names of the
  122.        source and stub file(s). It also specifies the compiler and
  123.        linker switched options.
  124.        
  125.        In manual prompted mode, the program displays the source files in
  126.        a vertical selection window, along with the time and date stamp
  127.        of the last compile.  MAKE gives you the flexibility of choosing
  128.        which source files to compile, and which not to compile.  After
  129.        you choose, MAKE will compile and link your program.  Then all
  130.        your source files will be stamped with the current time and date.
  131.        (This time stamp can be suppressed by using MAKE with the /S
  132.        switch.)  If you decide to change one source file, when you
  133.        re-compile, it will be obvious which one needs to be tagged, it's
  134.        the one with the newest time/date.
  135.        
  136.        
  137.        
  138.        Using MAKE:
  139.        
  140.        Usage:  MAKE [SourceName /I /S /P /H ]
  141.        
  142.          Where:
  143.        
  144.            SourceName is the main module to compile/link.  Source
  145.            main module must have MAKE directives in REMmed statements
  146.            near the top of the file. Extension must be specified if
  147.            different from ".BAS"
  148.        
  149.            Specifing the /I switch will insert the MAKE directives and
  150.            some notes.  These directives will require editing to suit
  151.            your code.
  152.        
  153.            Specifying the /S switch will suppress time / date stamping.
  154.        
  155.            Specifying the /P will prompt the user with menus, to allow
  156.            manual control of the MAKE process, if there is more than one
  157.            module to build.  Obviously, if there is only one module, no
  158.            prompting is required, so an automatic build is performed.
  159.        
  160.            Specifying the /H switch will display some help.
  161.        
  162.        
  163.        
  164.        MAKE is typically kept in your utility subdirectory, which is
  165.        listed in your PATH.  You will then be able to run the program
  166.        regardless of your current directory.  The directory in which
  167.        your source code and include files reside is the directory from
  168.  
  169.  
  170.                                       3                                         
  171.  
  172.  
  173.                      ESD Professional MAKE for QuickBASIC                       
  174.  
  175.  
  176.  
  177.  
  178.        where you want to run MAKE.  BC, LINK, and your libraries can be
  179.        elsewhere on the drive.
  180.        
  181.        Usually, your compiler and linker should reside in a directory in
  182.        the PATH.  If you have more than one version of BC or LINK, then
  183.        you must reference that particular file my specifying its PATH in
  184.        the MAKE directives.  Your libraries and stub files need not be
  185.        in a sub-directory in the PATH, but should reside in a
  186.        subdirectory pointed to by the LIB= environment variable.
  187.        
  188.        Near the top of your main module, add the following lines of MAKE
  189.        instructions.  MAKE can put the directives at the top of your
  190.        code for you if you specify the /I switch.  The directives will,
  191.        however, require editing.  Note that case is not important,
  192.        everything is converted to upper case anyway.  You may insert
  193.        comments or REMmed statements on the same line as MAKE
  194.        statements. Enclose source modules inside parentheses if they are
  195.        to be linked as overlaid code, (PDS 7 compiler only.)
  196.        
  197.        'The following directives are for BASCOM 7.1, see inserted
  198.        'directives for PDQ example...
  199.        'DOS copy make.bas g:
  200.        'DOS copy vertmenu.bas g:
  201.        'DOS copy picklist.bas g:
  202.        'DOS copy \bc7\lib\pro.lib g:
  203.        'begin make
  204.        '  \bc7\binb\bc
  205.        '  \bc7\binb\link
  206.        '  \bc7\lib\pro /e /noe
  207.        '  Begin BAS
  208.        '    make /o/s
  209.        '    vertmenu /o /ah
  210.        '    picklist /o /ah
  211.        '  Begin OBJ
  212.        '    noedit
  213.        '    nocom
  214.        '    notrnemr.lib
  215.        '    nolpt
  216.        '    tscnionr
  217.        'end make
  218.        'DOS copy g:make.exe
  219.        'DOS del g:*.*
  220.        
  221.        Note that the default stub files extension is .OBJ; you don't
  222.        need to specify it.  But if you link in a library that is
  223.        intended for use as a stub file, you must specify the .LIB
  224.        extension.  See the example above using the notrnemr.lib file.
  225.  
  226.  
  227.                                       4                                         
  228.  
  229.  
  230.                      ESD Professional MAKE for QuickBASIC                       
  231.  
  232.  
  233.  
  234.  
  235.        
  236.        In the above example, DOS calls were executed.  There is no limit
  237.        on the number of pre MAKE DOS calls, but post DOS calls are
  238.        limited to 10.  Post DOS calls must follow right after the END
  239.        MAKE directive, not seperated by any other line.  Processing
  240.        stops when MAKE find the first line that doesn't begin with
  241.        "'DOS ".
  242.        
  243.        Start MAKE by specifying on the command line the name of the main
  244.        source module to compile.  No need to add the extension, if the
  245.        source files are .BAS.  The BEGIN BAS directive may be
  246.        substituted with BEGIN PDQ, for example.  That will set the
  247.        default extension to ".PDQ" for all source modules that leave off
  248.        the extension.
  249.        
  250.        MAKE will look for the MAKE directives in your source code, and
  251.        read in the contents.  The copyright notice will then appear on
  252.        the screen.  The program will then precede to compile and link
  253.        the files.  You may hit ESCape to abort the compile process, or
  254.        CTRL-C to abort the link process, (which is not recommended using
  255.        PDS 7.0, by the way - a bug in that version can trash your hard
  256.        drive).
  257.        
  258.        Hint: Those who have extended memory can speed up the MAKE
  259.        process by trying the following tricks:  Make a VDISK in extended
  260.        memory, and set an environment variable called TMP=D:, where D:
  261.        is the drive spec of the VDISK.  LINK will place temporary files
  262.        there.  The use a hard disk CACHE utility will also reduce disk
  263.        thrashing.
  264.        
  265.        
  266.        
  267.        About MAKE:
  268.        
  269.        MAKE was written in PDS7.1 using routines written in ASSEMBLER
  270.        and linked with PDQ by Crescent Software, by Robert Schoolfield.
  271.        It was written as a tool to benefit BASIC programmers.  MAKE is
  272.        distributed as shareware, which simply means if you care to
  273.        support our programming efforts, please mail a check for $19.00,
  274.        (US).  You will be pleased to know your unregistered copy MAKE is
  275.        fully functional, and there are no timed messages, counted
  276.        executions, or annoying reminders in this software.  Can I count
  277.        on your registration?
  278.        
  279.        The latest version will be mailed, (one time), to registered
  280.        users, along with our programmer's text editor, EDIT.EXE, which
  281.        allows running MAKE from right inside the editor.  Upgrades will
  282.  
  283.  
  284.                                       5                                         
  285.  
  286.  
  287.                      ESD Professional MAKE for QuickBASIC                       
  288.  
  289.  
  290.  
  291.  
  292.        be sent on request for $5.00, (US), or available on PBS:, below.
  293.        
  294.        EDIT   A programmer/writer's text editor.  This editor is easy
  295.        to use, features 'save as', text search, bookmarks, cut and paste
  296.        between files, MAKE (compile and link) source code right from the
  297.        editor.  Color display or choose terse mode for a UNIX VI-like
  298.        look.  Has block and column cut and paste, word-wrap, DOS shell,
  299.        pop-up ASCII, and calendar and help screen.  Has a 25, 43, 50 row
  300.        EGA/VGA display option, and a complex math expression evaluator.
  301.        Command line filespec has default extensions of .bas, .c, .pas,
  302.        .asm, .doc, .txt, .asp.  A very nice work horse editor.  This
  303.        powerful full screen editor looks great on laptops.  You will
  304.        love it.
  305.        
  306.        The user agrees to hold harmless Electronic Systems Design for
  307.        any loss or damage incurred in using this software.  There are no
  308.        warranties expressed or implied.
  309.        
  310.        Your check may be mailed to: Robert Schoolfield, Electronic
  311.        Systems Design, P.O. Box 26431, Colorado Springs, CO 80936.
  312.        Support is provided by Robert Schoolfield, email to either:
  313.        
  314.        SYSOP: PBS: (719) 550-1696 8N1 300-14.4k bps, 24 hours.
  315.        
  316.        - or -
  317.        
  318.        Internet: roberts@cscns.com
  319.        
  320.        
  321.        
  322.        
  323.        
  324.        
  325.        
  326.        
  327.        
  328.        
  329.        
  330.        
  331.        
  332.        
  333.        
  334.        
  335.        
  336.        
  337.        
  338.        
  339.  
  340.  
  341.                                       6                                         
  342.  
  343.  
  344.                      ESD Professional MAKE for QuickBASIC                       
  345.  
  346.  
  347.  
  348.  
  349.         
  350.         
  351.         
  352.         
  353.                                              6                                         
  354.        
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.                                       7                                         
  400.  
  401.