1229 lines
30 KiB
Plaintext
1229 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)\msgel.obj \
|
|
$(OBJ_DIR)\msgelwin.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)\msgzhb5.obj \
|
|
$(OBJ_DIR)\msgzhgb.obj
|
|
|
|
#
|
|
# CODEPAGE.LIB rules
|
|
#
|
|
|
|
{$(CODEPAGE_DIR)}.c{$(OBJ_DIR)}.obj::
|
|
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
|
|
|
|
CODEPAGE_LIB_OBJS = \
|
|
$(OBJ_DIR)\cdpeldos.obj \
|
|
$(OBJ_DIR)\cdpelwin.obj \
|
|
$(OBJ_DIR)\cdpesdos.obj \
|
|
$(OBJ_DIR)\cdpesmwi.obj \
|
|
$(OBJ_DIR)\cdpeswin.obj \
|
|
$(OBJ_DIR)\cdpgedos.obj \
|
|
$(OBJ_DIR)\cdpgewin.obj \
|
|
$(OBJ_DIR)\cdphu852.obj \
|
|
$(OBJ_DIR)\cdphuwin.obj \
|
|
$(OBJ_DIR)\cdppl852.obj \
|
|
$(OBJ_DIR)\cdppliso.obj \
|
|
$(OBJ_DIR)\cdpplmaz.obj \
|
|
$(OBJ_DIR)\cdpplwin.obj \
|
|
$(OBJ_DIR)\cdppt850.obj \
|
|
$(OBJ_DIR)\cdpptiso.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 \
|
|
$(OBJ_DIR)\cdpsrwin.obj \
|
|
$(OBJ_DIR)\uc1250.obj \
|
|
$(OBJ_DIR)\uc1251.obj \
|
|
$(OBJ_DIR)\uc1253.obj \
|
|
$(OBJ_DIR)\uc1257.obj \
|
|
$(OBJ_DIR)\uc737.obj \
|
|
$(OBJ_DIR)\uc850.obj \
|
|
$(OBJ_DIR)\uc852.obj \
|
|
$(OBJ_DIR)\uc866.obj \
|
|
$(OBJ_DIR)\uc8859_1.obj \
|
|
$(OBJ_DIR)\uc8859_2.obj \
|
|
$(OBJ_DIR)\uc88591b.obj \
|
|
$(OBJ_DIR)\uckoi8.obj \
|
|
$(OBJ_DIR)\uckoi8u.obj \
|
|
$(OBJ_DIR)\ucmaz.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)
|