* harbour/common.mak
* harbour/makefile.bc
* harbour/makefile.vc
* harbour/bin/hb-func.sh
* harbour/config/bsd/gcc.cf
* harbour/config/darwin/gcc.cf
* harbour/config/hpux/gcc.cf
* harbour/config/linux/gcc.cf
* harbour/config/sunos/gcc.cf
* harbour/source/Makefile
+ harbour/source/hbpcre/ChangeLog
+ harbour/source/hbpcre/Makefile
+ harbour/source/hbpcre/chartabs.c
+ harbour/source/hbpcre/config.h
+ harbour/source/hbpcre/dftables.c
+ harbour/source/hbpcre/pcre.h
+ harbour/source/hbpcre/pcrecomp.c
+ harbour/source/hbpcre/pcreconf.c
+ harbour/source/hbpcre/pcredfa.c
+ harbour/source/hbpcre/pcreexec.c
+ harbour/source/hbpcre/pcrefind.c
+ harbour/source/hbpcre/pcrefinf.c
+ harbour/source/hbpcre/pcreget.c
+ harbour/source/hbpcre/pcreglob.c
+ harbour/source/hbpcre/pcreinal.h
+ harbour/source/hbpcre/pcreinfo.c
+ harbour/source/hbpcre/pcremktb.c
+ harbour/source/hbpcre/pcreoutf.c
+ harbour/source/hbpcre/pcreprni.c
+ harbour/source/hbpcre/pcrerefc.c
+ harbour/source/hbpcre/pcrestud.c
+ harbour/source/hbpcre/pcretabs.c
+ harbour/source/hbpcre/pcretryf.c
+ harbour/source/hbpcre/pcrever.c
+ harbour/source/hbpcre/pcrevutf.c
+ harbour/source/hbpcre/pcrexcls.c
+ harbour/source/hbpcre/ucp.h
+ harbour/source/hbpcre/ucpinter.h
+ harbour/source/hbpcre/ucptable.c
+ added HBPCRE library - based on older xHarbour 6.3 version
filenames changed to 8.3 DOS format
* harbour/include/hbregex.h
* harbour/source/rtl/Makefile
* harbour/source/rtl/hbregex.c
+ harbour/source/rtl/hbregexc.c
* divided harbour regular expression functions into two files
Now regular expression low level library is not linked with
application until user will not use or REQUEST for one of HB_REGEX*
functions. It also means that also DBOI_SKIPREGEX will not work when
regex module is not linked.
+ added support for build-in regular expression library
+ added ulLen parameter to hb_regexMatch() to support strings with
embedded 0
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rtl/strmatch.c
* use new hb_regexMatch() format
* harbour/utils/hbrun/Makefile
+ added hbpcre to linked library list
735 lines
22 KiB
Plaintext
735 lines
22 KiB
Plaintext
#
|
|
# $Id$
|
|
#
|
|
|
|
#
|
|
# Makefile for Harbour Project for Borland C/C++ 5.x compilers
|
|
#
|
|
|
|
# ---------------------------------------------------------------
|
|
# 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
|
|
# C_USR - Extra C compiler options for libraries and for
|
|
# executables (GNU make compatible envvar)
|
|
# CLIBFLAGS - Extra C compiler options for the static libraries
|
|
# CLIBFLAGSDLL - Extra C compiler options for the shared libraries
|
|
#
|
|
# LDFLAGS - Extra linker options for the static libraries
|
|
# LDFLAGSDLL - Extra linker options for the shared libraries
|
|
#
|
|
# HARBOURFLAGS - Extra Harbour compiler options for static libs/exes
|
|
# HARBOURFLAGSDLL - Extra Harbour compiler options for shared libraries
|
|
# PRG_USR - Extra Harbour compiler options
|
|
# (GNU make compatible envvar)
|
|
# HB_GT_LIB - To override the default GT driver
|
|
# (search for HB_GT_LIBS for a list of values)
|
|
# HB_BUILD_DLL - If set to yes enables building harbour VM+RTL
|
|
# dll in addition to normal static build
|
|
# HB_BUILD_DEBUG - If set to yes causes to compile with debug info
|
|
# HB_BUILD_VERBOSE - enables echoing commands being executed
|
|
# HB_REBUILD_PARSER - If set to yes force preprocessing new rules by
|
|
# bison (you must use bison 2.3 or later)
|
|
# BCCDLL_WITH_DYNRT - If set to -tWR causes that harbour-bc.dll
|
|
# will use dynamic runtime library (recommended)
|
|
# HB_INSTALL_PREFIX - Path to instalation directory into which
|
|
# Harbour will be installed when the command
|
|
# "make_bc.bat install" is lauched. Defaults
|
|
# to current directory
|
|
#
|
|
# HB_DOC_PDF - Turns on the .PDF file support in the HBDOC utility.
|
|
# Note that this will require the pdflib contrib.
|
|
|
|
# ---------------------------------------------------------------
|
|
# "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
|
|
# ---------------------------------------------------------------
|
|
|
|
.AUTODEPEND
|
|
|
|
#**********************************************************
|
|
|
|
.SUFFIXES: .exe .lib .obj .prg .c .l .y
|
|
|
|
#**********************************************************
|
|
|
|
!ifndef ECHO
|
|
ECHO = echo.
|
|
!endif
|
|
!ifndef DEL
|
|
DEL = del
|
|
!endif
|
|
|
|
#**********************************************************
|
|
|
|
CC = bcc32.exe
|
|
LINKER = ilink32.exe
|
|
MKLIB = tlib.exe
|
|
|
|
# subdir name for objs,libs,exes
|
|
# depends on chosen compiler type
|
|
# Bcc=b32, Msvc=vc
|
|
!ifndef CC_DIRNAME
|
|
CC_DIRNAME = b32
|
|
!endif
|
|
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
#
|
|
# C compiler definition and C flags. These should never have to change.
|
|
#
|
|
|
|
# Main "Include" directory
|
|
INCLUDE_DIR = include
|
|
|
|
# C Compiler Flags
|
|
CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -Iobj\$(CC_DIRNAME)
|
|
!ifndef BCC_NOOPTIM
|
|
CFLAGS = -O2 $(CFLAGS)
|
|
!endif
|
|
!if "$(HB_BUILD_DEBUG)" == "yes"
|
|
CFLAGS = -y -v $(CFLAGS)
|
|
!endif
|
|
!if "$(BCCDLL_WITH_DYNRT)" == "-tWR"
|
|
RTLIBSUFFIX = i
|
|
!endif
|
|
CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS)
|
|
CLIBFLAGSDLL = -D__EXPORT__ -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CLIBFLAGSDLL)
|
|
CEXEFLAGSDLL = -tWM $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS) $(CEXEFLAGSDLL)
|
|
|
|
# Harbour Compiler Flags
|
|
HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w2 -es2 -gc0 $(PRG_USR)
|
|
!ifdef HB_DOC_PDF
|
|
HBFLAGSCMN = $(HBFLAGSCMN) -dPDF
|
|
!endif
|
|
HARBOURFLAGS = -n $(HBFLAGSCMN) $(HARBOURFLAGS)
|
|
HARBOURFLAGSDLL= -D__EXPORT__ -n1 -l $(HBFLAGSCMN) $(HARBOURFLAGSDLL)
|
|
|
|
# Linker Flags
|
|
LDFLAGS = -ap -Tpe -Gn -C -L$(LIB_DIR) -L$(BIN_DIR) $(LDFLAGS)
|
|
LDFLAGSDLL = -aa -Gn -C -Tpd -Gi -L$(LIB_DIR) $(LDFLAGSDLL)
|
|
!if "$(HB_BUILD_DEBUG)" == "yes"
|
|
LDFLAGS = -v $(LDFLAGS)
|
|
LDFLAGSDLL = -v $(LDFLAGSDLL)
|
|
!endif
|
|
|
|
#**********************************************************
|
|
|
|
# This is needed, otherwise the libs may overflow
|
|
# when debug info is requested with -v -y
|
|
ARFLAGS = /P32
|
|
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
# Include Common Object list files
|
|
# shared between Msvc and Borland
|
|
|
|
!include common.mak
|
|
|
|
#**********************************************************
|
|
|
|
# Some definitions cannot be kept in Common.mak
|
|
# due to serious limitations of Microsoft Nmake
|
|
|
|
DLL_OBJS = $(TMP_DLL_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
|
|
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
#
|
|
# COMPILE Rules
|
|
#
|
|
|
|
#**********************************************************
|
|
|
|
# General *.c --> *.obj COMPILE rule for STATIC Libraries
|
|
{$(ALL_SRC_DIRS)}.c{$(OBJ_DIR)}.obj:
|
|
$(CC) $(CLIBFLAGS) -o$@ $<
|
|
|
|
#**********************************************************
|
|
|
|
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
|
|
{$(ALL_SRC_DIRS)}.prg{$(OBJ_DIR)}.obj:
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
|
|
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
|
|
|
|
#**********************************************************
|
|
|
|
# General *.c --> *.obj COMPILE rule for SHARED Libraries
|
|
{$(ALL_LIB_SRC_DIRS)}.c{$(DLL_OBJ_DIR)}.obj:
|
|
$(CC) $(CLIBFLAGSDLL) -o$@ $<
|
|
|
|
#**********************************************************
|
|
|
|
# General *.prg --> *.obj COMPILE rule for SHARED Libraries
|
|
{$(ALL_LIB_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}.obj:
|
|
$(HARBOUR_EXE) $(HARBOURFLAGSDLL) -o$(DLL_OBJ_DIR)\ $**
|
|
$(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
|
|
|
|
#**********************************************************
|
|
|
|
# General *.c --> *.obj COMPILE rules for EXECUTABLES,
|
|
# which use Harbour SHARED Library compiled as DLL
|
|
{$(ALL_EXE_SRC_DIRS)}.c{$(DLL_OBJ_DIR)}.obj:
|
|
$(CC) $(CEXEFLAGSDLL) -o$@ $<
|
|
|
|
#**********************************************************
|
|
|
|
# General *.prg --> *.obj COMPILE rules for EXECUTABLES,
|
|
# which use Harbour SHARED Library compiled as DLL
|
|
{$(ALL_EXE_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}.obj:
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(DLL_OBJ_DIR)\ $**
|
|
$(CC) $(CEXEFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
|
|
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
# General BUILD rules (not used !)
|
|
|
|
#**********************************************************
|
|
|
|
# General Library BUILD rule
|
|
#{$(OBJ_DIR)}.obj{$(LIB_DIR)}.lib:
|
|
# IF EXIST "$@" $(DEL) "$@" > NUL
|
|
# $(MKLIB) "$@" $(ARFLAGS) @&&!
|
|
#+$(**: = &^
|
|
#+)
|
|
#!
|
|
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
# TARGET dependencies
|
|
|
|
#**********************************************************
|
|
|
|
all : $(HB_DEST_DIRS) $(HB_BUILD_TARGETS)
|
|
|
|
#
|
|
# Helper targets
|
|
#
|
|
|
|
BasicLibs : $(COMMON_LIB) $(COMPILER_LIB) $(PP_LIB)
|
|
BasicExes : $(HARBOUR_EXE)
|
|
StdLibs : $(STANDARD_STATIC_HBLIBS)
|
|
|
|
#**********************************************************
|
|
|
|
clean: doClean
|
|
Clean: doClean
|
|
CLEAN: doClean
|
|
|
|
doClean:
|
|
-if exist $(BIN_DIR)\*.exe $(DEL) $(BIN_DIR)\*.exe > nul
|
|
-if exist $(BIN_DIR)\*.tds $(DEL) $(BIN_DIR)\*.tds > nul
|
|
-if exist $(BIN_DIR)\*.tr? $(DEL) $(BIN_DIR)\*.tr? > nul
|
|
-if exist $(BIN_DIR)\*.map $(DEL) $(BIN_DIR)\*.map > nul
|
|
-if exist $(BIN_DIR)\*.dll $(DEL) $(BIN_DIR)\*.dll > nul
|
|
-if exist $(BIN_DIR)\*.lib $(DEL) $(BIN_DIR)\*.lib > nul
|
|
-if exist $(LIB_DIR)\*.lib $(DEL) $(LIB_DIR)\*.lib > nul
|
|
-if exist $(LIB_DIR)\*.bak $(DEL) $(LIB_DIR)\*.bak > nul
|
|
-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 $(PP_DIR)\pptable.c $(DEL) $(PP_DIR)\pptable.c > nul
|
|
-if exist $(DLL_OBJ_DIR)\*.obj $(DEL) $(DLL_OBJ_DIR)\*.obj > nul
|
|
-if exist $(DLL_OBJ_DIR)\*.c $(DEL) $(DLL_OBJ_DIR)\*.c > nul
|
|
-if exist $(DLL_OBJ_DIR)\*.h $(DEL) $(DLL_OBJ_DIR)\*.h > nul
|
|
-if exist inst_$(CC_DIRNAME).log $(DEL) inst_$(CC_DIRNAME).log > nul
|
|
-if exist bin\*.exe $(DEL) bin\*.exe > nul
|
|
-if exist lib\*.lib $(DEL) lib\*.lib > nul
|
|
|
|
#**********************************************************
|
|
|
|
install : doInstall
|
|
Install : doInstall
|
|
INSTALL : doInstall
|
|
|
|
doInstall: $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL)
|
|
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.exe copy /B $(BIN_DIR)\*.exe $(HB_BIN_INSTALL) > inst_$(CC_DIRNAME).log
|
|
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.dll copy /B $(BIN_DIR)\*.dll $(HB_BIN_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
-if exist $(HB_LIB_INSTALL)\nul if exist $(BIN_DIR)\*.lib copy /B $(BIN_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
-if exist $(HB_LIB_INSTALL)\nul if exist $(LIB_DIR)\*.lib copy /B $(LIB_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
!if "$(HB_INSTALL_PREFIX)" != "."
|
|
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.api $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.ch $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.h $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
|
|
!endif
|
|
|
|
#**********************************************************
|
|
|
|
$(HB_DEST_DIRS) $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL):
|
|
!if not exist $@\nul mkdir $@
|
|
|
|
#**********************************************************
|
|
#
|
|
# LIBRARY Targets BUILD rules
|
|
#
|
|
#**********************************************************
|
|
$(COMMON_LIB) : $(COMMON_LIB_OBJS)
|
|
IF EXIST "$(COMMON_LIB)" $(DEL) "$(COMMON_LIB)" > NUL
|
|
$(MKLIB) "$(COMMON_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(PP_LIB) : $(PP_LIB_OBJS)
|
|
IF EXIST "$(PP_LIB)" $(DEL) "$(PP_LIB)" > NUL
|
|
$(MKLIB) "$(PP_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(COMPILER_LIB) : $(COMPILER_LIB_OBJS)
|
|
IF EXIST "$(COMPILER_LIB)" $(DEL) "$(COMPILER_LIB)" > NUL
|
|
$(MKLIB) "$(COMPILER_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(VM_LIB) :: BasicExes
|
|
$(VM_LIB) :: $(VM_LIB_OBJS)
|
|
IF EXIST "$(VM_LIB)" $(DEL) "$(VM_LIB)" > NUL
|
|
$(MKLIB) "$(VM_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(RTL_LIB) :: BasicExes
|
|
$(RTL_LIB) :: $(RTL_LIB_OBJS)
|
|
IF EXIST "$(RTL_LIB)" $(DEL) "$(RTL_LIB)" > NUL
|
|
$(MKLIB) "$(RTL_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(MACRO_LIB) : $(MACRO_LIB_OBJS)
|
|
IF EXIST "$(MACRO_LIB)" $(DEL) "$(MACRO_LIB)" > NUL
|
|
$(MKLIB) "$(MACRO_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(DEBUG_LIB) :: BasicExes
|
|
$(DEBUG_LIB) :: $(DEBUG_LIB_OBJS)
|
|
IF EXIST "$(DEBUG_LIB)" $(DEL) "$(DEBUG_LIB)" > NUL
|
|
$(MKLIB) "$(DEBUG_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(LANG_LIB) : $(LANG_LIB_OBJS)
|
|
IF EXIST "$(LANG_LIB)" $(DEL) "$(LANG_LIB)" > NUL
|
|
$(MKLIB) "$(LANG_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(CODEPAGE_LIB) : $(CODEPAGE_LIB_OBJS)
|
|
IF EXIST "$(CODEPAGE_LIB)" $(DEL) "$(CODEPAGE_LIB)" > NUL
|
|
$(MKLIB) "$(CODEPAGE_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(PCRE_LIB) : $(PCRE_LIB_OBJS)
|
|
IF EXIST "$(PCRE_LIB)" $(DEL) "$(PCRE_LIB)" > NUL
|
|
$(MKLIB) "$(PCRE_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(RDD_LIB) :: BasicExes
|
|
$(RDD_LIB) :: $(RDD_LIB_OBJS)
|
|
IF EXIST "$(RDD_LIB)" $(DEL) "$(RDD_LIB)" > NUL
|
|
$(MKLIB) "$(RDD_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(NULSYS_LIB) : $(NULSYS_LIB_OBJS)
|
|
IF EXIST "$(NULSYS_LIB)" $(DEL) "$(NULSYS_LIB)" > NUL
|
|
$(MKLIB) "$(NULSYS_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(DBFNTX_LIB) :: BasicExes
|
|
$(DBFNTX_LIB) :: $(DBFNTX_LIB_OBJS)
|
|
IF EXIST "$(DBFNTX_LIB)" $(DEL) "$(DBFNTX_LIB)" > NUL
|
|
$(MKLIB) "$(DBFNTX_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(DBFCDX_LIB) : $(DBFCDX_LIB_OBJS)
|
|
IF EXIST "$(DBFCDX_LIB)" $(DEL) "$(DBFCDX_LIB)" > NUL
|
|
$(MKLIB) "$(DBFCDX_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(DBFFPT_LIB) : $(DBFFPT_LIB_OBJS)
|
|
IF EXIST "$(DBFFPT_LIB)" $(DEL) "$(DBFFPT_LIB)" > NUL
|
|
$(MKLIB) "$(DBFFPT_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(HBSIX_LIB) : $(HBSIX_LIB_OBJS)
|
|
IF EXIST "$(HBSIX_LIB)" $(DEL) "$(HBSIX_LIB)" > NUL
|
|
$(MKLIB) "$(HBSIX_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(HSX_LIB) : $(HSX_LIB_OBJS)
|
|
IF EXIST "$(HSX_LIB)" $(DEL) "$(HSX_LIB)" > NUL
|
|
$(MKLIB) "$(HSX_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(USRRDD_LIB) : $(USRRDD_LIB_OBJS)
|
|
IF EXIST "$(USRRDD_LIB)" $(DEL) "$(USRRDD_LIB)" > NUL
|
|
$(MKLIB) "$(USRRDD_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTCGI_LIB) : $(GTCGI_LIB_OBJS)
|
|
IF EXIST "$(GTCGI_LIB)" $(DEL) "$(GTCGI_LIB)" > NUL
|
|
$(MKLIB) "$(GTCGI_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTDOS_LIB) : $(GTDOS_LIB_OBJS)
|
|
IF EXIST "$(GTDOS_LIB)" $(DEL) "$(GTDOS_LIB)" > NUL
|
|
$(MKLIB) "$(GTDOS_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTPCA_LIB) : $(GTPCA_LIB_OBJS)
|
|
IF EXIST "$(GTPCA_LIB)" $(DEL) "$(GTPCA_LIB)" > NUL
|
|
$(MKLIB) "$(GTPCA_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTSTD_LIB) : $(GTSTD_LIB_OBJS)
|
|
IF EXIST "$(GTSTD_LIB)" $(DEL) "$(GTSTD_LIB)" > NUL
|
|
$(MKLIB) "$(GTSTD_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTWIN_LIB) : $(GTWIN_LIB_OBJS)
|
|
IF EXIST "$(GTWIN_LIB)" $(DEL) "$(GTWIN_LIB)" > NUL
|
|
$(MKLIB) "$(GTWIN_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTWVT_LIB) : $(GTWVT_LIB_OBJS)
|
|
IF EXIST "$(GTWVT_LIB)" $(DEL) "$(GTWVT_LIB)" > NUL
|
|
$(MKLIB) "$(GTWVT_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
$(GTGUI_LIB) : $(GTGUI_LIB_OBJS)
|
|
IF EXIST "$(GTGUI_LIB)" $(DEL) "$(GTGUI_LIB)" > NUL
|
|
$(MKLIB) "$(GTGUI_LIB)" $(ARFLAGS) @&&!
|
|
+$(**: = &^
|
|
+)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# EXECUTABLE Targets
|
|
#
|
|
#**********************************************************
|
|
#
|
|
# HARBOUR build rule
|
|
#
|
|
$(HARBOUR_EXE) :: BasicLibs
|
|
$(HARBOUR_EXE) :: $(HARBOUR_EXE_OBJS)
|
|
IF EXIST "$(HARBOUR_EXE)" $(DEL) "$(HARBOUR_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HARBOUR_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(COMPILER_LIB)
|
|
$(COMMON_LIB)
|
|
$(PP_LIB)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBPPGEN build rule
|
|
#
|
|
$(HBPPGEN_EXE) :: $(COMMON_LIB)
|
|
$(HBPPGEN_EXE) :: $(HBPPGEN_EXE_OBJS)
|
|
IF EXIST "$(HBPPGEN_EXE)" $(DEL) "$(HBPPGEN_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBPPGEN_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(COMMON_LIB)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBPP build rule
|
|
#
|
|
$(HBPP_EXE) :: BasicLibs
|
|
$(HBPP_EXE) :: $(HBPP_EXE_OBJS)
|
|
IF EXIST "$(HBPP_EXE)" $(DEL) "$(HBPP_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBPP_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(COMMON_LIB)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBPPTEST build rule
|
|
#
|
|
$(HBPPTEST_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBPPTEST_EXE) :: $(HBPPTEST_EXE_OBJS)
|
|
IF EXIST "$(HBPPTEST_EXE)" $(DEL) "$(HBPPTEST_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBPPTEST_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
$(PP_LIB)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBRUN build rule
|
|
#
|
|
$(HBRUN_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBRUN_EXE) :: $(HBRUN_EXE_OBJS)
|
|
IF EXIST "$(HBRUN_EXE)" $(DEL) "$(HBRUN_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBRUN_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBTEST build rule
|
|
#
|
|
$(HBTEST_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBTEST_EXE) :: $(HBTEST_EXE_OBJS)
|
|
IF EXIST "$(HBTEST_EXE)" $(DEL) "$(HBTEST_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBTEST_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBDOC build rule
|
|
#
|
|
|
|
$(HBDOC_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBDOC_EXE) :: $(HBDOC_EXE_OBJS)
|
|
IF EXIST "$(HBDOC_EXE)" $(DEL) "$(HBDOC_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBDOC_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBMAKE build rule
|
|
#
|
|
$(HBMAKE_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBMAKE_EXE) :: $(HBMAKE_EXE_OBJS)
|
|
IF EXIST "$(HBMAKE_EXE)" $(DEL) "$(HBMAKE_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBMAKE_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# HBVER build rule
|
|
#
|
|
$(HBVER_EXE) :: BasicLibs BasicExes StdLibs
|
|
$(HBVER_EXE) :: $(HBVER_EXE_OBJS)
|
|
IF EXIST "$(HBVER_EXE)" $(DEL) "$(HBVER_EXE)" > NUL
|
|
$(CC) @&&!
|
|
$(CFLAGS)
|
|
-e$(HBVER_EXE)
|
|
$(**: = ^
|
|
)
|
|
$(STANDARD_STATIC_HBLIBS)
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# DLL Targets
|
|
#
|
|
#**********************************************************
|
|
$(HARBOUR_DLL) :: BasicLibs BasicExes
|
|
$(HARBOUR_DLL) :: $(DLL_OBJS)
|
|
$(LINKER) $(LDFLAGSDLL) @&&!
|
|
c0d32.obj $**, $@,, cw32mt$(RTLIBSUFFIX).lib import32.lib
|
|
!
|
|
#**********************************************************
|
|
#
|
|
# DLL EXECUTABLE Targets
|
|
#
|
|
#**********************************************************
|
|
$(HBTESTDLL_EXE) :: BasicLibs BasicExes
|
|
$(HBTESTDLL_EXE) :: $(DLL_OBJ_DIR)\mainstd.obj $(HBTEST_EXE_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
|
|
$(LINKER) $(LDFLAGS) @&&!
|
|
c0x32.obj $**, $@,,$(HARBOUR_DLL:.dll=.lib) cw32mt$(RTLIBSUFFIX).lib import32.lib
|
|
!
|
|
#----------------------------------------------------------
|
|
#$(DLL_OBJ_DIR)\hbtest.obj : $(HBTEST_DIR)\hbtest.prg
|
|
# $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(DLL_OBJ_DIR)\ $**
|
|
# $(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)\$&.c
|
|
#----------------------------------------------------------
|
|
$(DLL_OBJ_DIR)\mainstd.obj : $(VM_DIR)\mainstd.c
|
|
$(CC) $(CEXEFLAGSDLL) -o$@ $**
|
|
#**********************************************************
|
|
#**********************************************************
|
|
#**********************************************************
|
|
|
|
# EXTRA Object's DEPENDENCIES
|
|
|
|
#**********************************************************
|
|
|
|
# Generated by an intermediate utility ppgen.exe
|
|
# built at the initial phase of build process
|
|
$(OBJ_DIR)\pptable.obj : $(PP_DIR)\pptable.c
|
|
$(PP_DIR)\pptable.c : $(BIN_DIR)\ppgen.exe include\hbstdgen.ch
|
|
IF EXIST "$(PP_DIR)\pptable.c" $(DEL) "$(PP_DIR)\pptable.c" > nul
|
|
$(BIN_DIR)\ppgen.exe include/hbstdgen.ch -o$(PP_DIR)/pptable.c -q
|
|
|
|
#**********************************************************
|
|
|
|
!if "$(HB_REBUILD_PARSER)" == "yes"
|
|
|
|
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
|
|
bison --no-line -d $** -o$@
|
|
|
|
$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
|
|
bison --no-line -d $** -o$@
|
|
|
|
!else
|
|
|
|
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc
|
|
copy /A $** $@
|
|
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
|
|
|
|
$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc
|
|
copy /A $** $@
|
|
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
|
|
|
|
!endif
|
|
|
|
#**********************************************************
|
|
|
|
$(OBJ_DIR)\macrol.c : $(MACRO_DIR)\macro.l
|
|
flex -Phb_macro -i -8 -o$@ $**
|
|
|
|
$(OBJ_DIR)\harbourl.c : $(HARBOUR_DIR)\harbour.l
|
|
flex -Phb_comp -i -8 -o$@ $**
|
|
|
|
#**********************************************************
|
|
|
|
$(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c
|
|
$(OBJ_DIR)\macrol.obj : $(OBJ_DIR)\macrol.c
|
|
$(ECHO) > $(OBJ_DIR)\unistd.h
|
|
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
|
|
$(DEL) $(OBJ_DIR)\unistd.h
|
|
|
|
$(OBJ_DIR)\harboury.obj : $(OBJ_DIR)\harboury.c
|
|
$(OBJ_DIR)\harbourl.obj : $(OBJ_DIR)\harbourl.c
|
|
$(ECHO) > $(OBJ_DIR)\unistd.h
|
|
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
|
|
$(DEL) $(OBJ_DIR)\unistd.h
|
|
|
|
#**********************************************************
|
|
|
|
!if "$(HB_REBUILD_PARSER)" == "yes"
|
|
|
|
$(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y
|
|
bison --no-line -d $** -o$@
|
|
|
|
$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
|
|
bison --no-line -d $** -o$@
|
|
|
|
!else
|
|
|
|
$(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc
|
|
copy /A $** $@
|
|
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
|
|
|
|
$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc
|
|
copy /A $** $@
|
|
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
|
|
|
|
!endif
|
|
|
|
#**********************************************************
|
|
|
|
$(DLL_OBJ_DIR)\macrol.c : $(MACRO_DIR)\macro.l
|
|
flex -Phb_macro -i -8 -o$@ $**
|
|
|
|
$(DLL_OBJ_DIR)\harbourl.c : $(HARBOUR_DIR)\harbour.l
|
|
flex -Phb_comp -i -8 -o$@ $**
|
|
|
|
#**********************************************************
|
|
|
|
$(DLL_OBJ_DIR)\macroy.obj : $(DLL_OBJ_DIR)\macroy.c
|
|
$(DLL_OBJ_DIR)\macrol.obj : $(DLL_OBJ_DIR)\macrol.c
|
|
$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
|
|
$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
|
|
$(DEL) $(DLL_OBJ_DIR)\unistd.h
|
|
|
|
$(DLL_OBJ_DIR)\harboury.obj : $(DLL_OBJ_DIR)\harboury.c
|
|
$(DLL_OBJ_DIR)\harbourl.obj : $(DLL_OBJ_DIR)\harbourl.c
|
|
$(ECHO) > $(DLL_OBJ_DIR)\unistd.h
|
|
$(CC) $(CLIBFLAGS) -I$(DLL_OBJ_DIR) -o$@ $**
|
|
$(DEL) $(DLL_OBJ_DIR)\unistd.h
|
|
|
|
#**********************************************************
|