Files
harbour-core/harbour/makefile.nt
Ryszard Glab 3e6e0c0bc1 2004-02-11 13:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
+ source/debug/dbgbrwsr.prg
      + The new file with TDbgBrowser class which inherits
      from TBrowse

   * hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * source/debug/Makefile
      + added the reference to dbgbrwsr.prg

   * source/debug/dbgmenu.prg
      + added "Run at Startup' option

   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
   * source/debug/tbrwtext.prg
      + added "Run at Startup' option - if it is enabled then
      the debugged application runs until ALTD() is called or
      Alt+D keys pressed (Clipper compatibility - the default
      option). If it is disabled the the debugger shows up at
      the first code line with the debug info.
        This setting is stored in the initialization file
      (init.cld) as 'Options NoRunAtStartup'.
      * fixed more display/refreshing issues
      * fixed quiting the debugger

   * source/rtl/alert.prg
      * fixed bug with messages longer then 60 bytes

   * source/vm/hvm.c
      * hb_vmDebugEndProc() is called before the eval stack
      is cleaned - this allows to handle INIT/EXIT procedures
      correctly
2004-02-11 12:43:59 +00:00

1204 lines
30 KiB
Plaintext

#
# $Id$
#
#
# Makefile.nt - This file is identical to makefile.vc, except that
# under something higher than Win9x, you should see overall improved
# speed of building Harbour.
#
#
# Makefile for Harbour Project for Microsoft Visual C (32 bit)
#
# ---------------------------------------------------------------
# If you need to set additional compiler/linker options use the
# environment variables below, but please DON'T MODIFY THIS FILE
# for this purpose.
# ---------------------------------------------------------------
#
# NOTE: You can use these envvars to configure the make process:
# (note that these are all optional)
#
# CFLAGS - Extra C compiler options for libraries and for
# executables
# CLIBFLAGS - Extra C compiler options for the libraries
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# HARBOURFLAGS - Extra Harbour compiler options
# HB_DOC_PDF - Turns on the .PDF file support in the HBDOC utility.
# Note that this will require the pdflib contrib.
# HB_GT_LIB - To override the default GT driver
# (search for HB_GT_LIBS for a list of values)
# HB_LEX - If set to SIMPLEX, an alternate lexer will be
# used instead of the Flex based one.
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#
#
# Notes about this makefile:
#
# 1. To add new files to a dependancy list, add an obj name to one of the
# OBJ lists for the appropriate library.
# NOTE: put .prg related obj's last in the lib list.
#
# 2. This is a recursive script. If you change the name of this file,
# be sure to change MK_FILE (a few lines down) to the new name as well.
#
# 3. Recurrsion rules are quite simple:
# If you specifiy /a on the command line, files in the obj\vc dir
# will be deleted, and when nmake recurses, it's without the /a flag
#
# If a .prg.obj rule is fired, nmake will execute this script with
# a specific target as a parameter immediatley after compiling a given
# set of prg files.
# ie: Harbour $<
# nmake /fmakefile.nt obj\vc\rtl.lib2
# which will simply get make to re-evaluate the dependancy list for the
# lib, and as a result, it will execute the C compiler using the .c.obj
# rule below to create the obj's for the prg's that were created just
# prior to the recurrsive call. Once the obj's are created, the
# recurrsion is complete.
# See additional notes under RTL.LIB below.
#
# ---------------------------------------------------------------
# "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
# using macros for ECHO and DEL to allow overiding such as:
#
# set ECHO=cmd /c echo
# set DEL=cmd /c del
#
# The above might be needed on Windows 2000 and XP.
# The macros are referenced in makefile.bc
# ---------------------------------------------------------------
!ifndef ECHO
# don't indent definitions
ECHO = echo.
!endif
!ifndef DEL
# You might need to set 'ECHO=echo.' - but don't set 'DEL=del.' !!!
DEL = del
!endif
MK_FILE = makefile.nt
MK_FLAGS = $(MAKEFLAGS: =)
BIN_DIR = bin\vc
LIB_DIR = lib\vc
OBJ_DIR = obj\vc
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = include
CODEPAGE_DIR = source\codepage
COMMON_DIR = source\common
COMPILER_DIR = source\compiler
DEBUG_DIR = source\debug
LANG_DIR = source\lang
MACRO_DIR = source\macro
PP_DIR = source\pp
RDD_DIR = source\rdd
RTL_DIR = source\rtl
VM_DIR = source\vm
HBRUN_DIR = utils\hbrun
HBTEST_DIR = utils\hbtest
HBDOC_DIR = utils\hbdoc
HBPP_DIR = utils\hbpp
HBMAKE_DIR = utils\hbmake
HBVER_DIR = utils\hbver
!ifdef HB_DOC_PDF
# don't indent definitions
# don't indent definitions
# don't indent definitions
HBPDF_DIR = contrib\pdflib
!endif
!if ( "$(HB_LEX)"=="SIMPLEX" )
# don't indent definitions
CFLAGS = $(CFLAGS) -DSIMPLEX
!endif
#
# C compiler definition and C flags. These should never have to change.
#
AS = ML
CFLAGS = -I$(INCLUDE_DIR) -TP -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
!ifdef HB_DOC_PDF
HARBOURFLAGS = $(HARBOURFLAGS) -dPDF
!endif
#
# Macros to access our library names
#
CODEPAGE_LIB = $(LIB_DIR)\codepage.lib
COMMON_LIB = $(LIB_DIR)\common.lib
DBFCDX_LIB = $(LIB_DIR)\dbfcdx.lib
DBFNTX_LIB = $(LIB_DIR)\dbfntx.lib
DBFDBT_LIB = $(LIB_DIR)\dbfdbt.lib
DBFFPT_LIB = $(LIB_DIR)\dbffpt.lib
DEBUG_LIB = $(LIB_DIR)\debug.lib
LANG_LIB = $(LIB_DIR)\lang.lib
MACRO_LIB = $(LIB_DIR)\macro.lib
NULSYS_LIB = $(LIB_DIR)\nulsys.lib
PP_LIB = $(LIB_DIR)\pp.lib
RDD_LIB = $(LIB_DIR)\rdd.lib
RTL_LIB = $(LIB_DIR)\rtl.lib
VM_LIB = $(LIB_DIR)\vm.lib
GTCGI_LIB = $(LIB_DIR)\gtcgi.lib
GTDOS_LIB = $(LIB_DIR)\gtdos.lib
GTPCA_LIB = $(LIB_DIR)\gtpca.lib
GTSTD_LIB = $(LIB_DIR)\gtstd.lib
GTWIN_LIB = $(LIB_DIR)\gtwin.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
HBPP_EXE = $(BIN_DIR)\hbpp.exe
HBRUN_EXE = $(BIN_DIR)\hbrun.exe
HBTEST_EXE = $(BIN_DIR)\hbtest.exe
HBDOC_EXE = $(BIN_DIR)\hbdoc.exe
HBMAKE_EXE = $(BIN_DIR)\hbmake.exe
HBVER_EXE = $(BIN_DIR)\hbverfix.exe
#
# GT driver list
#
# TODO: Add GTSLN and GTCRS
HB_GT_LIBS = \
$(GTCGI_LIB) \
$(GTPCA_LIB) \
$(GTSTD_LIB) \
$(GTWIN_LIB)
!ifndef HB_GT_LIB
# don't indent definitions
HB_GT_LIB = $(GTWIN_LIB)
!else
# don't indent definitions
HB_GT_LIB = $(LIB_DIR)\$(HB_GT_LIB).lib
!endif
#
# Rules
#
.SUFFIXES: .prg .lib .c .obj .asm
# override builtin
.c.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#
#
#
# TODO: Add GTSLN and GTCRS
LIBLIST = \
$(RTL_LIB) \
$(CODEPAGE_LIB) \
$(COMMON_LIB) \
$(DEBUG_LIB) \
$(MACRO_LIB) \
$(PP_LIB) \
$(LANG_LIB) \
$(RDD_LIB) \
$(DBFCDX_LIB) \
$(DBFNTX_LIB) \
$(DBFDBT_LIB) \
$(DBFFPT_LIB) \
$(NULSYS_LIB) \
$(VM_LIB) \
$(HB_GT_LIB)
#
# macro.lib needs to be listed twice
#
LIBS = \
$(LIBLIST) \
$(MACRO_LIB)
#
# programs that require user32.lib (for OemToAnsi)
#
LIBS2 = \
$(LIBS) \
user32.lib \
winspool.lib
#
# RTL.LIB rules
#
# how this works:
#
# {target>.prg{objdir}.obj
# Harbour (flags) -oobjdir\ $<
# The list of dependant prgs is sent to the harbour compiler
# Since the rule is .prg to .obj and the compiler spits out
# C code (as we use it), we need to get those into obj format.
# Since $(<:.prg=.c) doesn't work, we execute this script again
# with a specific target via:
# nMake /fmakefile.vc target.lib2
# If you view that target at the bottom of this file, all it does
# is cause make to evaluate the obj list of dependants which then
# causes the .c.obj rule above to fire. (by inference)
{$(RTL_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RTL_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(RTL_LIB)2
RTL_LIB_OBJS = \
$(OBJ_DIR)\abs.obj \
$(OBJ_DIR)\accept.obj \
$(OBJ_DIR)\ampm.obj \
$(OBJ_DIR)\at.obj \
$(OBJ_DIR)\binnum.obj \
$(OBJ_DIR)\binnumx.obj \
$(OBJ_DIR)\box.obj \
$(OBJ_DIR)\cdpapi.obj \
$(OBJ_DIR)\chrasc.obj \
$(OBJ_DIR)\colorind.obj \
$(OBJ_DIR)\console.obj \
$(OBJ_DIR)\copyfile.obj \
$(OBJ_DIR)\datec.obj \
$(OBJ_DIR)\dates.obj \
$(OBJ_DIR)\dateshb.obj \
$(OBJ_DIR)\datesx.obj \
$(OBJ_DIR)\defpath.obj \
$(OBJ_DIR)\descend.obj \
$(OBJ_DIR)\dirdrive.obj \
$(OBJ_DIR)\direct.obj \
$(OBJ_DIR)\diskspac.obj \
$(OBJ_DIR)\disksphb.obj \
$(OBJ_DIR)\do.obj \
$(OBJ_DIR)\empty.obj \
$(OBJ_DIR)\errorapi.obj \
$(OBJ_DIR)\file.obj \
$(OBJ_DIR)\filehb.obj \
$(OBJ_DIR)\filesys.obj \
$(OBJ_DIR)\fkmax.obj \
$(OBJ_DIR)\fnsplit.obj \
$(OBJ_DIR)\fssize.obj \
$(OBJ_DIR)\fstemp.obj \
$(OBJ_DIR)\gete.obj \
$(OBJ_DIR)\gt.obj \
$(OBJ_DIR)\gtapi.obj \
$(OBJ_DIR)\gtapiu.obj \
$(OBJ_DIR)\gx.obj \
$(OBJ_DIR)\hardcr.obj \
$(OBJ_DIR)\idle.obj \
$(OBJ_DIR)\inkey.obj \
$(OBJ_DIR)\is.obj \
$(OBJ_DIR)\isprint.obj \
$(OBJ_DIR)\langapi.obj \
$(OBJ_DIR)\left.obj \
$(OBJ_DIR)\len.obj \
$(OBJ_DIR)\lennum.obj \
$(OBJ_DIR)\math.obj \
$(OBJ_DIR)\maxrow.obj \
$(OBJ_DIR)\memofile.obj \
$(OBJ_DIR)\memoline.obj \
$(OBJ_DIR)\minmax.obj \
$(OBJ_DIR)\mlcount.obj \
$(OBJ_DIR)\mlpos.obj \
$(OBJ_DIR)\mlctopos.obj \
$(OBJ_DIR)\mpostolc.obj \
$(OBJ_DIR)\mod.obj \
$(OBJ_DIR)\mouseapi.obj \
$(OBJ_DIR)\mousex.obj \
$(OBJ_DIR)\mtran.obj \
$(OBJ_DIR)\natmsg.obj \
$(OBJ_DIR)\net.obj \
$(OBJ_DIR)\oemansi.obj \
$(OBJ_DIR)\oldbox.obj \
$(OBJ_DIR)\oldclear.obj \
$(OBJ_DIR)\pad.obj \
$(OBJ_DIR)\padc.obj \
$(OBJ_DIR)\padl.obj \
$(OBJ_DIR)\padr.obj \
$(OBJ_DIR)\philes.obj \
$(OBJ_DIR)\philes53.obj \
$(OBJ_DIR)\philesx.obj \
$(OBJ_DIR)\rat.obj \
$(OBJ_DIR)\replic.obj \
$(OBJ_DIR)\right.obj \
$(OBJ_DIR)\round.obj \
$(OBJ_DIR)\run.obj \
$(OBJ_DIR)\samples.obj \
$(OBJ_DIR)\saverest.obj \
$(OBJ_DIR)\scroll.obj \
$(OBJ_DIR)\seconds.obj \
$(OBJ_DIR)\set.obj \
$(OBJ_DIR)\setcolor.obj \
$(OBJ_DIR)\setcurs.obj \
$(OBJ_DIR)\setkey.obj \
$(OBJ_DIR)\setpos.obj \
$(OBJ_DIR)\setposbs.obj \
$(OBJ_DIR)\shadow.obj \
$(OBJ_DIR)\soundex.obj \
$(OBJ_DIR)\space.obj \
$(OBJ_DIR)\spfiles.obj \
$(OBJ_DIR)\str.obj \
$(OBJ_DIR)\strcase.obj \
$(OBJ_DIR)\strings.obj \
$(OBJ_DIR)\strmatch.obj \
$(OBJ_DIR)\strtran.obj \
$(OBJ_DIR)\strzero.obj \
$(OBJ_DIR)\stuff.obj \
$(OBJ_DIR)\substr.obj \
$(OBJ_DIR)\teditorl.obj \
$(OBJ_DIR)\tone.obj \
$(OBJ_DIR)\trace.obj \
$(OBJ_DIR)\transfrm.obj \
$(OBJ_DIR)\trim.obj \
$(OBJ_DIR)\type.obj \
$(OBJ_DIR)\val.obj \
$(OBJ_DIR)\valtostr.obj \
$(OBJ_DIR)\valtype.obj \
$(OBJ_DIR)\version.obj \
$(OBJ_DIR)\word.obj \
$(OBJ_DIR)\xhelp.obj \
$(OBJ_DIR)\xsavescr.obj \
\
$(OBJ_DIR)\achoice.obj \
$(OBJ_DIR)\adir.obj \
$(OBJ_DIR)\alert.obj \
$(OBJ_DIR)\browdb.obj \
$(OBJ_DIR)\browdbx.obj \
$(OBJ_DIR)\browse.obj \
$(OBJ_DIR)\checkbox.obj \
$(OBJ_DIR)\color53.obj \
$(OBJ_DIR)\dbedit.obj \
$(OBJ_DIR)\dbdelim.obj \
$(OBJ_DIR)\dbsdf.obj \
$(OBJ_DIR)\devoutp.obj \
$(OBJ_DIR)\dircmd.obj \
$(OBJ_DIR)\dummy.obj \
$(OBJ_DIR)\errorsys.obj \
$(OBJ_DIR)\fieldbl.obj \
$(OBJ_DIR)\getlist.obj \
$(OBJ_DIR)\getsys.obj \
$(OBJ_DIR)\input.obj \
$(OBJ_DIR)\listbox.obj \
$(OBJ_DIR)\memoedit.obj \
$(OBJ_DIR)\memvarbl.obj \
$(OBJ_DIR)\menuto.obj \
$(OBJ_DIR)\mssgline.obj \
$(OBJ_DIR)\objfunc.obj \
$(OBJ_DIR)\perfuncs.obj \
$(OBJ_DIR)\persist.obj \
$(OBJ_DIR)\profiler.obj \
$(OBJ_DIR)\pushbtn.obj \
$(OBJ_DIR)\radiobtn.obj \
$(OBJ_DIR)\radiogrp.obj \
$(OBJ_DIR)\readkey.obj \
$(OBJ_DIR)\readvar.obj \
$(OBJ_DIR)\scrollbr.obj \
$(OBJ_DIR)\setfunc.obj \
$(OBJ_DIR)\setta.obj \
$(OBJ_DIR)\symbol.obj \
$(OBJ_DIR)\tbcolumn.obj \
$(OBJ_DIR)\tbrowse.obj \
$(OBJ_DIR)\tclass.obj \
$(OBJ_DIR)\teditor.obj \
$(OBJ_DIR)\terror.obj \
$(OBJ_DIR)\text.obj \
$(OBJ_DIR)\tget.obj \
$(OBJ_DIR)\tgetint.obj \
$(OBJ_DIR)\tgetlist.obj \
$(OBJ_DIR)\tlabel.obj \
$(OBJ_DIR)\tmenuitm.obj \
$(OBJ_DIR)\tobject.obj \
$(OBJ_DIR)\tpopup.obj \
$(OBJ_DIR)\treport.obj \
$(OBJ_DIR)\ttextlin.obj \
$(OBJ_DIR)\ttopbar.obj \
$(OBJ_DIR)\typefile.obj \
$(OBJ_DIR)\wait.obj
#
# LANG.LIB rules
#
{$(LANG_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
LANG_LIB_OBJS = \
$(OBJ_DIR)\msgca.obj \
$(OBJ_DIR)\msgcs852.obj \
$(OBJ_DIR)\msgcsiso.obj \
$(OBJ_DIR)\msgcskam.obj \
$(OBJ_DIR)\msgcswin.obj \
$(OBJ_DIR)\msgde.obj \
$(OBJ_DIR)\msgdewin.obj \
$(OBJ_DIR)\msgen.obj \
$(OBJ_DIR)\msgeo.obj \
$(OBJ_DIR)\msges.obj \
$(OBJ_DIR)\msgeswin.obj \
$(OBJ_DIR)\msgeu.obj \
$(OBJ_DIR)\msgfr.obj \
$(OBJ_DIR)\msggl.obj \
$(OBJ_DIR)\msghe862.obj \
$(OBJ_DIR)\msghewin.obj \
$(OBJ_DIR)\msghr852.obj \
$(OBJ_DIR)\msghriso.obj \
$(OBJ_DIR)\msghu852.obj \
$(OBJ_DIR)\msghucwi.obj \
$(OBJ_DIR)\msghuwin.obj \
$(OBJ_DIR)\msgid.obj \
$(OBJ_DIR)\msgis850.obj \
$(OBJ_DIR)\msgit.obj \
$(OBJ_DIR)\msgko.obj \
$(OBJ_DIR)\msgpl852.obj \
$(OBJ_DIR)\msgpliso.obj \
$(OBJ_DIR)\msgplmaz.obj \
$(OBJ_DIR)\msgplwin.obj \
$(OBJ_DIR)\msgpt.obj \
$(OBJ_DIR)\msgro.obj \
$(OBJ_DIR)\msgru866.obj \
$(OBJ_DIR)\msgrukoi.obj \
$(OBJ_DIR)\msgruwin.obj \
$(OBJ_DIR)\msgsl437.obj \
$(OBJ_DIR)\msgsl852.obj \
$(OBJ_DIR)\msgsliso.obj \
$(OBJ_DIR)\msgslwin.obj \
$(OBJ_DIR)\msgsr852.obj \
$(OBJ_DIR)\msgsriso.obj \
$(OBJ_DIR)\msgzhgb.obj \
$(OBJ_DIR)\msgzhb5.obj
#
# CODEPAGE.LIB rules
#
{$(CODEPAGE_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
CODEPAGE_LIB_OBJS = \
$(OBJ_DIR)\cdpesdos.obj \
$(OBJ_DIR)\cdpeswin.obj \
$(OBJ_DIR)\cdpgedos.obj \
$(OBJ_DIR)\cdpgewin.obj \
$(OBJ_DIR)\cdppt850.obj \
$(OBJ_DIR)\cdpptiso.obj \
$(OBJ_DIR)\cdppl852.obj \
$(OBJ_DIR)\cdppliso.obj \
$(OBJ_DIR)\cdpplmaz.obj \
$(OBJ_DIR)\cdpplwin.obj \
$(OBJ_DIR)\cdpru866.obj \
$(OBJ_DIR)\cdprukoi.obj \
$(OBJ_DIR)\cdpruwin.obj \
$(OBJ_DIR)\cdpsl437.obj \
$(OBJ_DIR)\cdpsl852.obj \
$(OBJ_DIR)\cdpsliso.obj \
$(OBJ_DIR)\cdpslwin.obj
#
# MACRO.LIB rules
#
{$(MACRO_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
MACRO_LIB_OBJS = \
$(OBJ_DIR)\macroy.obj \
$(OBJ_DIR)\macroa.obj \
$(OBJ_DIR)\macrob.obj \
$(OBJ_DIR)\macroc.obj
!if ( "$(HB_LEX)"=="SIMPLEX" )
MACRO_LIB_OBJS = \
$(MACRO_LIB_OBJS) \
$(OBJ_DIR)\macroslx.obj
!else
MACRO_LIB_OBJS = \
$(MACRO_LIB_OBJS) \
$(OBJ_DIR)\macrol.obj
!endif
#
# RDD.LIB rules
#
{$(RDD_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(RDD_LIB)2
RDD_LIB_OBJS = \
$(OBJ_DIR)\dbcmd.obj \
$(OBJ_DIR)\workarea.obj \
$(OBJ_DIR)\dbf1.obj \
$(OBJ_DIR)\dbnubs.obj \
$(OBJ_DIR)\delim1.obj \
$(OBJ_DIR)\sdf1.obj \
\
$(OBJ_DIR)\dbf0.obj \
$(OBJ_DIR)\dbtotal.obj \
$(OBJ_DIR)\dbfuncs.obj \
$(OBJ_DIR)\dblist.obj \
$(OBJ_DIR)\dbsort.obj \
$(OBJ_DIR)\hbdbsort.obj \
$(OBJ_DIR)\dbstrux.obj \
$(OBJ_DIR)\dbupdat.obj \
$(OBJ_DIR)\delim0.obj \
$(OBJ_DIR)\rddord.obj \
$(OBJ_DIR)\rddsys.obj \
$(OBJ_DIR)\sdf0.obj
#
# NULSYS.LIB rules
#
{$(RDD_DIR)\nulsys}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)\nulsys}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(NULSYS_LIB)2
NULSYS_LIB_OBJS = \
$(OBJ_DIR)\nulsys.obj
#
# DBFNTX.LIB rules
#
{$(RDD_DIR)\dbfntx}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)\dbfntx}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(DBFNTX_LIB)2
DBFNTX_LIB_OBJS = \
$(OBJ_DIR)\dbfntx1.obj \
\
$(OBJ_DIR)\dbfntx0.obj
#
# DBFCDX.LIB rules
#
{$(RDD_DIR)\dbfcdx}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)\dbfcdx}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(DBFCDX_LIB)2
DBFCDX_LIB_OBJS = \
$(OBJ_DIR)\dbfcdx1.obj \
\
$(OBJ_DIR)\dbfcdx0.obj
#
# DBFDBT.LIB rules
#
{$(RDD_DIR)\dbfdbt}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)\dbfdbt}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(DBFDBT_LIB)2
DBFDBT_LIB_OBJS = \
$(OBJ_DIR)\dbfdbt1.obj \
\
$(OBJ_DIR)\dbfdbt0.obj
#
# DBFFPT.LIB rules
#
{$(RDD_DIR)\dbffpt}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RDD_DIR)\dbffpt}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(DBFFPT_LIB)2
DBFFPT_LIB_OBJS = \
$(OBJ_DIR)\dbffpt1.obj \
\
$(OBJ_DIR)\dbffpt0.obj
#
# PP.LIB rules
#
{$(PP_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
PP_LIB_OBJS = \
$(OBJ_DIR)\ppcore.obj \
$(OBJ_DIR)\ppcomp.obj \
$(OBJ_DIR)\pplib.obj \
$(OBJ_DIR)\pptable.obj \
$(OBJ_DIR)\pragma.obj
#
# DEBUG.LIB rules
#
{$(DEBUG_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(DEBUG_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(DEBUG_LIB)2
DEBUG_LIB_OBJS = \
$(OBJ_DIR)\dbgmenu.obj \
$(OBJ_DIR)\dbgtmenu.obj \
$(OBJ_DIR)\dbgtmitm.obj \
$(OBJ_DIR)\dbgtwin.obj \
$(OBJ_DIR)\debugger.obj \
$(OBJ_DIR)\dbgbrwsr.obj \
$(OBJ_DIR)\dbgtarr.obj \
$(OBJ_DIR)\dbgtobj.obj \
$(OBJ_DIR)\dbghelp.obj \
$(OBJ_DIR)\tbrwtext.obj \
$(OBJ_DIR)\dbgwa.obj
#
# COMMON.LIB rules
#
{$(COMMON_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
COMMON_LIB_OBJS = \
$(OBJ_DIR)\hbffind.obj \
$(OBJ_DIR)\hbfhnd.obj \
$(OBJ_DIR)\hbfsapi.obj \
$(OBJ_DIR)\hbgete.obj \
$(OBJ_DIR)\hbhash.obj \
$(OBJ_DIR)\hbstr.obj \
$(OBJ_DIR)\hbtrace.obj \
$(OBJ_DIR)\hbver.obj \
$(OBJ_DIR)\expropt1.obj \
$(OBJ_DIR)\expropt2.obj \
$(OBJ_DIR)\reserved.obj
#
# VM.LIB rules
#
{$(VM_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(VM_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS)f$(MK_FILE) $(VM_LIB)2
VM_LIB_OBJS = \
$(OBJ_DIR)\arrays.obj \
$(OBJ_DIR)\arrayshb.obj \
$(OBJ_DIR)\asort.obj \
$(OBJ_DIR)\break.obj \
$(OBJ_DIR)\classes.obj \
$(OBJ_DIR)\cmdarg.obj \
$(OBJ_DIR)\codebloc.obj \
$(OBJ_DIR)\debug.obj \
$(OBJ_DIR)\dynsym.obj \
$(OBJ_DIR)\estack.obj \
$(OBJ_DIR)\eval.obj \
$(OBJ_DIR)\evalhb.obj \
$(OBJ_DIR)\extend.obj \
$(OBJ_DIR)\fm.obj \
$(OBJ_DIR)\garbage.obj \
$(OBJ_DIR)\hvm.obj \
$(OBJ_DIR)\initexit.obj \
$(OBJ_DIR)\initsymb.obj \
$(OBJ_DIR)\itemapi.obj \
$(OBJ_DIR)\macro.obj \
$(OBJ_DIR)\maindll.obj \
$(OBJ_DIR)\mainstd.obj \
$(OBJ_DIR)\mainwin.obj \
$(OBJ_DIR)\memvars.obj \
$(OBJ_DIR)\memvclip.obj \
$(OBJ_DIR)\pcount.obj \
$(OBJ_DIR)\proc.obj \
$(OBJ_DIR)\pvalue.obj \
$(OBJ_DIR)\runner.obj \
\
$(OBJ_DIR)\harbinit.obj
#
# GTCGI.LIB rules
#
{$(RTL_DIR)\gtcgi}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
GTCGI_LIB_OBJS = \
$(OBJ_DIR)\gtcgi.obj \
$(OBJ_DIR)\mousecgi.obj
#
# GTDOS.LIB rules
#
{$(RTL_DIR)\gtdos}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
GTDOS_LIB_OBJS = \
$(OBJ_DIR)\gtdos.obj \
$(OBJ_DIR)\mousedos.obj
#
# GTPCA.LIB rules
#
{$(RTL_DIR)\gtpca}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
GTPCA_LIB_OBJS = \
$(OBJ_DIR)\gtpca.obj \
$(OBJ_DIR)\mousepca.obj
#
# GTSTD.LIB rules
#
{$(RTL_DIR)\gtstd}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
GTSTD_LIB_OBJS = \
$(OBJ_DIR)\gtstd.obj \
$(OBJ_DIR)\mousestd.obj
#
# GTWIN.LIB rules
#
{$(RTL_DIR)\gtwin}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
GTWIN_LIB_OBJS = \
$(OBJ_DIR)\gtwin.obj \
$(OBJ_DIR)\mousewin.obj
#
# Our default target
#
!if ( "$(MK_FLAGS:Y=)"=="A" )
all: \
CLEAN \
$(COMMON_LIB) \
$(PP_LIB) \
$(HARBOUR_EXE) \
$(VM_LIB) \
$(RTL_LIB) \
$(MACRO_LIB) \
$(DEBUG_LIB) \
$(LANG_LIB) \
$(CODEPAGE_LIB) \
$(RDD_LIB) \
$(NULSYS_LIB) \
$(DBFNTX_LIB) \
$(DBFCDX_LIB) \
$(DBFDBT_LIB) \
$(DBFFPT_LIB) \
$(HB_GT_LIBS) \
$(HBRUN_EXE) \
$(HBPP_EXE) \
$(HBTEST_EXE) \
$(HBDOC_EXE) \
$(HBMAKE_EXE) \
$(HBVER_EXE)
MK_FLAGS = $(MK_FLAGS:A=)
!else
all: \
$(COMMON_LIB) \
$(PP_LIB) \
$(HARBOUR_EXE) \
$(VM_LIB) \
$(RTL_LIB) \
$(MACRO_LIB) \
$(DEBUG_LIB) \
$(LANG_LIB) \
$(CODEPAGE_LIB) \
$(RDD_LIB) \
$(NULSYS_LIB) \
$(DBFNTX_LIB) \
$(DBFCDX_LIB) \
$(DBFDBT_LIB) \
$(DBFFPT_LIB) \
$(HB_GT_LIBS) \
$(HBRUN_EXE) \
$(HBPP_EXE) \
$(HBTEST_EXE) \
$(HBDOC_EXE) \
$(HBMAKE_EXE) \
$(HBVER_EXE)
!endif
CLEAN:
-@if exist $(OBJ_DIR)\*.obj $(DEL) $(OBJ_DIR)\*.obj > nul
-@if exist $(OBJ_DIR)\*.c $(DEL) $(OBJ_DIR)\*.c > nul
-@if exist $(OBJ_DIR)\*.h $(DEL) $(OBJ_DIR)\*.h > nul
-@if exist $(OBJ_DIR)\*.pch $(DEL) $(OBJ_DIR)\*.pch > nul
-@if exist $(LIB_DIR)\*.lib $(DEL) $(LIB_DIR)\*.lib > nul
-@if exist $(BIN_DIR)\*.exe $(DEL) $(BIN_DIR)\*.exe > nul
-@if exist $(BIN_DIR)\*.pdb $(DEL) $(BIN_DIR)\*.pdb > nul
-@if exist $(BIN_DIR)\*.ilk $(DEL) $(BIN_DIR)\*.ilk > nul
-@if exist $(BIN_DIR)\*.map $(DEL) $(BIN_DIR)\*.map > nul
$(HBPP_EXE) : \
$(HBPP_DIR)\hbpp.c
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $** -o $(HBPP_EXE) /link $(LDFLAGS) $(PP_LIB) $(COMMON_LIB)
#
# HBRUN.EXE rules
#
$(HBRUN_EXE) : \
$(HBRUN_DIR)\hbrun.prg \
$(HBRUN_DIR)\external.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbrun.c $(OBJ_DIR)\external.c -o $(HBRUN_EXE) /link $(LDFLAGS) $(LIBS2)
#
# HBTEST.EXE rules
#
$(HBTEST_EXE) : \
$(HBTEST_DIR)\hbtest.prg \
$(HBTEST_DIR)\rt_array.prg \
$(HBTEST_DIR)\rt_date.prg \
$(HBTEST_DIR)\rt_file.prg \
$(HBTEST_DIR)\rt_hvm.prg \
$(HBTEST_DIR)\rt_hvma.prg \
$(HBTEST_DIR)\rt_math.prg \
$(HBTEST_DIR)\rt_misc.prg \
$(HBTEST_DIR)\rt_str.prg \
$(HBTEST_DIR)\rt_stra.prg \
$(HBTEST_DIR)\rt_trans.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbtest.c \
$(OBJ_DIR)\rt_array.c \
$(OBJ_DIR)\rt_date.c \
$(OBJ_DIR)\rt_file.c \
$(OBJ_DIR)\rt_hvm.c \
$(OBJ_DIR)\rt_hvma.c \
$(OBJ_DIR)\rt_math.c \
$(OBJ_DIR)\rt_misc.c \
$(OBJ_DIR)\rt_str.c \
$(OBJ_DIR)\rt_stra.c \
$(OBJ_DIR)\rt_trans.c \
-o $(HBTEST_EXE) /link $(LDFLAGS) $(LIBS)
#
# HBDOC.EXE rules
#
$(HBDOC_EXE) : \
$(HBDOC_DIR)\hbdoc.prg \
$(HBDOC_DIR)\genchm.prg \
$(HBDOC_DIR)\genos2.prg \
$(HBDOC_DIR)\gentrf.prg \
$(HBDOC_DIR)\genng.prg \
$(HBDOC_DIR)\genhtm.prg \
$(HBDOC_DIR)\genrtf.prg \
$(HBDOC_DIR)\genhpc.prg \
$(HBDOC_DIR)\genasc.prg \
$(HBDOC_DIR)\html.prg \
$(HBDOC_DIR)\ng.prg \
$(HBDOC_DIR)\os2.prg \
$(HBDOC_DIR)\rtf.prg \
$(HBDOC_DIR)\troff.prg \
$(HBDOC_DIR)\fclass1.prg \
$(HBDOC_DIR)\ffile1.prg \
$(HBDOC_DIR)\ft_funcs.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbdoc.c \
$(OBJ_DIR)\genchm.c \
$(OBJ_DIR)\genos2.c \
$(OBJ_DIR)\gentrf.c \
$(OBJ_DIR)\genng.c \
$(OBJ_DIR)\genhtm.c \
$(OBJ_DIR)\genrtf.c \
$(OBJ_DIR)\genhpc.c \
$(OBJ_DIR)\genasc.c \
$(OBJ_DIR)\html.c \
$(OBJ_DIR)\ng.c \
$(OBJ_DIR)\os2.c \
$(OBJ_DIR)\rtf.c \
$(OBJ_DIR)\troff.c \
$(OBJ_DIR)\fclass1.c \
$(OBJ_DIR)\ffile1.c \
$(OBJ_DIR)\ft_funcs.c \
-o $(HBDOC_EXE) /link $(LDFLAGS) $(LIBS2)
#
# HBMAKE.EXE rules
#
$(HBMAKE_EXE) : \
$(HBMAKE_DIR)\hbmake.prg \
$(HBMAKE_DIR)\hbmutils.prg \
$(HBMAKE_DIR)\radios.prg \
$(HBMAKE_DIR)\checks.prg \
$(HBMAKE_DIR)\fclass1.prg \
$(HBMAKE_DIR)\ffile1.prg \
$(HBMAKE_DIR)\ft_funcs.prg \
$(HBMAKE_DIR)\pickarry.prg \
$(HBMAKE_DIR)\pickfile.prg \
$(HBMAKE_DIR)\prb_stak.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbmake.c \
$(OBJ_DIR)\hbmutils.c \
$(OBJ_DIR)\radios.c \
$(OBJ_DIR)\checks.c \
$(OBJ_DIR)\fclass1.c \
$(OBJ_DIR)\ffile1.c \
$(OBJ_DIR)\ft_funcs.c \
$(OBJ_DIR)\pickarry.c \
$(OBJ_DIR)\pickfile.c \
$(OBJ_DIR)\prb_stak.c \
$(HBMAKE_DIR)\hbmlang.c \
-o $(HBMAKE_EXE) /link $(LDFLAGS) $(LIBS2)
#
# HBVERFIX.EXE rules
#
$(HBVER_EXE) : \
$(HBVER_DIR)\hbverfix.c
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(HBVER_DIR)\hbverfix.c \
-o $(HBVER_EXE) /link $(LDFLAGS)
#
# HARBOUR.EXE rules
#
!if ( "$(HB_LEX)"=="SIMPLEX" )
$(HARBOUR_EXE) : \
$(COMPILER_DIR)\harbour.c \
$(OBJ_DIR)\harboury.c \
$(COMPILER_DIR)\hbslex.c \
$(COMPILER_DIR)\cmdcheck.c \
$(COMPILER_DIR)\hbusage.c \
$(COMPILER_DIR)\hbident.c \
$(COMPILER_DIR)\hbpcode.c \
$(COMPILER_DIR)\hbfix.c \
$(COMPILER_DIR)\hbfunchk.c \
$(COMPILER_DIR)\hbgenerr.c \
$(COMPILER_DIR)\genobj32.c \
$(COMPILER_DIR)\genc.c \
$(COMPILER_DIR)\gencli.c \
$(COMPILER_DIR)\gencobj.c \
$(COMPILER_DIR)\genhrb.c \
$(COMPILER_DIR)\genjava.c \
$(COMPILER_DIR)\expropta.c \
$(COMPILER_DIR)\exproptb.c \
$(COMPILER_DIR)\exproptc.c
-$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CFLAGS) -I$(OBJ_DIR) -Fo$(OBJ_DIR)\ -W3 $** -o $(HARBOUR_EXE) /link $(LDFLAGS) $(PP_LIB) $(COMMON_LIB)
-$(DEL) $(OBJ_DIR)\unistd.h
!else
$(HARBOUR_EXE) : \
$(COMPILER_DIR)\harbour.c \
$(OBJ_DIR)\harboury.c \
$(OBJ_DIR)\harbourl.c \
$(COMPILER_DIR)\cmdcheck.c \
$(COMPILER_DIR)\hbusage.c \
$(COMPILER_DIR)\hbident.c \
$(COMPILER_DIR)\hbpcode.c \
$(COMPILER_DIR)\hbfix.c \
$(COMPILER_DIR)\hbfunchk.c \
$(COMPILER_DIR)\hbgenerr.c \
$(COMPILER_DIR)\genobj32.c \
$(COMPILER_DIR)\genc.c \
$(COMPILER_DIR)\gencli.c \
$(COMPILER_DIR)\gencobj.c \
$(COMPILER_DIR)\genhrb.c \
$(COMPILER_DIR)\genjava.c \
$(COMPILER_DIR)\expropta.c \
$(COMPILER_DIR)\exproptb.c \
$(COMPILER_DIR)\exproptc.c
-$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CFLAGS) -I$(OBJ_DIR) -Fo$(OBJ_DIR)\ -W3 $** -o $(HARBOUR_EXE) /link $(LDFLAGS) $(PP_LIB) $(COMMON_LIB)
-$(DEL) $(OBJ_DIR)\unistd.h
!endif
#
# Library dependencies and build rules
#
$(RTL_LIB) : $(RTL_LIB_OBJS)
lib /out:$@ $**
$(CODEPAGE_LIB) : $(CODEPAGE_LIB_OBJS)
lib /out:$@ $**
$(COMMON_LIB) : $(COMMON_LIB_OBJS)
lib /out:$@ $**
$(DEBUG_LIB) : $(DEBUG_LIB_OBJS)
lib /out:$@ $**
$(MACRO_LIB) : $(MACRO_LIB_OBJS)
lib /out:$@ $**
$(PP_LIB) : $(PP_LIB_OBJS)
lib /out:$@ $**
$(LANG_LIB) : $(LANG_LIB_OBJS)
lib /out:$@ $**
$(RDD_LIB) : $(RDD_LIB_OBJS)
lib /out:$@ $**
$(DBFCDX_LIB) : $(DBFCDX_LIB_OBJS)
lib /out:$@ $**
$(DBFNTX_LIB) : $(DBFNTX_LIB_OBJS)
lib /out:$@ $**
$(DBFDBT_LIB) : $(DBFDBT_LIB_OBJS)
lib /out:$@ $**
$(DBFFPT_LIB) : $(DBFFPT_LIB_OBJS)
lib /out:$@ $**
$(NULSYS_LIB) : $(NULSYS_LIB_OBJS)
lib /out:$@ $**
$(VM_LIB) : $(VM_LIB_OBJS)
lib /out:$@ $**
$(GTCGI_LIB) : $(GTCGI_LIB_OBJS)
lib /out:$@ $**
$(GTPCA_LIB) : $(GTPCA_LIB_OBJS)
lib /out:$@ $**
$(GTSTD_LIB) : $(GTSTD_LIB_OBJS)
lib /out:$@ $**
$(GTWIN_LIB) : $(GTWIN_LIB_OBJS)
lib /out:$@ $**
$(GTDOS_LIB) : $(GTDOS_LIB_OBJS)
lib /out:$@ $**
#
# HARBOUR.EXE dependencies
#
!if ( "$(HB_LEX)"=="SIMPLEX" )
$(OBJ_DIR)\harboury.c : $(COMPILER_DIR)\harbour.sly
bison -d --no-line -o$@ $**
$(OBJ_DIR)\hbslex.obj : $(COMPILER_DIR)\hbslex.c
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -W3 -Fo$@ $**
!else
$(OBJ_DIR)\harboury.c : $(COMPILER_DIR)\harbour.y
bison -d --no-line -o$(OBJ_DIR)\harboury.c $(COMPILER_DIR)\harbour.y
$(OBJ_DIR)\harbourl.c : $(COMPILER_DIR)\harbour.l
flex -i -8 -o$(OBJ_DIR)\harbourl.c $(COMPILER_DIR)\harbour.l
!endif
#
# MACRO.LIB dependencies
#
!if ( "$(HB_LEX)"=="SIMPLEX" )
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
bison -p hb_comp -d --no-line $** -o$@
!else
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
bison -d --no-line -p hb_comp -o$(OBJ_DIR)\macroy.c $(MACRO_DIR)\macro.y
$(OBJ_DIR)\macrol.c : $(OBJ_DIR)\macroy.c $(MACRO_DIR)\macro.l
flex -i -8 -Phb_comp -o$(OBJ_DIR)\macrol.c $(MACRO_DIR)\macro.l
!endif
$(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c
$(CC) $(CLIBFLAGS) -W3 -Fo$@ $**
!if ( "$(HB_LEX)"=="SIMPLEX" )
$(OBJ_DIR)\macroslx.obj : $(MACRO_DIR)\macroslx.c
-$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -W3 -Fo$@ $**
-$(DEL) $(OBJ_DIR)\unistd.h
!else
$(OBJ_DIR)\macrol.obj : $(OBJ_DIR)\macrol.c
-$(ECHO) > $(OBJ_DIR)\unistd.h
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -W3 -Fo$@ $**
-$(DEL) $(OBJ_DIR)\unistd.h
!endif
# dummy targets used for prg to c creation
$(RTL_LIB)2 : $(RTL_LIB_OBJS)
$(CODEPAGE_LIB)2 : $(CODEPAGE_LIB_OBJS)
$(COMMON_LIB)2 : $(COMMON_LIB_OBJS)
$(DEBUG_LIB)2 : $(DEBUG_LIB_OBJS)
$(MACRO_LIB)2 : $(MACRO_LIB_OBJS)
$(PP_LIB)2 : $(PP_LIB_OBJS)
$(RDD_LIB)2 : $(RDD_LIB_OBJS)
$(DBFCDX_LIB)2 : $(DBFCDX_LIB_OBJS)
$(DBFNTX_LIB)2 : $(DBFNTX_LIB_OBJS)
$(DBFDBT_LIB)2 : $(DBFDBT_LIB_OBJS)
$(DBFFPT_LIB)2 : $(DBFFPT_LIB_OBJS)
$(NULSYS_LIB)2 : $(NULSYS_LIB_OBJS)
$(VM_LIB)2 : $(VM_LIB_OBJS)
$(GTCGI_LIB)2 : $(GTCGI_LIB_OBJS)
$(GTPCA_LIB)2 : $(GTPCA_LIB_OBJS)
$(GTSTD_LIB)2 : $(GTSTD_LIB_OBJS)
$(GTWIN_LIB)2 : $(GTWIN_LIB_OBJS)