Files
harbour-core/harbour/makefile.vc
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

1148 lines
27 KiB
Plaintext

#
# $Id$
#
#
# 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.
#
# See makefile.nt for a batch mode (read: faster) version of this file.
#
# ---------------------------------------------------------------
# "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.vc
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
#
{$(RTL_DIR)}.c{$(OBJ_DIR)}.obj:
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RTL_DIR)}.prg{$(OBJ_DIR)}.obj:
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\msgsrwin.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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $*.c
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