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 >
Wrap
Text File
|
1992-11-16
|
14KB
|
401 lines
ESD Professional MAKE for QuickBASIC
MAKE.EXE is copyright (C)1990-1992 by Electronic Systems Design,
and is released as as shareware. It is not free software, if you
use MAKE, please register it. MAKE may be distributed in
archived format on BBS systems as long as this documentation is
included in the archive.
Overview:
This is Professional MAKE, for QuickBASIC programmers.
This program is being offered to BASIC programmers who need a
very easy and convenient way of compiling and linking
multiple-module programs. MAKE allows an interface that is just
as easy as environment compiling, but adds the flexibility of
linking in support libraries and stub files, (not possible from
the environment).
The main convenience of MAKE is that the instructions to build an
executable program, (called MAKE directives), as well as batch
DOS commands, actually reside in your main module source code.
This makes a great reference of how the file needs to be built,
while providing functional convenience, and reducing the number
of files to manage.
Features:
- In-line MAKE directives in REMmed statements - the compiler and
linker options are now part of your source code, not contained in
a seperate file. No need to sweat a re-compile, even if you have
forgotten the switches used, it's in the source file.
- Automatic compile of up to 60 source files, compiles only the
ones that have changed since the last build, which saves time.
- Source and object files are "touched," that is, date and time
stamped, all reflecting the same time and date. This feature may
be made optional if you don't wish file stamping.
- Manual mode option presents the user with scrolling menus and
tagboxes, with which to select modules and MAKE conditions.
- Support for building programs with different source extensions,
1
ESD Professional MAKE for QuickBASIC
such as ".PDQ"
- Support for linking with multiple stub, object and lib files.
- Support for linking modules as overlays, (PDS 7.x required).
- Clean, uncluttered display. MAKE shows you "Bytes available,"
and "Bytes Free," but nothing else. If an error occurs, the
entire compiler and linker output is displayed on the screen, AND
logged to an error file, for your future reference. The LINK
response file is retained for review when an error occurs, as
well. How many times have compiler error messages scrolled right
off your screen?
- Existance of source and object modules are checked BEFORE the
build process is started, to save false starts.
- Errorlevels are returned, (set to 1 if error), for testing in
batch files.
- /I command line switch will write "boilerplate" MAKE directives
to the top of your source code. Edit them to suit. Inserted
directives (QB45 / PDS71 / QB/PDQ) are seperated for easier
editing.
- Pre and post MAKE DOS commands can be run as a child process of
MAKE. Your source code not only controls the MAKE process, but
can execute batch commands, without having to keep track of
external batch files for each program. This feature aids in
copying files to a RAM drive, for example.
- Will abort the compile process if ESC is hit.
- MAKE process is timed, and displayed.
Linking with stub files will reduce the size of your EXE's. This
is the only way to realize the size reduction and speed increase
that Microsoft promised in BASCOM7. Support is included for
linking objects as overlays.
The MAKE program uses a series of MAKE instructions, called
directives, in REMmed lines near the top of your main module
source file. These instructions work similar to '$INCLUDE
metacommands, only MAKE interprets them for its use. The
instructions contain paths and file names of the compiler,
2
ESD Professional MAKE for QuickBASIC
linker, and support libraries. It specifies the names of the
source and stub file(s). It also specifies the compiler and
linker switched options.
In manual prompted mode, the program displays the source files in
a vertical selection window, along with the time and date stamp
of the last compile. MAKE gives you the flexibility of choosing
which source files to compile, and which not to compile. After
you choose, MAKE will compile and link your program. Then all
your source files will be stamped with the current time and date.
(This time stamp can be suppressed by using MAKE with the /S
switch.) If you decide to change one source file, when you
re-compile, it will be obvious which one needs to be tagged, it's
the one with the newest time/date.
Using MAKE:
Usage: MAKE [SourceName /I /S /P /H ]
Where:
SourceName is the main module to compile/link. Source
main module must have MAKE directives in REMmed statements
near the top of the file. Extension must be specified if
different from ".BAS"
Specifing the /I switch will insert the MAKE directives and
some notes. These directives will require editing to suit
your code.
Specifying the /S switch will suppress time / date stamping.
Specifying the /P will prompt the user with menus, to allow
manual control of the MAKE process, if there is more than one
module to build. Obviously, if there is only one module, no
prompting is required, so an automatic build is performed.
Specifying the /H switch will display some help.
MAKE is typically kept in your utility subdirectory, which is
listed in your PATH. You will then be able to run the program
regardless of your current directory. The directory in which
your source code and include files reside is the directory from
3
ESD Professional MAKE for QuickBASIC
where you want to run MAKE. BC, LINK, and your libraries can be
elsewhere on the drive.
Usually, your compiler and linker should reside in a directory in
the PATH. If you have more than one version of BC or LINK, then
you must reference that particular file my specifying its PATH in
the MAKE directives. Your libraries and stub files need not be
in a sub-directory in the PATH, but should reside in a
subdirectory pointed to by the LIB= environment variable.
Near the top of your main module, add the following lines of MAKE
instructions. MAKE can put the directives at the top of your
code for you if you specify the /I switch. The directives will,
however, require editing. Note that case is not important,
everything is converted to upper case anyway. You may insert
comments or REMmed statements on the same line as MAKE
statements. Enclose source modules inside parentheses if they are
to be linked as overlaid code, (PDS 7 compiler only.)
'The following directives are for BASCOM 7.1, see inserted
'directives for PDQ example...
'DOS copy make.bas g:
'DOS copy vertmenu.bas g:
'DOS copy picklist.bas g:
'DOS copy \bc7\lib\pro.lib g:
'begin make
' \bc7\binb\bc
' \bc7\binb\link
' \bc7\lib\pro /e /noe
' Begin BAS
' make /o/s
' vertmenu /o /ah
' picklist /o /ah
' Begin OBJ
' noedit
' nocom
' notrnemr.lib
' nolpt
' tscnionr
'end make
'DOS copy g:make.exe
'DOS del g:*.*
Note that the default stub files extension is .OBJ; you don't
need to specify it. But if you link in a library that is
intended for use as a stub file, you must specify the .LIB
extension. See the example above using the notrnemr.lib file.
4
ESD Professional MAKE for QuickBASIC
In the above example, DOS calls were executed. There is no limit
on the number of pre MAKE DOS calls, but post DOS calls are
limited to 10. Post DOS calls must follow right after the END
MAKE directive, not seperated by any other line. Processing
stops when MAKE find the first line that doesn't begin with
"'DOS ".
Start MAKE by specifying on the command line the name of the main
source module to compile. No need to add the extension, if the
source files are .BAS. The BEGIN BAS directive may be
substituted with BEGIN PDQ, for example. That will set the
default extension to ".PDQ" for all source modules that leave off
the extension.
MAKE will look for the MAKE directives in your source code, and
read in the contents. The copyright notice will then appear on
the screen. The program will then precede to compile and link
the files. You may hit ESCape to abort the compile process, or
CTRL-C to abort the link process, (which is not recommended using
PDS 7.0, by the way - a bug in that version can trash your hard
drive).
Hint: Those who have extended memory can speed up the MAKE
process by trying the following tricks: Make a VDISK in extended
memory, and set an environment variable called TMP=D:, where D:
is the drive spec of the VDISK. LINK will place temporary files
there. The use a hard disk CACHE utility will also reduce disk
thrashing.
About MAKE:
MAKE was written in PDS7.1 using routines written in ASSEMBLER
and linked with PDQ by Crescent Software, by Robert Schoolfield.
It was written as a tool to benefit BASIC programmers. MAKE is
distributed as shareware, which simply means if you care to
support our programming efforts, please mail a check for $19.00,
(US). You will be pleased to know your unregistered copy MAKE is
fully functional, and there are no timed messages, counted
executions, or annoying reminders in this software. Can I count
on your registration?
The latest version will be mailed, (one time), to registered
users, along with our programmer's text editor, EDIT.EXE, which
allows running MAKE from right inside the editor. Upgrades will
5
ESD Professional MAKE for QuickBASIC
be sent on request for $5.00, (US), or available on PBS:, below.
EDIT A programmer/writer's text editor. This editor is easy
to use, features 'save as', text search, bookmarks, cut and paste
between files, MAKE (compile and link) source code right from the
editor. Color display or choose terse mode for a UNIX VI-like
look. Has block and column cut and paste, word-wrap, DOS shell,
pop-up ASCII, and calendar and help screen. Has a 25, 43, 50 row
EGA/VGA display option, and a complex math expression evaluator.
Command line filespec has default extensions of .bas, .c, .pas,
.asm, .doc, .txt, .asp. A very nice work horse editor. This
powerful full screen editor looks great on laptops. You will
love it.
The user agrees to hold harmless Electronic Systems Design for
any loss or damage incurred in using this software. There are no
warranties expressed or implied.
Your check may be mailed to: Robert Schoolfield, Electronic
Systems Design, P.O. Box 26431, Colorado Springs, CO 80936.
Support is provided by Robert Schoolfield, email to either:
SYSOP: PBS: (719) 550-1696 8N1 300-14.4k bps, 24 hours.
- or -
Internet: roberts@cscns.com
6
ESD Professional MAKE for QuickBASIC
6
7