+ source/rtl/altd.prg
+new file with ALTD() procedure code
* hrbdll.bc
* hrbdll.vc
* makefile.bc
* makefile.nt
* makefile.vc
* source/rtl/Makefile
*added a reference to rtl/altd.prg
* source/common/hbffind.c
*fixed to compile correctly with HB_OS_UNIX
* include/hbcomp.h
* include/hbexpra.c
* include/hbexprb.c
* include/hbexprop.h
* include/hbpcode.h
* source/common/expropt1.c
* source/compiler/expropta.c
* source/compiler/exproptb.c
* source/compiler/genc.c
* source/compiler/harbour.c
* source/compiler/harbour.y
* source/compiler/hbfix.c
* source/compiler/hbgenerr.c
* source/compiler/hbpcode.c
* source/macro/macro.y
* source/macro/macroa.c
* source/macro/macrob.c
* source/vm/hvm.c
+added missing support for @¯o and @M->memvar
+added new pcode HB_MACROPUSHREF (all sources have to be
recompiled)
* source/debug/dbgtwin.prg
* source/debug/debugger.prg
*fixed procedures callstack when modules with/without debug info
are linked together
*fixed the debugger activation when ALTD() is used in
a module with no debug info (the debugger shows up
on the first line with debug info after the ALTD()
is called)
NOTICE:
Some compilers may require that the debug library has to
be specified as an object file in order to get the
debugger linked in.
1209 lines
30 KiB
Plaintext
1209 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)\errorint.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)\hbrandom.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)\altd.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)\cdphu852.obj \
|
|
$(OBJ_DIR)\cdphuwin.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)
|