home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power CD-ROM!! 7
/
POWERCD7.ISO
/
prgmming
/
clipper
/
gt_lib.rmk
< prev
next >
Wrap
Text File
|
1994-08-29
|
22KB
|
568 lines
/*
GT_LIB.RMK - Make file for GT Clipper Library
╔═════════════════╗
║ Version history ║
╠══════╦══════════╩═══════╦══════╦═══════════════════════════════════════════╗
║ Ver ║ Date ║ User ║ Notes ║
╠══════╬══════════════════╬══════╬═══════════════════════════════════════════╣
║ 1.0 ║ 08-29-94 11:12am ║ Log ║ First release ║
╚══════╩══════════════════╩══════╩═══════════════════════════════════════════╝
----------------------------------------------------------------------
The GT Clipper Library Master Makefile READ THIS BEFORE USING!!!
----------------------------------------------------------------------
This makefile will allow you to use RMAKE, provided with every
Clipper 5.2 package, to maintain your own copy of the GT Clipper Library.
To use it, you must first understand what it does, and what your
limitations are. A discussion of MAKE utlities is beyond the scope
of this comment; read the Clipper documentation, or the Norton Guide
file, for more information on RMAKE.
*** Compilers and Assemblers you need
Note that currently, GT Clipper Library sources are written in
Assembly language, Clipper, and C. Within the realm of assembly
language, our contributors have submitted code that is designed
for Borland's Turbo Assembler (TASM) and Microsoft's Macro Assembler
(MASM). So, right now, in order to do a perfect re-build of
the GT Clipper Library, you must have these tools:
Borland C++ (v3.1 or later)
Microsoft C (v5.1 or later)
Microsoft Macro Assembler (v 5.1 or later)
Borland Turbo Assembler
CA Clipper v5.2 or later
If you know much about assembly language, you can convert MASM
sources to TASM and vice versa, but that is up to you.
*** Library Utility
In addition, you must have a library utility. Borland supplies
TLIB.EXE with its Compiler products, for example. TLIB will work
fine with this makefile. Note that we assume a command line syntax
for library utilities that works like this:
tlib <libname> -+objname
Note the "-+" directive, indicating "replace module." If your
library utility does not support this syntax on the command line,
then you will have to edit the relevant lines in the makefile.
*** Assumptions about your environment
GT_LIB.RMK makes just a few assumptions about your environment:
Assumption What to change if we're wrong
---------- -----------------------------
Relevant environment Either edit the makefile to
variables for each compiler/ set the envars, or setup your
assembler are already autoexec.bat to set them on bootup.
set (i.e., LIB=, INCLUDE=) See your compiler doc.
Microsoft C and Borland C Look for the .C source areas below,
are available and if you don't have one of the
compilers, you can either modify the
source to work with your compiler and
move the inference to the other C
section, or not change that code and
simply link in the OBJ files that have
been generated by the librarian.
Microsoft Assembler Look for all occurences of MASM in
executable is called this makefile and change them to
MASM.EXE whatever *you* call MASM.
Borland's Turbo Assembler Look for all occurences of TASM in
executable is called this makefile and change them to
TASM.EXE whatever *you* call TASM.
Clipper compiler executable Look for the .PRG source inference
is called CLIPPER.EXE rule below, and change it to whatever
*you* call Clipper.
*** Customizing the Makefile
We have tried not to assume anything about your environment except
what is described above. To achieve that flexibility, you must
check and set some macros that can be found just below this
documentation. They are:
l Path to the resulting library (e.g. \GT_LIB)
o Path to where .obj files should be put (e.g. \GT_LIB\obj)
s Path to where the source code is found (e.g. \GT_LIB)
c5 Path and name of Clipper 5.2 compiler
ma Path to Microsoft Macro Assembler .EXE
ta Path to Turbo Assembler .EXE
mc Path to Microsoft C compiler
bc Path to Borland C compiler
tl Path and name of library utility (e.g. C:\borlandc\bin\tlib)
asm Current assembler
cc Current C compiler
cf C compiler flags
Note that directory paths should *not* end in a backslash.
If you like to keep your .obj and source files in the same
directory, simply point the paths to the same place.
*** What happens when you don't have a compiler
If RMAKE can't find the compiler in the directory you specified,
then the relevant files designed for that compiler will not be
built, and the resultant objs won't be replaced in your library.
You will get an error message.
*** Suggestions for setting up a "rebuilding environment"
Should you want to rebuild, the following is suggested:
First, make sure you keep an unmodified GT_LIB.LIB in a safe place.
Do not modify it.
Next, create a directory structure like this
\gt_lib
\obj
Put this makefile in \gt_lib, and all source code into
\gt_lib.
Customize the makefile in \gt_lib for your environment.
The default macros below assume you're using this arrangement.
Type RMAKE GT_LIB. The .obj files should be left in
\gt_lib\obj, and the new GT_LIB.LIB should be in \gt_lib.
Note that as new releases of the library come out, you may have
a lot of work incorporating additions and modifications. So,
plan your rebuilding efforts carefully.
*** Problems, bugs, support
Support for this makefile can be found at the following places :
The Dark Knight Returns BBS - 0480 471465
Compuserve - 100137,2625
CIX - daldude or harlequin
*/
// ------------------------------------------------------------------------
// path macros for your environment.. BE SURE TO SET THESE! THEY'RE SET FOR
// THE LIBRARIAN'S MACHINE AND MAY NOT WORK ON YOURS!
// ------------------------------------------------------------------------
l = j:\cliplibs\clip52\gt_lib
o = j:\cliplibs\clip52\gt_lib\obj
s = j:\cliplibs\clip52\gt_lib
i = j:\clip52\include
c5 = j:\clip52\bin\clipper
ta = j:\borlandc\bin
ma = c:\masm\bin
bc = j:\borlandc\bin
mc = c:\c600\bin
tl = c:\util\flib
// -----------------------------
// Kill lib response file if any
// -----------------------------
!iffile $(l)\gt_lib.rsp
#! del $(l)\gt_lib.rsp
!endif
// INFERENCE RULE FOR PRG FILES
.PRG.OBJ:
$(c5) $(s)\$* /m /l /n /r /w $(t) /o$(o)\$* > $(s)\$*.err
echo -+$(o)\$* & >> $(l)\gt_lib.rsp
// INFERENCE RULE FOR ASM FILES
//
// The actual call to the assembler is defined within the 'ASM'
// macro which is defined before each .ASM section as either
// MASM or TASM
.ASM.OBJ:
$(asm) /mx $(t) $(s)\$*,$(o)\$*; > $(s)\$*.err
echo -+$(o)\$* & >> $(l)\gt_lib.rsp
// INFERENCE RULE FOR C FILES
//
// The actual call to the compiler is defined within the 'CC'
// macro, and the flags are defined within the 'CF' macro which
// is defined before each .C section
.C.OBJ:
$(cc) $(cf)$(o)\$* $(s)\$*.c > $(s)\$*.err
echo -+$(o)\$* & >> $(l)\gt_lib.rsp
// inference rule for library
!iffile $(l)\gt_lib.lib
.RSP.LIB:
echo ,$(l)\gt_lib.lst >> $(l)\gt_lib.rsp
$(tl) $(l)\gt_lib.LIB @$(l)\gt_lib.rsp
!else
.RSP.LIB:
echo ,$(l)\gt_lib.lst >> $(l)\gt_lib.rsp
$(tl) $(l)\gt_lib.lib
$(tl) $(l)\gt_lib.LIB @$(l)\gt_lib.rsp
!endif
// ------------------------------------------------------------------
// MASM
// This section compiles any source files that need MASM
// -------------------------------------------------------------------
// check to see if masm.exe is found
!iffile $(ma)\masm.exe
asm = $(ma)\masm
$(o)\GT_INT86.OBJ : $(s)\GT_INT86.ASM
$(o)\GT_WINDM.OBJ : $(s)\GT_WINDM.ASM
!else
// if masm.exe file not found
!stderr "GTMake Error: MASM.EXE file not found ... .ASM files not processed!"
!endif
// ------------------------------------------------------------------
// TASM
// This section compiles any source files that need TASM
// -------------------------------------------------------------------
// check to see if tasm.exe is found
!iffile $(ta)\tasm.exe
asm = $(ta)\tasm
$(o)\ALT.OBJ : $(s)\ALT.ASM
$(o)\CAPLOCK.OBJ : $(s)\CAPLOCK.ASM
$(o)\CLOCKOFF.OBJ : $(s)\CLOCKOFF.ASM
$(o)\CLOCKON.OBJ : $(s)\CLOCKON.ASM
$(o)\CTRL.OBJ : $(s)\CTRL.ASM
$(o)\ISDESQ.OBJ : $(s)\ISDESQ.ASM
$(o)\NLOCKOFF.OBJ : $(s)\NLOCKOFF.ASM
$(o)\NLOCKON.OBJ : $(s)\NLOCKON.ASM
$(o)\NUMLOCK.OBJ : $(s)\NUMLOCK.ASM
$(o)\SHIFT.OBJ : $(s)\SHIFT.ASM
$(o)\SYSREQ.OBJ : $(s)\SYSREQ.ASM
!else
// if tasm.exe file not found
!stderr "GTMake Error: TASM.EXE file not found ... .ASM files not processed!"
!endif
// ------------------------------------------------------------------
// MICROSOFT C
// This section compiles any source files that need MSC 5.1
// ------------------------------------------------------------------
// check to see if cl.exe is found
!iffile $(mc)\cl.exe
cc = $(mc)\cl
cf = /AL /Gs /FPa /Oalt /Zl /c /Fo
$(o)\COLORTON.OBJ : $(s)\COLORTON.C
$(o)\COLORWIN.OBJ : $(s)\COLORWIN.C
$(o)\GT_COMPN.OBJ : $(s)\GT_COMPN.C $(s)\GT_COMPN.H
$(o)\GT_OFF.OBJ : $(s)\GT_OFF.C
$(o)\GT_SEG.OBJ : $(s)\GT_SEG.C
$(o)\GT_UCMPN.OBJ : $(s)\GT_UCMPN.C $(s)\GT_COMPN.H
$(o)\NTOCOLOR.OBJ : $(s)\NTOCOLOR.C
$(o)\SHADOW.OBJ : $(s)\SHADOW.C
!else
// if cl.exe file not found
!stderr "GTMake Error: CL.EXE file not found ... .C files not processed!"
!endif
// ------------------------------------------------------------------
// BORLAND C++ 3.1
// This section compiles any source files that need Borland C++ 3.1
// ------------------------------------------------------------------
// check to see if bcc.exe is found
!iffile $(bc)\bcc.exe
cc = $(bc)\bcc
cf = -ml -c -I$(s) -o
$(o)\AND.OBJ : $(s)\AND.C
$(o)\ARGC.OBJ : $(s)\ARGC.C
$(o)\ARGV.OBJ : $(s)\ARGV.C
$(o)\ASCIISUM.OBJ : $(s)\ASCIISUM.C
$(o)\ASCPOS.OBJ : $(s)\ASCPOS.C
$(o)\ATDIFF.OBJ : $(s)\ATDIFF.C
$(o)\BITFLAGS.OBJ : $(s)\BITFLAGS.C
$(o)\BITSTRIP.OBJ : $(s)\BITSTRIP.C
$(o)\BREAK.OBJ : $(s)\BREAK.C
$(o)\CHAREVEN.OBJ : $(s)\CHAREVEN.C
$(o)\CHARMIX.OBJ : $(s)\CHARMIX.C
$(o)\CHARODD.OBJ : $(s)\CHARODD.C
$(o)\CHDIR.OBJ : $(s)\CHDIR.C $(s)\INTERNAL.H
$(o)\CHRCOUNT.OBJ : $(s)\CHRCOUNT.C
$(o)\CHRFIRST.OBJ : $(s)\CHRFIRST.C
$(o)\CHRTOTAL.OBJ : $(s)\CHRTOTAL.C
$(o)\CLUSTERS.OBJ : $(s)\CLUSTERS.C $(s)\INTERNAL.H
$(o)\CLUSTFRE.OBJ : $(s)\CLUSTFRE.C $(s)\INTERNAL.H
$(o)\ENVCOUNT.OBJ : $(s)\ENVCOUNT.C
$(o)\ENVIRON.OBJ : $(s)\ENVIRON.C
$(o)\EXENAME.OBJ : $(s)\EXENAME.C
$(o)\FDRVCNT.OBJ : $(s)\FDRVCNT.C $(s)\GT_MEM.H
$(o)\FLOPNAME.OBJ : $(s)\FLOPNAME.C $(s)\GT_MEM.H
$(o)\GETDNAME.OBJ : $(s)\GETDNAME.C $(s)\GT_MEM.H
$(o)\GTDIR.OBJ : $(s)\GTDIR.C
$(o)\HANG.OBJ : $(s)\HANG.C
$(o)\HARDCNT.OBJ : $(s)\HARDCNT.C
$(o)\ISREMOTE.OBJ : $(s)\ISREMOTE.C $(s)\GT_MEM.H
$(o)\LLFLOCK.OBJ : $(s)\LLFLOCK.C $(s)\GT_MEM.H
$(o)\MKDIR.OBJ : $(s)\MKDIR.C $(s)\INTERNAL.H
$(o)\OR.OBJ : $(s)\OR.C
$(o)\PEEKBYTE.OBJ : $(s)\PEEKBYTE.C $(s)\GT_MEM.H
$(o)\PEEKSTRN.OBJ : $(s)\PEEKSTRN.C $(s)\GT_MEM.H
$(o)\PEEKSTRZ.OBJ : $(s)\PEEKSTRZ.C $(s)\GT_MEM.H
$(o)\PEEKWORD.OBJ : $(s)\PEEKWORD.C $(s)\GT_MEM.H
$(o)\PSPSEG.OBJ : $(s)\PSPSEG.C
$(o)\RLE.OBJ : $(s)\RLE.C $(s)\EXTEND.H
$(o)\RMDIR.OBJ : $(s)\RMDIR.C $(s)\INTERNAL.H
$(o)\ROMDATE.OBJ : $(s)\ROMDATE.C $(s)\GT_MEM.H
$(o)\SECTPCLU.OBJ : $(s)\SECTPCLU.C $(s)\INTERNAL.H
$(o)\SECTSIZE.OBJ : $(s)\SECTSIZE.C $(s)\INTERNAL.H
$(o)\SETDATE.OBJ : $(s)\SETDATE.C $(s)\INTERNAL.H
$(o)\SETFATTR.OBJ : $(s)\SETFATTR.C $(s)\GT_MEM.H
$(o)\SETTIME.OBJ : $(s)\SETTIME.C $(s)\INTERNAL.H
$(o)\STOD.OBJ : $(s)\STOD.C
$(o)\STRASINT.OBJ : $(s)\STRASINT.C
$(o)\STRCOUNT.OBJ : $(s)\STRCOUNT.C
$(o)\STRCSPN.OBJ : $(s)\STRCSPN.C
$(o)\STRDIFF.OBJ : $(s)\STRDIFF.C
$(o)\STREXPAN.OBJ : $(s)\STREXPAN.C
$(o)\STRLEFT.OBJ : $(s)\STRLEFT.C
$(o)\STRPBRK.OBJ : $(s)\STRPBRK.C
$(o)\STRRIGHT.OBJ : $(s)\STRRIGHT.C
$(o)\VERIFY.OBJ : $(s)\VERIFY.C
$(o)\WINCLIPB.OBJ : $(s)\WINCLIPB.C $(s)\GT_MEM.H
$(o)\XOR.OBJ : $(s)\XOR.C
!else
// if bcc.exe file not found
!stderr "GTMake Error: BCC.EXE file not found ... .C files not processed!"
!endif
// --------------------------------------------------------------
// CLIPPER 5.01
// This section compiles any source files that need Clipper 5.01
// ---------------------------------------------------------------
// check to see if clipper.exe is found
!iffile $(c5).exe
$(o)\ACOMP.OBJ : $(s)\ACOMP.PRG
$(o)\ADDREC.OBJ : $(s)\ADDREC.PRG
$(o)\AMSG.OBJ : $(s)\AMSG.PRG $(s)\GT_LIB.CH
$(o)\ARRASKIP.OBJ : $(s)\ARRASKIP.PRG $(s)\GT_LIB.CH
$(o)\AUDIT.OBJ : $(s)\AUDIT.PRG $(s)\GT_LIB.CH
$(o)\BARBOX.OBJ : $(s)\BARBOX.PRG $(s)\GT_LIB.CH
$(o)\BARCLEAR.OBJ : $(s)\BARCLEAR.PRG $(s)\GT_LIB.CH
$(o)\BARUPDAT.OBJ : $(s)\BARUPDAT.PRG $(s)\GT_LIB.CH
$(o)\BLATBOX.OBJ : $(s)\BLATBOX.PRG $(s)\GT_LIB.CH
$(o)\CHEKTABS.OBJ : $(s)\CHEKTABS.PRG $(s)\GT_LIB.CH
$(o)\CHKKEY.OBJ : $(s)\CHKKEY.PRG $(s)\GT_LIB.CH
$(o)\COLORSET.OBJ : $(s)\COLORSET.PRG
$(o)\DATEPACK.OBJ : $(s)\DATEPACK.PRG $(s)\GT_LIB.CH
$(o)\DATEPLUS.OBJ : $(s)\DATEPLUS.PRG
$(o)\DAYSMONT.OBJ : $(s)\DAYSMONT.PRG
$(o)\DBSTRU.OBJ : $(s)\DBSTRU.PRG $(s)\GT_LIB.CH
$(o)\DECRYPT.OBJ : $(s)\DECRYPT.PRG $(s)\GT_LIB.CH
$(o)\DEFEXT.OBJ : $(s)\DEFEXT.PRG $(s)\GT_LIB.CH
$(o)\DISKSIZE.OBJ : $(s)\DISKSIZE.PRG
$(o)\DOSFILE.OBJ : $(s)\DOSFILE.PRG
$(o)\DOSPATH.OBJ : $(s)\DOSPATH.PRG
$(o)\ELEMENT.OBJ : $(s)\ELEMENT.PRG $(s)\GT_LIB.CH
$(o)\ELEVBAR.OBJ : $(s)\ELEVBAR.PRG $(s)\GT_LIB.CH
$(o)\ENCRYPT.OBJ : $(s)\ENCRYPT.PRG $(s)\GT_LIB.CH
$(o)\ENDMONTH.OBJ : $(s)\ENDMONTH.PRG
$(o)\FERROR.OBJ : $(s)\FERROR.PRG $(s)\GT_LIB.CH
$(o)\FGETLR.OBJ : $(s)\FGETLR.PRG $(s)\GT_LIB.CH
$(o)\FHEADER.OBJ : $(s)\FHEADER.PRG $(s)\GT_LIB.CH
$(o)\FILELOCK.OBJ : $(s)\FILELOCK.PRG
$(o)\FILSPACE.OBJ : $(s)\FILSPACE.PRG $(s)\GT_LIB.CH
$(o)\FLOCATE.OBJ : $(s)\FLOCATE.PRG $(s)\GT_LIB.CH
$(o)\FONETIX.OBJ : $(s)\FONETIX.PRG $(s)\GT_LIB.CH
$(o)\FSAMEROW.OBJ : $(s)\FSAMEROW.PRG $(s)\GT_LIB.CH
$(o)\FSIZE.OBJ : $(s)\FSIZE.PRG $(s)\GT_LIB.CH
$(o)\FTELL.OBJ : $(s)\FTELL.PRG
$(o)\GETCHOIC.OBJ : $(s)\GETCHOIC.PRG $(s)\GT_LIB.CH
$(o)\GETFILES.OBJ : $(s)\GETFILES.PRG $(s)\GT_LIB.CH
$(o)\GETHEAD.OBJ : $(s)\GETHEAD.PRG
$(o)\GETINDEX.OBJ : $(s)\GETINDEX.PRG
$(o)\GETKEY.OBJ : $(s)\GETKEY.PRG $(s)\GT_LIB.CH
$(o)\GRPASSWO.OBJ : $(s)\GRPASSWO.PRG $(s)\GT_LIB.CH
$(o)\GTBIGTIM.OBJ : $(s)\GTBIGTIM.PRG
$(o)\GTCLOCK.OBJ : $(s)\GTCLOCK.PRG
$(o)\GTCURS.OBJ : $(s)\GTCURS.PRG
$(o)\GTMATH01.OBJ : $(s)\GTMATH01.PRG
$(o)\GTMATH02.OBJ : $(s)\GTMATH02.PRG $(s)\GT_LIB.CH
$(o)\GTMATH03.OBJ : $(s)\GTMATH03.PRG
$(o)\GTMATH04.OBJ : $(s)\GTMATH04.PRG
$(o)\GTMATH05.OBJ : $(s)\GTMATH05.PRG $(s)\GT_LIB.CH
$(o)\GTMATH06.OBJ : $(s)\GTMATH06.PRG $(s)\GT_LIB.CH
$(o)\GTMATH07.OBJ : $(s)\GTMATH07.PRG
$(o)\GTMATH08.OBJ : $(s)\GTMATH08.PRG
$(o)\GT_A2STR.OBJ : $(s)\GT_A2STR.PRG $(s)\GT_LIB.CH
$(o)\GT_ALERT.OBJ : $(s)\GT_ALERT.PRG $(s)\GT_LIB.CH
$(o)\GT_ALIAS.OBJ : $(s)\GT_ALIAS.PRG $(s)\GT_LIB.CH
$(o)\GT_ALT.OBJ : $(s)\GT_ALT.PRG $(s)\GT_LIB.CH
$(o)\GT_APPEN.OBJ : $(s)\GT_APPEN.PRG $(s)\GT_LIB.CH
$(o)\GT_ASKQU.OBJ : $(s)\GT_ASKQU.PRG $(s)\GT_LIB.CH
$(o)\GT_ASKUS.OBJ : $(s)\GT_ASKUS.PRG $(s)\GT_LIB.CH
$(o)\GT_BEEP.OBJ : $(s)\GT_BEEP.PRG
$(o)\GT_BLANK.OBJ : $(s)\GT_BLANK.PRG $(s)\GT_LIB.CH
$(o)\GT_BLOCK.OBJ : $(s)\GT_BLOCK.PRG $(s)\GT_LIB.CH
$(o)\GT_BOW.OBJ : $(s)\GT_BOW.PRG $(s)\GT_LIB.CH
$(o)\GT_BROWS.OBJ : $(s)\GT_BROWS.PRG $(s)\GT_LIB.CH
$(o)\GT_CAPIT.OBJ : $(s)\GT_CAPIT.PRG $(s)\GTCLIPPE.CH
$(o)\GT_CENT.OBJ : $(s)\GT_CENT.PRG $(s)\GT_LIB.CH
$(o)\GT_CHOOS.OBJ : $(s)\GT_CHOOS.PRG $(s)\GTCLIPPE.CH
$(o)\GT_CURDR.OBJ : $(s)\GT_CURDR.PRG
$(o)\GT_DATEA.OBJ : $(s)\GT_DATEA.PRG $(s)\GT_LIB.CH
$(o)\GT_DELRE.OBJ : $(s)\GT_DELRE.PRG $(s)\GT_LIB.CH
$(o)\GT_DERR.OBJ : $(s)\GT_DERR.PRG $(s)\GT_LIB.CH
$(o)\GT_DIREC.OBJ : $(s)\GT_DIREC.PRG $(s)\GTCLIPPE.CH
$(o)\GT_DOW2C.OBJ : $(s)\GT_DOW2C.PRG $(s)\GT_LIB.CH
$(o)\GT_DOW2N.OBJ : $(s)\GT_DOW2N.PRG $(s)\GT_LIB.CH
$(o)\GT_ERNAM.OBJ : $(s)\GT_ERNAM.PRG $(s)\GT_LIB.CH
$(o)\GT_ERROR.OBJ : $(s)\GT_ERROR.PRG $(s)\GT_LIB.CH
$(o)\GT_FILE2.OBJ : $(s)\GT_FILE2.PRG $(s)\GT_LIB.CH
$(o)\GT_GETLI.OBJ : $(s)\GT_GETLI.PRG $(s)\GTCLIPPE.CH
$(o)\GT_GETPA.OBJ : $(s)\GT_GETPA.PRG $(s)\GT_LIB.CH
$(o)\GT_GOBOT.OBJ : $(s)\GT_GOBOT.PRG $(s)\GT_LIB.CH
$(o)\GT_GOTOP.OBJ : $(s)\GT_GOTOP.PRG $(s)\GT_LIB.CH
$(o)\GT_HELP.OBJ : $(s)\GT_HELP.PRG $(s)\GT_LIB.CH
$(o)\GT_HILIT.OBJ : $(s)\GT_HILIT.PRG $(s)\GT_LIB.CH
$(o)\GT_INKEY.OBJ : $(s)\GT_INKEY.PRG $(s)\GT_LIB.CH
$(o)\GT_INTER.OBJ : $(s)\GT_INTER.PRG $(s)\GT_LIB.CH
$(o)\GT_ISDAT.OBJ : $(s)\GT_ISDAT.PRG
$(o)\GT_ISDOW.OBJ : $(s)\GT_ISDOW.PRG $(s)\GT_LIB.CH
$(o)\GT_ISFIE.OBJ : $(s)\GT_ISFIE.PRG $(s)\GTCLIPPE.CH
$(o)\GT_ISFIL.OBJ : $(s)\GT_ISFIL.PRG $(s)\GTCLIPPE.CH
$(o)\GT_LOCKI.OBJ : $(s)\GT_LOCKI.PRG $(s)\GT_LIB.CH
$(o)\GT_MDAYS.OBJ : $(s)\GT_MDAYS.PRG $(s)\GT_LIB.CH
$(o)\GT_MEMLO.OBJ : $(s)\GT_MEMLO.PRG $(s)\GT_LIB.CH
$(o)\GT_MEMO.OBJ : $(s)\GT_MEMO.PRG $(s)\GTCLIPPE.CH
$(o)\GT_MEMSA.OBJ : $(s)\GT_MEMSA.PRG $(s)\GT_LIB.CH
$(o)\GT_MENU.OBJ : $(s)\GT_MENU.PRG $(s)\GT_LIB.CH
$(o)\GT_MESSA.OBJ : $(s)\GT_MESSA.PRG $(s)\GT_LIB.CH
$(o)\GT_NEWSC.OBJ : $(s)\GT_NEWSC.PRG $(s)\GT_LIB.CH
$(o)\GT_OPEN.OBJ : $(s)\GT_OPEN.PRG $(s)\GT_LIB.CH
$(o)\GT_PROGR.OBJ : $(s)\GT_PROGR.PRG $(s)\GTCLIPPE.CH
$(o)\GT_QUIT.OBJ : $(s)\GT_QUIT.PRG $(s)\GT_LIB.CH
$(o)\GT_RMEMO.OBJ : $(s)\GT_RMEMO.PRG $(s)\GT_LIB.CH
$(o)\GT_S2ARR.OBJ : $(s)\GT_S2ARR.PRG $(s)\GT_LIB.CH
$(o)\GT_SETUP.OBJ : $(s)\GT_SETUP.PRG $(s)\GT_LIB.CH
$(o)\GT_SHADO.OBJ : $(s)\GT_SHADO.PRG $(s)\GT_LIB.CH
$(o)\GT_SHUFL.OBJ : $(s)\GT_SHUFL.PRG $(s)\GT_LIB.CH
$(o)\GT_SKIP.OBJ : $(s)\GT_SKIP.PRG $(s)\GT_LIB.CH
$(o)\GT_SNAKE.OBJ : $(s)\GT_SNAKE.PRG $(s)\GT_LIB.CH
$(o)\GT_STR2A.OBJ : $(s)\GT_STR2A.PRG $(s)\GT_LIB.CH
$(o)\GT_TABLE.OBJ : $(s)\GT_TABLE.PRG $(s)\GT_LIB.CH
$(o)\GT_TEXTD.OBJ : $(s)\GT_TEXTD.PRG $(s)\GT_LIB.CH
$(o)\GT_TOSTR.OBJ : $(s)\GT_TOSTR.PRG $(s)\GT_LIB.CH
$(o)\GT_USE.OBJ : $(s)\GT_USE.PRG $(s)\GT_LIB.CH
$(o)\GT_VALID.OBJ : $(s)\GT_VALID.PRG $(s)\GT_LIB.CH
$(o)\GT_WINDO.OBJ : $(s)\GT_WINDO.PRG $(s)\GT_LIB.CH
$(o)\HEADER.OBJ : $(s)\HEADER.PRG $(s)\GT_LIB.CH
$(o)\HELP.OBJ : $(s)\HELP.PRG $(s)\GT_LIB.CH
$(o)\IPLODASC.OBJ : $(s)\IPLODASC.PRG $(s)\GT_LIB.CH
$(o)\ISBUSDAY.OBJ : $(s)\ISBUSDAY.PRG
$(o)\ISDBF.OBJ : $(s)\ISDBF.PRG $(s)\GT_LIB.CH
$(o)\KILLGET.OBJ : $(s)\KILLGET.PRG
$(o)\LASTREC.OBJ : $(s)\LASTREC.PRG $(s)\GT_LIB.CH
$(o)\LEAPYEAR.OBJ : $(s)\LEAPYEAR.PRG $(s)\GT_LIB.CH
$(o)\LEVCOST.OBJ : $(s)\LEVCOST.PRG $(s)\GT_LIB.CH $(s)\LEVENSHT.CH
$(o)\LEVENSHT.OBJ : $(s)\LEVENSHT.PRG $(s)\GT_LIB.CH $(s)\LEVENSHT.CH
$(o)\LEVENSUP.OBJ : $(s)\LEVENSUP.PRG $(s)\GT_LIB.CH $(s)\LEVENSHT.CH
$(o)\LOGFILE.OBJ : $(s)\LOGFILE.PRG $(s)\GT_LIB.CH
$(o)\LUPDATE.OBJ : $(s)\LUPDATE.PRG $(s)\GT_LIB.CH
$(o)\MOVEPOS.OBJ : $(s)\MOVEPOS.PRG $(s)\GT_LIB.CH
$(o)\NAMECOUN.OBJ : $(s)\NAMECOUN.PRG $(s)\GT_LIB.CH
$(o)\NETUSE.OBJ : $(s)\NETUSE.PRG
$(o)\OCCURS.OBJ : $(s)\OCCURS.PRG $(s)\GT_LIB.CH
$(o)\PHEADER.OBJ : $(s)\PHEADER.PRG $(s)\GT_LIB.CH
$(o)\PNEXTROW.OBJ : $(s)\PNEXTROW.PRG $(s)\GT_LIB.CH
$(o)\PRINFILE.OBJ : $(s)\PRINFILE.PRG $(s)\GT_LIB.CH
$(o)\PRINSCRN.OBJ : $(s)\PRINSCRN.PRG
$(o)\PSAMEROW.OBJ : $(s)\PSAMEROW.PRG $(s)\GT_LIB.CH
$(o)\RECLOCK.OBJ : $(s)\RECLOCK.PRG
$(o)\RESTSCR.OBJ : $(s)\RESTSCR.PRG $(s)\GT_LIB.CH
$(o)\ROLLFWD.OBJ : $(s)\ROLLFWD.PRG
$(o)\SAVESCR.OBJ : $(s)\SAVESCR.PRG $(s)\GT_LIB.CH
$(o)\SERIALNO.OBJ : $(s)\SERIALNO.PRG $(s)\GT_LIB.CH
$(o)\SPOTLITE.OBJ : $(s)\SPOTLITE.PRG
$(o)\STABILIZ.OBJ : $(s)\STABILIZ.PRG
$(o)\STOD1.OBJ : $(s)\STOD1.PRG
$(o)\STRZERO.OBJ : $(s)\STRZERO.PRG
$(o)\TBPRINT.OBJ : $(s)\TBPRINT.PRG $(s)\GT_LIB.CH
$(o)\THEWALL.OBJ : $(s)\THEWALL.PRG $(s)\GT_LIB.CH
$(o)\TRASHCAN.OBJ : $(s)\TRASHCAN.PRG $(s)\GT_LIB.CH
$(o)\USEDBF.OBJ : $(s)\USEDBF.PRG $(s)\GT_LIB.CH
$(o)\USERLOCK.OBJ : $(s)\USERLOCK.PRG $(s)\GT_LIB.CH
$(o)\VIDEOMOD.OBJ : $(s)\VIDEOMOD.PRG
$(o)\WARNING.OBJ : $(s)\WARNING.PRG $(s)\GT_LIB.CH
$(o)\WORKING.OBJ : $(s)\WORKING.PRG $(s)\GT_LIB.CH
$(o)\X2CHAR.OBJ : $(s)\X2CHAR.PRG
$(o)\XPLODASC.OBJ : $(s)\XPLODASC.PRG $(s)\GT_LIB.CH
$(o)\XSEEK.OBJ : $(s)\XSEEK.PRG $(s)\GT_LIB.CH
!else
// if clipper.exe file not found
!stderr "GTMake Error: CLIPPER.EXE file not found ... .PRG files not processed!"
!endif
// ┌─────────────────────────────────────────────────────────────┐
// │ This section invokes the library manager - it must be last! │
// └─────────────────────────────────────────────────────────────┘
//
!iffile $(tl).exe
$(l)\gt_lib.LIB : $(l)\gt_lib.RSP
!else
!stderr "GTMake Error: LIB.EXE file not found ... gt_lib.LIB not processed!"
!endif
// end of gt_lib.rmk