2007-11-10 05:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* make_b32.bat
   + make_b32.mak
   - makefile.bc
   * make_gcc.sh
   + make_gcc.mak
   - makefile.gc
   * make_vc.bat
   + make_vc.mak
   - makefile.vc
   * common.mak
   - contrib/maketpl.b32
   + contrib/mtpl_b32.mak
   - contrib/maketpl.vc
   + contrib/mtpl_vc.mak
   - contrib/maketpl.mak
   + contrib/mtpl.mak
   * contrib/libct/make_b32.bat
   * contrib/libct/make_vc.bat
     % Makefile name cleanup, batch file synchronization, 
       setting name cleanup. Some minor fixes.
       Now all non-GNU makefiles have the .mak extension.

   - contrib/xhb/makefile.vc
   * contrib/xhb/make_b32.bat
   + contrib/xhb/common.mak
   - contrib/xhb/makefile.bc
   * contrib/xhb/make_vc.bat
   - contrib/libmisc/makefile.vc
   * contrib/libmisc/make_b32.bat
   + contrib/libmisc/common.mak
   - contrib/libmisc/makefile.bc
   * contrib/libmisc/make_vc.bat
   + contrib/apollo/common.mak
   - contrib/apollo/makefile.bc
   * contrib/apollo/make_b32.bat
   + contrib/apollo/make_vc.bat
   - contrib/htmllib/makefile.vc
   * contrib/htmllib/make_b32.bat
   + contrib/htmllib/common.mak
   - contrib/htmllib/Makefile.bc
   * contrib/htmllib/make_vc.bat
   * contrib/libct/make_b32.bat
   * contrib/libct/make_vc.bat
   - contrib/libgt/makefile.vc
   * contrib/libgt/make_b32.bat
   + contrib/libgt/common.mak
   - contrib/libgt/makefile.bc
   * contrib/libgt/make_vc.bat
   * contrib/libnf/make_b32.bat
   - contrib/libnf/makefile.vc
   * contrib/libnf/make_vc.bat
   + contrib/libnf/common.mak
   - contrib/libnf/makefile.bc
   * contrib/gd/make_b32.bat
   + contrib/gd/common.mak
   - contrib/gd/makefile.bc
   + contrib/gd/make_vc.bat
   - contrib/tip/makefile.vc
   * contrib/tip/make_b32.bat
   + contrib/tip/common.mak
   - contrib/tip/makefile.bc
   * contrib/tip/make_vc.bat
   + contrib/adordd/common.mak
   - contrib/adordd/makefile.bc
   * contrib/adordd/make_b32.bat
   + contrib/adordd/make_vc.bat
   - contrib/rdd_ads/makefile.vc
   * contrib/rdd_ads/make_b32.bat
   + contrib/rdd_ads/common.mak
   - contrib/rdd_ads/makefile.bc
   * contrib/rdd_ads/make_vc.bat
   + contrib/btree/common.mak
   - contrib/btree/makefile.bc
   * contrib/btree/make_b32.bat
   + contrib/btree/make_vc.bat
   + contrib/directx/common.mak
   - contrib/directx/makefile.bc
   - contrib/directx/makefile.vc
   * contrib/directx/make_b32.bat
   * contrib/directx/make_vc.bat
   + contrib/win32/common.mak
   - contrib/win32/makefile.bc
   - contrib/win32/makefile.vc
   * contrib/win32/make_b32.bat
   * contrib/win32/make_vc.bat
   + contrib/bmdbfcdx/common.mak
   - contrib/bmdbfcdx/makefile.bc
   * contrib/bmdbfcdx/make_b32.bat
   + contrib/bmdbfcdx/make_vc.bat
   - contrib/samples/makefile.vc
   * contrib/samples/make_b32.bat
   + contrib/samples/common.mak
   - contrib/samples/makefile.bc
   * contrib/samples/make_vc.bat
   * contrib/mysql/common.mak
   - contrib/mysql/makefile.bc
   * contrib/mysql/make_b32.bat
   + contrib/mysql/make_vc.bat
   * contrib/pgsql/common.mak
   - contrib/pgsql/makefile.bc
   * contrib/pgsql/make_b32.bat
   + contrib/pgsql/make_vc.bat
     * Changed most libs to use the generic non-GNU makefiles.
     + Added support for MSVC for all above libs.
     ; directx won't build under MSVC with an error.
     + Added "implib" for rdd_ads. TOFIX: Doesn't work for MSVC.
     ; TOFIX: I couldn't compile pgsql using latest 8.2.5.

   * contrib/samples/gauge.c
     ! Fixed MSVC warning.

   + odbc/test
   + odbc/test/bld_b32.bat
   + odbc/test/harbour.mdb
   + odbc/test/odbcdemo.prg
   + odbc/test/browodbc.prg
   + odbc/test/odbccall.prg
   + odbc/test/testodbc.prg
   - odbc/bld_b32.bat
   - odbc/harbour.mdb
   - odbc/odbcdemo.prg
   - odbc/browodbc.prg
   - odbc/odbccall.prg
   - odbc/testodbc.prg
   - odbc/bldodbc.bat
   + odbc/make_b32.bat
   + odbc/make_vc.bat
   - odbc/hbodbc.b32
   + odbc/common.mak
     * Moved test functions to test fir.
     ! Fixed bld_b32.bat
     ! Renamed non-GNU BC make files to be in sync with the rest of contribs.
     ; TOFIX: There are some warnings under MSVC.
     ; TOFIX: .def -> .lib conversions fails under MSVC.

   - contrib/ole
   - contrib/delphi
   - contrib/hb_struc
   - contrib/dot
   - contrib/tprepro
     - Removed obsolete, incomplete or non-working contribs.
This commit is contained in:
Viktor Szakats
2007-11-10 04:53:45 +00:00
parent d9ad098243
commit cf01ca3701
131 changed files with 2389 additions and 19076 deletions

View File

@@ -8,6 +8,149 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-11-10 05:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_b32.bat
+ make_b32.mak
- makefile.bc
* make_gcc.sh
+ make_gcc.mak
- makefile.gc
* make_vc.bat
+ make_vc.mak
- makefile.vc
* common.mak
- contrib/maketpl.b32
+ contrib/mtpl_b32.mak
- contrib/maketpl.vc
+ contrib/mtpl_vc.mak
- contrib/maketpl.mak
+ contrib/mtpl.mak
* contrib/libct/make_b32.bat
* contrib/libct/make_vc.bat
% Makefile name cleanup, batch file synchronization,
setting name cleanup. Some minor fixes.
Now all non-GNU makefiles have the .mak extension.
- contrib/xhb/makefile.vc
* contrib/xhb/make_b32.bat
+ contrib/xhb/common.mak
- contrib/xhb/makefile.bc
* contrib/xhb/make_vc.bat
- contrib/libmisc/makefile.vc
* contrib/libmisc/make_b32.bat
+ contrib/libmisc/common.mak
- contrib/libmisc/makefile.bc
* contrib/libmisc/make_vc.bat
+ contrib/apollo/common.mak
- contrib/apollo/makefile.bc
* contrib/apollo/make_b32.bat
+ contrib/apollo/make_vc.bat
- contrib/htmllib/makefile.vc
* contrib/htmllib/make_b32.bat
+ contrib/htmllib/common.mak
- contrib/htmllib/Makefile.bc
* contrib/htmllib/make_vc.bat
* contrib/libct/make_b32.bat
* contrib/libct/make_vc.bat
- contrib/libgt/makefile.vc
* contrib/libgt/make_b32.bat
+ contrib/libgt/common.mak
- contrib/libgt/makefile.bc
* contrib/libgt/make_vc.bat
* contrib/libnf/make_b32.bat
- contrib/libnf/makefile.vc
* contrib/libnf/make_vc.bat
+ contrib/libnf/common.mak
- contrib/libnf/makefile.bc
* contrib/gd/make_b32.bat
+ contrib/gd/common.mak
- contrib/gd/makefile.bc
+ contrib/gd/make_vc.bat
- contrib/tip/makefile.vc
* contrib/tip/make_b32.bat
+ contrib/tip/common.mak
- contrib/tip/makefile.bc
* contrib/tip/make_vc.bat
+ contrib/adordd/common.mak
- contrib/adordd/makefile.bc
* contrib/adordd/make_b32.bat
+ contrib/adordd/make_vc.bat
- contrib/rdd_ads/makefile.vc
* contrib/rdd_ads/make_b32.bat
+ contrib/rdd_ads/common.mak
- contrib/rdd_ads/makefile.bc
* contrib/rdd_ads/make_vc.bat
+ contrib/btree/common.mak
- contrib/btree/makefile.bc
* contrib/btree/make_b32.bat
+ contrib/btree/make_vc.bat
+ contrib/directx/common.mak
- contrib/directx/makefile.bc
- contrib/directx/makefile.vc
* contrib/directx/make_b32.bat
* contrib/directx/make_vc.bat
+ contrib/win32/common.mak
- contrib/win32/makefile.bc
- contrib/win32/makefile.vc
* contrib/win32/make_b32.bat
* contrib/win32/make_vc.bat
+ contrib/bmdbfcdx/common.mak
- contrib/bmdbfcdx/makefile.bc
* contrib/bmdbfcdx/make_b32.bat
+ contrib/bmdbfcdx/make_vc.bat
- contrib/samples/makefile.vc
* contrib/samples/make_b32.bat
+ contrib/samples/common.mak
- contrib/samples/makefile.bc
* contrib/samples/make_vc.bat
* contrib/mysql/common.mak
- contrib/mysql/makefile.bc
* contrib/mysql/make_b32.bat
+ contrib/mysql/make_vc.bat
* contrib/pgsql/common.mak
- contrib/pgsql/makefile.bc
* contrib/pgsql/make_b32.bat
+ contrib/pgsql/make_vc.bat
* Changed most libs to use the generic non-GNU makefiles.
+ Added support for MSVC for all above libs.
; directx won't build under MSVC with an error.
+ Added "implib" for rdd_ads. TOFIX: Doesn't work for MSVC.
; TOFIX: I couldn't compile pgsql using latest 8.2.5.
* contrib/samples/gauge.c
! Fixed MSVC warning.
+ odbc/test
+ odbc/test/bld_b32.bat
+ odbc/test/harbour.mdb
+ odbc/test/odbcdemo.prg
+ odbc/test/browodbc.prg
+ odbc/test/odbccall.prg
+ odbc/test/testodbc.prg
- odbc/bld_b32.bat
- odbc/harbour.mdb
- odbc/odbcdemo.prg
- odbc/browodbc.prg
- odbc/odbccall.prg
- odbc/testodbc.prg
- odbc/bldodbc.bat
+ odbc/make_b32.bat
+ odbc/make_vc.bat
- odbc/hbodbc.b32
+ odbc/common.mak
* Moved test functions to test fir.
! Fixed bld_b32.bat
! Renamed non-GNU BC make files to be in sync with the rest of contribs.
; TOFIX: There are some warnings under MSVC.
; TOFIX: .def -> .lib conversions fails under MSVC.
- contrib/ole
- contrib/delphi
- contrib/hb_struc
- contrib/dot
- contrib/tprepro
- Removed obsolete, incomplete or non-working contribs.
2007-11-09 15:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/hbcomp.c
! Changed error messaged to go to stderr on non-Unix

View File

@@ -46,12 +46,12 @@ LIBEXT=.lib
# Directory macros. These should never have to change.
#
BIN_DIR = bin\$(CC_DIRNAME)
OBJ_DIR = obj\$(CC_DIRNAME)
LIB_DIR = lib\$(CC_DIRNAME)
BIN_DIR = bin\$(HB_CC_NAME)
OBJ_DIR = obj\$(HB_CC_NAME)
LIB_DIR = lib\$(HB_CC_NAME)
DLL_ROOTDIR = obj\dll
DLL_OBJ_DIR = $(DLL_ROOTDIR)\$(CC_DIRNAME)
DLL_OBJ_DIR = $(DLL_ROOTDIR)\$(HB_CC_NAME)
# Targets Destination Directories
HB_DEST_DIRS = \
@@ -217,7 +217,7 @@ HBDOC_EXE = $(BIN_DIR)\hbdoc$(EXEEXT)
HBMAKE_EXE = $(BIN_DIR)\hbmake$(EXEEXT)
HBVER_EXE = $(BIN_DIR)\hbverfix$(EXEEXT)
HARBOUR_DLL = $(BIN_DIR)\harbour-$(CC_DIRNAME)$(DLLEXT)
HARBOUR_DLL = $(BIN_DIR)\harbour-$(HB_CC_NAME)$(DLLEXT)
HBTESTDLL_EXE= $(BIN_DIR)\hbtest-dll$(EXEEXT)
#**********************************************************

View File

@@ -0,0 +1,17 @@
#
# $Id$
#
LIBNAME = adordd
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\adordd.obj
all: \
$(LIB_PATH) \

View File

@@ -3,29 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\adordd.lib ..\..\lib\*.* > nul
if exist ..\..\lib\b32\adordd.bak del ..\..\lib\b32\adordd.bak
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\adordd.lib del ..\..\lib\b32\adordd.lib
if exist ..\..\lib\b32\adordd.bak del ..\..\lib\b32\adordd.bak
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,54 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,25 +0,0 @@
#
# $Id$
#
# makefile for Borland C/C++ 32 bits
# Building of AdoRdd.lib - RDD for Microsoft ADO
INCLUDE_DIR = ..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\adordd.lib : \
$(OBJ_DIR)\adordd.obj
$(OBJ_DIR)\adordd.obj : adordd.c
adordd.c : adordd.prg
.c.obj:
bcc32 $(CLIBFLAGS) $(C_USR) -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $<
tlib $(LIB_DIR)\adordd.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -w2 -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -0,0 +1,18 @@
#
# $Id$
#
LIBNAME = apollo
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\apollo.obj \
$(OBJ_DIR)\apollo1.obj \
all: \
$(LIB_PATH) \

View File

@@ -3,33 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\apollo.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\apollo.lib del ..\..\lib\b32\apollo.lib
if exist ..\..\lib\b32\apollo.bak del ..\..\lib\b32\apollo.bak
if exist ..\..\obj\b32\apollo.obj del ..\..\obj\b32\apollo.obj
if exist ..\..\obj\b32\apollo1.c del ..\..\obj\b32\apollo1.c
if exist ..\..\obj\b32\apollo1.bak del ..\..\obj\b32\apollo1.bak
if exist ..\..\obj\b32\apollo1.obj del ..\..\obj\b32\apollo1.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,54 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,28 +0,0 @@
#
# $Id$#
# makefile for Borland C/C++ 32 bits
# Building of apollo.lib - VistaSoftware's Apollo database driver
INCLUDE_DIR = ..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\apollo.lib : \
$(OBJ_DIR)\apollo.obj \
$(OBJ_DIR)\apollo1.obj
$(OBJ_DIR)\apollo1.c : apollo1.prg
$(OBJ_DIR)\apollo1.obj : $(OBJ_DIR)\apollo1.c
$(OBJ_DIR)\apollo.obj : apollo.c
.c.obj:
bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -o$@ $<
tlib $(LIB_DIR)\apollo.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -0,0 +1,18 @@
#
# $Id$
#
LIBNAME = bmdbfcdx
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\bmdbfcdx1.obj \
$(OBJ_DIR)\bmsixcdx1.obj \
all: \
$(LIB_PATH) \

View File

@@ -3,33 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\bmdbfcdx.lib ..\..\lib\*.* > nul
if exist ..\..\lib\b32\bmdbfcdx.bak del ..\..\lib\b32\bmdbfcdx.bak
copy ..\..\lib\b32\bmsixcdx.lib ..\..\lib\*.* > nul
if exist ..\..\lib\b32\bmsixcdx.bak del ..\..\lib\b32\bmsixcdx.bak
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\bmdbfcdx.lib del ..\..\lib\b32\bmdbfcdx.lib
if exist ..\..\lib\b32\bmdbfcdx.bak del ..\..\lib\b32\bmdbfcdx.bak
if exist ..\..\lib\b32\bmsixcdx.lib del ..\..\lib\b32\bmsixcdx.lib
if exist ..\..\lib\b32\bmsixcdx.bak del ..\..\lib\b32\bmsixcdx.bak
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,54 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,26 +0,0 @@
#
# $Id$
#
# makefile for Borland C/C++ 32 bits
# Building of bmdbfcdx.lib
# Clipper 5.3 DBFCDX compatible on SET OPTIMiZE ON
INCLUDE_DIR = ..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\bmdbfcdx.lib : \
$(OBJ_DIR)\bmdbfcdx1.obj \
$(OBJ_DIR)\bmsixcdx1.obj
$(OBJ_DIR)\bmdbfcdx1.obj : bmdbfcdx1.c
$(OBJ_DIR)\bmsixcdx1.obj : bmsixcdx1.c
.c.obj:
bcc32 $(CLIBFLAGS) $(C_USR) -c -O2 -DWIN32 -I$(INCLUDE_DIR) -o$@ $<
tlib $(LIB_DIR)\bmdbfcdx.lib -+$@,,

View File

@@ -0,0 +1,18 @@
#
# $Id$
#
LIBNAME = hb_btree
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\hb_btree.obj \
$(OBJ_DIR)\tbtree.obj \
all: \
$(LIB_PATH) \

View File

@@ -3,32 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\hb_btree.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\hb_btree.lib del ..\..\lib\b32\hb_btree.lib
if exist ..\..\lib\b32\hb_btree.bak del ..\..\lib\b32\hb_btree.bak
if exist ..\..\obj\b32\hb_btree.obj del ..\..\obj\b32\hb_btree.obj
if exist ..\..\obj\b32\tbtree.obj del ..\..\obj\b32\tbtree.obj
if exist ..\..\obj\b32\tbtree.c del ..\..\obj\b32\tbtree.c
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,54 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,28 +0,0 @@
#
# $Id$
#
# makefile for Borland C/C++ 32 bits
# Building of hb_btree.lib
INCLUDE_DIR = ..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\hb_btree.lib : \
$(OBJ_DIR)\hb_btree.obj \
$(OBJ_DIR)\tbtree.obj
$(OBJ_DIR)\tbtree.c : tbtree.prg
$(OBJ_DIR)\tbtree.obj : $(OBJ_DIR)\tbtree.c
$(OBJ_DIR)\hb_btree.obj : hb_btree.c
.c.obj:
bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -o$@ $<
tlib $(LIB_DIR)\hb_btree.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -w2 -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -1,84 +0,0 @@
rem Self contained Harbour DLL, original idea and research Antonio Linares
rem
rem $Id$
rem
@ECHO OFF
CLS
if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST
ECHO Compiling...
set hdir=c:\hb-dev\harbour
set bcdir=c:\borland\bcc55\bin
%bcdir%\bcc32 -c -D__EXPORT__ -I%hdir%\include -L%bcdir%\..\lib %hdir%\source\vm\maindll.c
rem Files to integrate harbour DLL to Delphi
%bcdir%\bcc32 -c -D__EXPORT__ -I%hdir%\include -L%bcdir%\..\lib macrcall.c
%hdir%\bin\harbour -n -w errorsys
%bcdir%\bcc32 -c -D__EXPORT__ -I%hdir%\include errorsys.c
%hdir%\bin\harbour %1 /n /i%hdir%\include /w /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT
echo -O2 -I%hdir%\include %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE
IF EXIST %1.rc %bcdir%\brc32 -r %1
echo c0d32.obj + > b32.bc
echo %1.obj+errorsys.obj+maindll.obj+macrcall.obj, + >> b32.bc
echo %1.dll, + >> b32.bc
echo %1.map, + >> b32.bc
rem echo ..\lib\FiveH.lib ..\lib\FiveHC.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\gtwin.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\debug.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\pp.lib + >> b32.bc
rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo ..\lib\Ace32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib, >> b32.bc
IF EXIST %1.res echo %1.res >> b32.bc
%bcdir%\ilink32 -Tpd -aa -L%bcdir%\..\lib -L%bcdir%\..\lib\PSDK @b32.bc
rem delete temporary files
@del %1.c
@del %1.il?
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * self contained DLL successfully built
GOTO EXIT
ECHO
:LINKERROR
rem if exist meminfo.txt notepad meminfo.txt
rem PAUSE * Linking errors *
GOTO EXIT
:SINTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi½n PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT
:NOEXIST
ECHO The specified PRG %1 does not exist
:EXIT

View File

@@ -1,17 +0,0 @@
{*
* $Id$
*}
program EasyPath;
uses
Forms,
Main in 'Main.pas' {Main_FRM};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TMain_FRM, Main_FRM);
Application.Run;
end.

View File

@@ -1,206 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* The default error handler
*
* Copyright 1999 Antonio Linares <alinares@fivetech.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#include "common.ch"
#include "error.ch"
PROCEDURE ErrorSys
ErrorBlock( { | oError | DefError( oError ) } )
RETURN
STATIC FUNCTION DefError( oError )
LOCAL cMessage
LOCAL cDOSError
LOCAL aOptions
LOCAL nChoice
LOCAL n
// By default, division by zero results in zero
IF oError:genCode == EG_ZERODIV
RETURN 0
ENDIF
// Set NetErr() of there was a database open error
IF oError:genCode == EG_OPEN .AND. ;
oError:osCode == 32 .AND. ;
oError:canDefault
NetErr( .T. )
RETURN .F.
ENDIF
// Set NetErr() if there was a lock error on dbAppend()
IF oError:genCode == EG_APPENDLOCK .AND. ;
oError:canDefault
NetErr( .T. )
RETURN .F.
ENDIF
cMessage := ErrorMessage( oError )+Chr(13)
IF ! Empty( oError:osCode )
cDOSError := "(DOS Error " + LTrim( Str( oError:osCode ) ) + ")"
ENDIF
/* RETRY OPTIONS NOT AVAILABLE RIGHT NOW
COMMENTED OUT ONLY FOR DELPHI INTEGRATION
// Build buttons
aOptions := {}
// AAdd( aOptions, "Break" )
AAdd( aOptions, "Quit" )
IF oError:canRetry
AAdd( aOptions, "Retry" )
ENDIF
IF oError:canDefault
AAdd( aOptions, "Default" )
ENDIF
// Show alert box
nChoice := 0
WHILE nChoice == 0
IF Empty( oError:osCode )
nChoice := Alert( cMessage, aOptions )
ELSE
nChoice := Alert( cMessage + ";" + cDOSError, aOptions)
ENDIF
ENDDO
IF ! Empty( nChoice )
DO CASE
CASE aOptions[ nChoice ] == "Break"
Break( oError )
CASE aOptions[ nChoice ] == "Retry"
RETURN .T.
CASE aOptions[ nChoice ] == "Default"
RETURN .F.
ENDCASE
ENDIF
*/
// "Quit" selected
IF ! Empty( oError:osCode )
cMessage += " " + cDOSError+Chr(13)
ENDIF
n := 2
WHILE ! Empty( ProcName( n ) )
/* CHANGED */
cMessage += "Called from " + ProcName( n ) + ;
"(" + AllTrim( Str( ProcLine( n ) ) ) + ")"+Chr(13)
// QUESTION: from a DLL point of view, there is not main procedure,
// instead of that, something that is not a valid string is
// given, causing this errorsys routine to be re-entrant.
// This next line is a temporal workaround to this problem,
// and a specific code to this Harbour to Delphi integration.
If Upper(ProcName(n)) = 'MACROCALL'
Exit
EndIf
n++
ENDDO
MSGBOX( cMessage ) // Windows MessageBox
D('QUIT') // NOTE: A QUIT in a DLL is something not very smart, better to
// QUIT // let Delphi to end properly.
RETURN .F.
// [vszakats]
STATIC FUNCTION ErrorMessage( oError )
LOCAL cMessage
// start error message
cMessage := iif( oError:severity > ES_WARNING, "Error", "Warning" ) + " "
// add subsystem name if available
IF ISCHARACTER( oError:subsystem )
cMessage += oError:subsystem()
ELSE
cMessage += "???"
ENDIF
// add subsystem's error code if available
IF ISNUMBER( oError:subCode )
cMessage += "/" + LTrim( Str( oError:subCode ) )
ELSE
cMessage += "/???"
ENDIF
// add error description if available
IF ISCHARACTER( oError:description )
cMessage += " " + oError:description
ENDIF
// add either filename or operation
DO CASE
CASE !Empty( oError:filename )
cMessage += ": " + oError:filename
CASE !Empty( oError:operation )
cMessage += ": " + oError:operation
ENDCASE
RETURN cMessage

View File

@@ -1,128 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
*
* Macro processing requested from Delphi and setting callbacks
* to interact with Delphi
*
* Copyright 2002 Jorge A. Giraldo S. <jgiraldo@col2.telecom.com.co>
* <jorgeagiraldo@hotmail.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#define HB_OS_WIN_32_USED
#include "hbvm.h"
#include "hbapiitm.h"
#include "hbstack.h"
#if defined(HB_OS_WIN_32)
// Function pointer type
typedef long (__stdcall *CallBackFuncType)(const char* message);
// Setter function
HB_EXPORT __stdcall void SetCallBack(CallBackFuncType fun);
char * HB_EXPORT __stdcall MacroCall( char * sParam )
{
char *szFunc = "MacroCall";
PHB_DYNS pDynSym = hb_dynsymFindName( szFunc ); /* The PRG function to use */
if( pDynSym )
{
hb_vmPushSymbol( pDynSym->pSymbol );
hb_vmPushNil();
hb_vmPushString( sParam, strlen( sParam ) );
hb_vmFunction( 1 ); /* as we receive one parameter */
return hb_stack.Return.item.asString.value;
}
else
return "error ...";
}
static CallBackFuncType cbfun = 0;
void __stdcall SetCallBack(CallBackFuncType fun)
{
CallBackFuncType oldfun = cbfun;
cbfun = fun;
return oldfun;
}
HB_FUNC( CALLBACK )
{
long result = 0;
if (cbfun != 0)
{
result = cbfun( hb_parc( 1 ) );
}
else
{
MessageBox( NULL, //HWINDOW of the window that owns the message box
"CallBack failed under MacrCall.c" , //Text
"Warning" ,//Title
MB_OK | MB_ICONINFORMATION );//Bit mask flags
}
hb_retl( result ); // QUESTION: If you can make this to return a char pointer
// being interpreted correctly by Delphi,
// please inform me, I'm all ears, thank you.
}
HB_FUNC( MSGBOX )
{
MessageBox( 0, hb_parc( 1 ), "Warning", 0 );
}
#endif

View File

@@ -1,221 +0,0 @@
{*
* $Id$
*}
{*
* Harbour Project source code:
*
* Copyright 2002 Jorge A. Giraldo S. <jgiraldo@col2.telecom.com.co>
* <jorgeagiraldo@hotmail.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*}
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls;
type
TMain_FRM = class(TForm)
BitBtn1: TBitBtn;
ProgressBar1: TProgressBar;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Main_FRM: TMain_FRM;
oApplication : TApplication;
type
CallBackFuncType = function (mesg: PChar): integer; stdcall;
procedure SetCallBack(cbfunc: CallBackFuncType); stdcall;
external 'MyProg' name 'SetCallBack';
function MacroCall( pParam : pchar ) : pchar; stdcall;
external 'MyProg' name 'MacroCall';
function h( sParam : String ) : variant;
function ExtParam( sString : String; iPos : Integer; sSepar : String ) : String;
function AllTrim(sString: string): string;
implementation
{$R *.DFM}
procedure TMain_FRM.BitBtn1Click(Sender: TObject);
begin
ProgressBar1.Position := 0;
ShowMessage( h(' MakeIndex("..\..\..\TESTS\TEST", "ZIP") ') );
end;
function h( sParam : String ) : variant;
Var
sRtnVal,
sType,
sResult : String;
begin
sRtnVal := MacroCall( PChar(sParam) );
sType := Copy(sRtnVal,1,1);
sResult := Copy(sRtnVal,2,Length(sRtnVal)-1);
// Changes string result to the expected type
if sType = 'C' then // is character
result := sResult
else
if sType = 'I' then // integer
result := StrToInt(sResult)
else
if sType = 'F' then // float
result := StrToFloat(sResult)
else
if sType = 'D' then // date
result := StrToDate(sResult)
else
if sType = 'L' then // boolean
if sResult = 'True' then
result := true
else
result := false
else
result := unassigned;
end;
function ReceiveCallBack(mesg: PChar): integer; stdcall;
var
s, sCommand : String;
begin
s := String(mesg);
sCommand := ExtParam(s,1,',');
if sCommand = 'QUIT' then
begin
ShowMessage(ExtParam(s,2,','));
oApplication.Terminate;
Halt(0);
end
else
if sCommand = 'ProgressBar1' then
Main_FRM.ProgressBar1.Position := StrToInt(ExtParam(s, 2, ','));
oApplication.ProcessMessages;
// The answer our Harbour program expects.
// Callbackresult is a Harbour Public variable
// that is requested when expecting some answer.
// h(' CallBackResult := "NOANSWER" ');
result := 0;
end;
function ExtParam( sString : String; iPos : Integer; sSepar : String ) : String;
var
sStrT, sPara : String;
iX, iPosiT : Integer;
begin
sStrT := AllTrim(sString)+sSepar;
iX := 0;
sPara := ''; // tiene que haber al menos un parametro
While true do
begin
Inc(iX);
iPosiT := Pos(sSepar, sStrT);
if iPosiT = 0 then
Break;
sPara := Copy(sStrT, 1, iPosiT-1);
if iX = iPos then
break;
sStrT := Copy(sStrT, iPosiT+1, Length(sStrT)-iPosiT+1);
sPara := '';
end;
result := AllTrim(sPara);
end;
function AllTrim(sString: string): string;
var
n,
nBeginPos,
nEndPos : Integer;
begin
nBeginPos := 0;
for n := 1 to Length(sString) do
if sString[n] <> ' ' then
begin
nBeginPos := n;
break;
end;
nEndPos := Length(sString);
If nBeginPos <> 0 then
begin
for n := Length(sString) downto 1 do
if sString[n] <> ' ' then
begin
nEndPos := n;
break;
end;
end;
Result := Copy(sString, nBeginPos, nEndPos-nBeginPos+1);
end;
Initialization
begin
SetCallBack(ReceiveCallBack);
oApplication := Application;
end;
end.

View File

@@ -1,116 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
*
* Macro processing requested from Delphi and setting callbacks
* to interact with Delphi
*
* Copyright 2002 Jorge A. Giraldo S. <jgiraldo@col2.telecom.com.co>
* <jorgeagiraldo@hotmail.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#Include 'HbClass.ch'
MEMVAR CallBackResult
FUNCTION MakeIndex( cFileName, cField )
PUBLIC CallBackResult := ''
?
? 'Please click the Delphi App to see the status'
?
Use (cFileName) Alias FIL
Index on &(cField) to (cFileName) EVAL IndexStatus() EVERY LastRec()/10
Close FIL
RETURN 'The file '+cFileName+' has been indexed'
FUNCTION IndexStatus
LOCAL cCompleted := LTrim( Str(Int((RecNo()/LastRec()) * 100)) ), nSeconds
D('ProgressBar1'+','+cCompleted)
nSeconds := Seconds() // Let's make this thing to go slowly
WHILE nSeconds+1 >= Seconds()
END
RETURN .T.
//---------------------------------------//
// Library functions //
//---------------------------------------//
FUNCTION D( cString )
CallBack( cString )
RETURN CallBackResult
FUNCTION MacroCall( cString )
LOCAL xMacroResult, cRtnType, cRtnVal
cRtnType := ValType( xMacroResult := &(cString) )
// Well, if memory is like a string, why not to use strings
// for any type of vars?... ok, ok, I know. :-)
Do Case
Case cRtnType = 'C'
cRtnVal := 'C'+xMacroResult
Case cRtnType = 'N'
If Int(xMacroResult) = xMacroResult
cRtnVal := 'I'+AllTrim(Str(xMacroResult,,0))
Else
cRtnVal := 'F'+AllTrim(Str(xMacroResult))
EndIf
Case cRtnType = 'L'
cRtnVal := 'L'+If(xMacroResult,'True','False')
Case cRtnType = 'D'
cRtnVal := 'D'+DtoC(xMacroResult)
OtherWise
cRtnVal := NIL // NOTE: If Delphi doesn't expect a result, returning any result
// will corrupt Delphi's memory. So this is set to NIL.
EndCase
RETURN cRtnVal

View File

@@ -1,5 +0,0 @@
rem Makes our PRG to be a DLL, from an Antonio's idea and research
rem
rem $Id$
rem
Call bld_sdll myprog

View File

@@ -0,0 +1,17 @@
#
# $Id$
#
LIBNAME = hbwin32ddrw
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\w32_ddrw.obj \
all: \
$(LIB_PATH) \

View File

@@ -3,30 +3,58 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MS SDK installed and this envvar to be
rem set, to build this library:
rem set INCLUDE="C:\Program Files\Microsoft SDKs\Windows\v6.0\include"
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\hbwin32ddrw.lib ..\..\lib\*.* > nul
if exist ..\..\lib\b32\hbwin32ddrw.bak del ..\..\lib\b32\hbwin32ddrw.bak
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\hbwin32ddrw.lib del ..\..\lib\b32\hbwin32ddrw.lib
if exist ..\..\lib\b32\hbwin32ddrw.bak del ..\..\lib\b32\hbwin32ddrw.bak
if exist ..\..\obj\b32\w32_ddrw.obj del ..\..\obj\b32\w32_ddrw.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -3,19 +3,58 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MS SDK installed and this envvar to be
rem set, to build this library:
rem set INCLUDE="C:\Program Files\Microsoft SDKs\Windows\v6.0\include"
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\vc\hbwin32ddrw.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
:CLEAN
notepad make_vc.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,98 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Borland C/C++ 3.x, 4.x, 5.x compilers
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#
#
# NOTE: "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
#
CC = bcc32
AS = tasm32
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
ARFLAGS = /P32
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\hbwin32ddrw.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
#
# TOOLS.LIB rules
#
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\w32_ddrw.obj \
#
# Our default target
#
all: \
$(TOOLS_LIB) \
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
#
# TOOLS.LIB dependencies
#
$(OBJ_DIR)\w32_ddrw.obj : $(TOOLS_DIR)\w32_ddrw.cpp
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,

View File

@@ -1,136 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Microsoft Visual C (32 bits)
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# 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.vc 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.
#
MK_FILE = makefile.vc
MK_FLAGS = $(MAKEFLAGS: =)
OBJ_DIR = ..\..\obj\vc
LIB_DIR = ..\..\lib\vc
BIN_DIR = ..\..\bin
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
AS = masm
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\hbwin32ddrw.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
.SUFFIXES: .prg .lib .c .cpp .obj .asm
# override builtin
.c.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#
#
#
LIBLIST = \
$(TOOLS_LIB)
#
# TOOLS.LIB rules
#
{$(TOOLS_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS) /f$(MK_FILE) $(TOOLS_LIB)2
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\w32_ddrw.obj \
#
# Our default target
#
all: \
$(TOOLS_LIB)
CLEAN:
-@if exist $(OBJ_DIR)\w32_ddrw.* del $(OBJ_DIR)\w32_ddrw.*
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
lib /out:$@ $**
# dummy targets used for prg to c creation
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)

View File

@@ -1,36 +0,0 @@
#
# $Id$
#
ifeq ($(HB_MAIN),)
HB_MAIN = std
endif
ROOT = ../../
PRG_SOURCES=\
pp.prg \
PRG_MAIN=pp.prg
PRG_HEADERS = \
rp_dot.src \
rp_run.src \
LIBS=\
debug \
vm \
rtl \
lang \
rdd \
macro \
pp \
common \
include $(TOP)$(ROOT)config/header.cf
INSTALL_RULE_HEADERS := $(INSTALL_RULE)
include $(TOP)$(ROOT)config/bin.cf
install::
$(INSTALL_RULE_HEADERS)

View File

@@ -1,29 +0,0 @@
@echo off
rem
rem $Id$
rem
..\..\bin\harbour /l /gc0 /n pp /i..\..\include\
echo -O2 -I..\..\include -L..\..\lib > build.tmp
echo -edot.exe >> build.tmp
echo pp.c >> build.tmp
echo debug.lib >> build.tmp
echo vm.lib >> build.tmp
echo rtl.lib >> build.tmp
echo gtwin.lib >> build.tmp
echo lang.lib >> build.tmp
echo rdd.lib >> build.tmp
echo macro.lib >> build.tmp
echo pp.lib >> build.tmp
echo dbfntx.lib >> build.tmp
echo dbfcdx.lib >> build.tmp
echo dbffpt.lib >> build.tmp
echo hbsix.lib >> build.tmp
echo common.lib >> build.tmp
echo codepage.lib >> build.tmp
echo hbpcre.lib >> build.tmp
echo hsx.lib >> build.tmp
bcc32 @build.tmp
del build.tmp

File diff suppressed because it is too large Load Diff

View File

@@ -1,123 +0,0 @@
Command line switches and syntax.
PP filename[.ext] [-CCH] [-D<id>] [-D:E] [-D:M] [-D:P] [-H] [--help][-I<path>]
[-P] [-R] [-STRICT] [-U[<ch-file>]]
-CCH = Generate a .cch file (compiled command header).
-D<id> = #define <id>.
-D:E = Show tracing information into the Expression Scanner.
-D:M = Show tracing information into the Match Engine.
-D:P = Show tracing information into the Output Generator.
-H = Syntax and command line switches description.
--help = Syntax and command line switches description.
-I<path> = #include file search path(s) (';' seperated).
-P = Generate .pp$ pre-processed output file.
-R = Run filename as a script.
-STRICT = Strict Clipper compatability (clone Clipper PreProcessor bugs).
-U = Use command definitions set in <ch-file> (or none).
PP has 3 personalities which are tied tightly together.
1. What is supposed to be 100% Clipper compatible Pre-Processor
(with some extensions).
Executing PP followed by a source file name and the -P switch, will
create <filename.pp$> which is the equivalent of the Clipper
<filename.ppo> file.
This syntax is:
PP filename[.ext] -P
In this mode these are the optional command line switches.
-CCH = Generate a .cch file (compiled command header).
-D<id> = #define <id>.
-D:E = Show tracing information into the Expression Scanner.
-D:M = Show tracing information into the Match Engine.
-D:P = Show tracing information into the Output Generator.
-I<path> = #include file search path(s) (';' separated).
-STRICT = Strict Clipper compatability (clone Clipper PreProcessor bugs).
-U = Use command definitions set in <ch-file> (or none).
2. DOT prompt, which allows most of the Clipper syntax. Please
report any syntax you expect to work, but is not supported.
It does support IF [ELSE] [ELSEIF] ENDIF in DOT environment.
Executing PP with no source filename will start the DOT prompt mode.
In this mode you can execute a single line at a time by typing the line
and pressing the [Enter] key.
Additionally you may type:
DO filename.prg [Enter]
So that DOT will "run" the specified source file. This interpreter
mode is subject to few limitations:
a. It does support LOCAL/STATIC/PRIVATE/PUBLIC, but:
- STATICs are actually implemented as publics.
- LOCALS have scoping of locals but are implemented as privates
so you can't have a LOCAL and a PRIVATE with the same name.
b. Non-declared variables are auto-created on assignment in Harbour
but NOT in Clipper (yet).
c. It does support definition and execution of prg-defined
FUNCTIONs/PROCEDUREs.
d. It does support ALL control flow structures *except* BEGIN
SEQUENCE [BREAK] [RECOVER] END SEQUENCE.
e. The executed module is compiled with -n option (for now).
This will create rp_dot.pp$ compilation trace file.
3. Finally, PP is a limited Clipper/Harbour/xBase Interpreter. Subject
to those same few limitations it can execute most of Harbour syntax.
Executing PP followed by a source file name and the -R switch will
"RUN" that source (it will also create the rp_run.pp$ compilation
trace file).
This syntax is:
PP filename[.ext] -R
In this mode these are the optional command line switches.
-CCH = Generate a .cch file (compiled command header).
-D<id> = #define <id>.
-D:E = Show tracing information into the Expression Scanner.
-D:M = Show tracing information into the Match Engine.
-D:P = Show tracing information into the Output Generator.
-I<path> = #include file search path(s) (';' separated).
-P = Generate .pp$ pre-processed output file.
-STRICT = Strict Clipper compatability (clone Clipper PreProcessor bugs).
-U = Use command definitions set in <ch-file> (or none).
a. It does support LOCAL/STATIC/PRIVATE/PUBLIC, but:
- STATICs are actually implemented as publics.
- LOCALS have scoping of locals but are implemented as privates
so you can't have a LOCAL and a PRIVATE with the same name.
b. Non-declared variables are auto-created on assignment in Harbour
but NOT in Clipper (yet).
c. It does support definition and execution of prg-defined
FUNCTIONs/PROCEDUREs as well as parameter passing and return values.
d. It does support ALL control flow structures *except* BEGIN
SEQUENCE [BREAK] [RECOVER] END SEQUENCE.
e. The compiled module is automatically using -n (No implicit startup
procedure) if the script starts with a Procedure/Function definition.
f. Built-in OLE COM Client gateway is included when PP is compiled with
Harbour and using -dWIN (harbour pp -dWIN -w ... )

File diff suppressed because it is too large Load Diff

View File

@@ -1,63 +0,0 @@
Procedure Main( sMsg )
LOCAL sText, sPPed, asPPed, oInterpreter := TInterpreter():New()
oInterpreter:AddLine( "/* Sample Script for embedded PP " )
oInterpreter:AddLine( "/* Sample Script for embedded PP " )
oInterpreter:AddLine( " have fun... */" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( "Procedure Test( cMacroVar, xValue )" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( " Local cVar := 'Hi There'" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( " &cMacroVar := xValue" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( " ? cVar, &cMacroVar, ;" )
oInterpreter:AddLine( " xValue" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( " WHILE Inkey() == 0 // WAIT" )
oInterpreter:AddLine( " ENDDO" )
oInterpreter:AddLine( "" )
oInterpreter:AddLine( "RETURN LastKey()" )
Alert( oInterpreter:Run( "Param1", "Param2" ) ) // Will automatically perform a ::Compile() first.
sText := "/* Sample Script for embedded PP " + Chr(10)
sText += " have fun... */ " + Chr(10)
sText += " " + Chr(10)
sText += "Procedure Test( cMacroVar, xValue ) " + Chr(10)
sText += " " + Chr(10)
sText += " Local cVar := 'Hi There' " + Chr(10)
sText += " " + Chr(10)
sText += " &cMacroVar := xValue " + Chr(10)
sText += " " + Chr(10)
sText += " ? cVar, &cMacroVar, ; " + Chr(10)
sText += " xValue " + Chr(10)
sText += " " + Chr(10)
sText += " WHILE Inkey() == 0 // WAIT " + Chr(10)
sText += " ENDDO " + Chr(10)
sText += " " + Chr(10)
sText += "RETURN LastKey() "
Alert( PP_RunText( sText, .T., { "Private_1", 1000 } ) )
//OR ...
sPPed := PP_PreProText( sText )
Alert( PP_RunText( sPPed, .F., { "Private_2", 2000 } ) )
//OR ...
asPPed := {}
PP_PreProText( sText, asPPed )
Alert( PP_RunArray( asPPed, { "Private_3", 3000 } ) )
// Now let's have some real fun...
IF sMsg == "Recursively running self"
Alert( "Let's STOP this madness..." )
RETURN
ELSE
//PP_Run( "prgscrpt.prg", { "Recursively running self" } )
oInterpreter:RunFile( "prgscrpt.prg", { "Recursively running self" }, ".pp", .F. ) // Output PreProcessed extension .pp wirhout blanks.
ENDIF
return

View File

@@ -1,27 +0,0 @@
#command CLS ;
=> Scroll( 2, 0, MaxRow() - 1, MaxCol() ) ;
; SetPos( 2, 0 )
#COMMAND BROWSE => Browse( 1, 0, MaxRow() - 1, MaxCol() )
#COMMAND EXIT => __QUIT()
#TRANSLATE _GET_( <var>, <varname>, [<pic>], [<valid>], [<when>] ) => __GET( MEMVARBLOCK(<varname>), <varname>, <pic>, <valid>, <when> )
#ifndef __HARBOUR__
#TRANSLATE __GET( <parlist,...>):Display() => __GET(<parlist>)
#TRANSLATE aAdd( GetList, __GET(<parlist,...>) ) => __oGet := __GET(<parlist>) ; aAdd( GetList, __oGet ) ; __oGet:Display()
#endif
#COMMAND IF <ifExp> => __SetIf( <ifExp> )
#COMMAND ELSEIF <elseifExp> => __SetElseIf( <elseifExp> )
#COMMAND ELSE => __SetElse()
#COMMAND ENDIF [<*x*>] => __SetEnd()
#COMMAND END [<*x*>] => __SetEnd()
#COMMAND DO CASE => __SetDoCase()
#COMMAND CASE <caseExp> => __SetCase( <caseExp> )
#COMMAND OTHERWISE => __SetOtherwise()
#COMMAND ENDCASE [<*x*>] => __SetEndCase()
#COMMAND DO <file>.prg => PP_Run( #<file> + ".prg" )
#command CD <(dir)> => DirChange( <(dir)> )

View File

@@ -1,105 +0,0 @@
/*
* xBaseScript Project source code:
* Pre-Processor / Dot prompt environment / Script Interpreter
*
* Copyright 2000-2001 Ron Pinkas <ronpinkas@profit-master.com>
* www - http://www.xBaseScript.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
* their web site at http://www.gnu.org/).
*/
#ifdef __HARBOUR__
#ifdef WIN
#COMMAND Alert( <x> ) => MessageBox( 0, xToStr( <x> ), "xBaseScript for Windows", 0 )
#endif
#else
//#define __CLIPPER__
#endif
#TRANSLATE AS <type: ANYTYPE, ARRAY, CHARACTER, CODEBLOCK, DATE, LOGICAL, NUMERIC, OBJECT, STRING, USUAL> =>
#TRANSLATE AS ARRAY OF <x> =>
#TRANSLATE AS CLASS <!x!> =>
#TRANSLATE AS CLASS <!x!> := => :=
#COMMAND _HB_CLASS <*x*> =>
#COMMAND _HB_MEMBER <*x*> =>
#XTRANSLATE QSelf() => PP_Qself()
#XTRANSLATE AddMethod( <MethodName>, @<!FunName!>(), <n>, <l> ) => AddInLine( <MethodName>, {|Self,p1,p2,p3,p4,p5,p6,p7,p8,p9| PP_QSelf(Self), PP_ExecMethod( <"FunName">, p1,p2,p3,p4,p5,p6,p7,p8,p9 ) }, <n>, <l> )
#TRANSLATE :: => Self:
#COMMAND MEMVAR <*x*> =>
//#COMMAND BROWSE => Browse( 1, 0, MaxRow() - 1, MaxCol() )
#TRANSLATE _GET_( <var>, <varname>, [<pic>], [<valid>], [<when>] ) => __GET( MEMVARBLOCK(<varname>), <varname>, <pic>, <valid>, <when> )
#TRANSLATE __GET( <parlist,...>):Display() => __GET(<parlist>)
//#COMMAND EXTERNAL <!file1!> [, <!fileN!> ] => PP_ProcessFile( <file1> ) [; PP_ProcessFile( <fileN> ) ]
#COMMAND EXTERNAL <!file1!> [, <fileN> ] =>
#COMMAND DECLARE <!class!> <declaraion> <*x*> =>
// Must precede rule for DO CASE.
#COMMAND DO <!proc!> => <proc>()
#COMMAND DO <!proc!> WITH <arg1> [, <argN>] => <proc>( <arg1>[, <argN>] )
#COMMAND IF <ifExp> => PP__IF <ifExp>
#COMMAND ELSEIF <elseifExp> => PP__ELSEIF <elseifExp>
#COMMAND ELSE => PP__ELSE
#COMMAND ENDIF [<*x*>] => PP__ENDIF
#COMMAND END [<*x*>] => PP__END
#COMMAND DO CASE => PP__DOCASE
#COMMAND CASE <caseExp> => PP__CASE <caseExp>
#COMMAND OTHERWISE => PP__OTHERWISE
#COMMAND ENDCASE [<*x*>] => PP__ENDCASE
#COMMAND FOR <counter> := <start> TO <end> [STEP <step>] => PP__FOR <counter>:=<start>~TO~<end>~STEP~<step>
#COMMAND FOR <counter> = <start> TO <end> [STEP <step>] => PP__FOR <counter>:=<start>~TO~<end>~STEP~<step>
#COMMAND LOOP [<*x*>] => PP__LOOP
#COMMAND EXIT [<*x*>] => PP__EXIT
#COMMAND NEXT [<*x*>] => PP__NEXT
#COMMAND DO WHILE <cond> => PP__WHILE <cond>
#COMMAND WHILE <cond> => PP__WHILE <cond>
#COMMAND ENDDO [<*x*>] => PP__ENDDO
#COMMAND DO <(file)>.prg => PP_Run( #<file> + ".prg" )
#COMMAND INIT PROCEDURE <!name!>[()] => PP_PROC_INIT <name>
#COMMAND EXIT PROCEDURE <!name!>[()] => PP_PROC_EXIT <name>
#COMMAND STATIC PROCEDURE <!name!>( <par,...> ) => PP_PROC_PRG <name> ; PP_LocalParams( { <"par"> } )
#COMMAND STATIC PROCEDURE <!name!>[()] => PP_PROC_PRG <name>
#COMMAND STATIC FUNCTION <!name!>( <par,...> ) => PP_PROC_PRG <name> ; PP_LocalParams( { <"par"> } )
#COMMAND STATIC FUNCTION <!name!>[()] => PP_PROC_PRG <name>
#COMMAND PROCEDURE <!name!>( <par,...> ) => PP_PROC <name> ; PP_LocalParams( { <"par"> } )
#COMMAND PROCEDURE <!name!>[()] => PP_PROC <name>
#COMMAND FUNCTION <!name!>( <par,...> ) => PP_PROC <name> ; PP_LocalParams( { <"par"> } )
#COMMAND FUNCTION <!name!>[()] => PP_PROC <name>
#COMMAND RETURN [<retExp>] => PP_SetReturn( <retExp> )
#COMMAND PARAMETERS <par,...> => PP_Params( { <"par"> } )
#COMMAND PRIVATE <var,...> => PP_Privates( { <"var"> } )
#COMMAND DECLARE <var,...> => PP_Privates( { <"var"> } )
#COMMAND PUBLIC <var,...> => PP_Publics( { <"var"> } )
#COMMAND LOCAL <var,...> => PP_Locals( { <"var"> } )
#COMMAND STATIC <var,...> => PP_Statics( { <"var"> } )
#TRANSLATE ProcName( [<n>] ) => PP_ProcName( <n> )
#TRANSLATE ProcLine( [<n>] ) => PP_ProcLine( <n> )

View File

@@ -1,69 +0,0 @@
PROCEDURE Main
LOCAL cLocal
PRIVATE cName
CLEAR SCREEN
Alert( "Testinf PP as Interpreter... " )
USE test
IF ! File( "test" + IndexExt() )
INDEX on FIELD->First TO First
ELSE
SET INDEX TO First
ENDIF
GO TOP
cName := FIELD->First + FIELD->Last
IF cName == FIELD->First + FIELD->Last
? "Ok"
ELSE
? "Err"
ENDIF
DO CASE
CASE cName == First // Not exact!
? "Err"
CASE cName = First // But still equal
? "Ok"
OTHERWISE
? "Err"
ENDCASE
REPLACE First WITH "From PP"
? FIELD->First
cLocal := "in main"
? Test()
? cLocal
? cName
? cFromTest
? TestPrv
RETURN
FUNCTION Test
PRIVATE TestPrv
PUBLIC cFromTest
? cName
? cLocal
M->TestPrv := "Private of Test"
Test2()
RETURN ProcName()
PROCEDURE Test2
? ProcName(), ProcLine(), M->testPrv
RETURN

View File

@@ -0,0 +1,22 @@
#
# $Id$
#
LIBNAME = hbgd
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\gdwrp.obj \
$(OBJ_DIR)\gd.obj \
$(OBJ_DIR)\gdimage.obj \
$(OBJ_DIR)\gdchart.obj \
$(OBJ_DIR)\gdbar.obj \
$(OBJ_DIR)\gdbarcod.obj \
all: \
$(LIB_PATH) \

View File

@@ -1,60 +1,60 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need GD lib sources from www.libgd.org and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\gd-2.0.35
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
if not exist bgd.dll goto NODLL
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
impdef -a ..\..\lib\b32\libbgd.def bgd.dll > make_b32.log
if errorlevel 1 goto BUILD_ERR
implib -a ..\..\lib\b32\libbgd.lib ..\..\lib\b32\libbgd.def > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\libbgd.lib ..\..\lib > nul
copy ..\..\lib\b32\hbgd.lib ..\..\lib > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\hbgd.lib del ..\..\lib\b32\hbgd.lib
if exist ..\..\lib\b32\hbgd.bak del ..\..\lib\b32\hbgd.bak
if exist ..\..\obj\b32\gdwrp.obj del ..\..\obj\b32\gdwrp.obj
if exist ..\..\obj\b32\gd.c del ..\..\obj\b32\gd.c
if exist ..\..\obj\b32\gdimage.c del ..\..\obj\b32\gdimage.c
if exist ..\..\obj\b32\gdchart.c del ..\..\obj\b32\gdchart.c
if exist ..\..\obj\b32\gdbar.c del ..\..\obj\b32\gdbar.c
if exist ..\..\obj\b32\gdbarcod.c del ..\..\obj\b32\gdbarcod.c
if exist ..\..\obj\b32\gd.obj del ..\..\obj\b32\gd.obj
if exist ..\..\obj\b32\gdimage.obj del ..\..\obj\b32\gdimage.obj
if exist ..\..\obj\b32\gdchart.obj del ..\..\obj\b32\gdchart.obj
if exist ..\..\obj\b32\gdbar.obj del ..\..\obj\b32\gdbar.obj
if exist ..\..\obj\b32\gdbarcod.obj del ..\..\obj\b32\gdbarcod.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
:NODLL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
echo.
echo.Missing bgd.dll, please download it from:
echo.http://www.libgd.org/Downloads (Windows.DLL)
echo.
echo.Make aborted.
echo.
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,60 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need GD lib sources from www.libgd.org and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\gd-2.0.35
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,45 +0,0 @@
#
# $Id$
#
# makefile for Borland C/C++ 32 bits
# Building of mysql.lib - Harbour API to mySQL
INCLUDE_DIR = include;..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\hbgd.lib : \
$(OBJ_DIR)\gdwrp.obj \
$(OBJ_DIR)\gd.obj \
$(OBJ_DIR)\gdimage.obj \
$(OBJ_DIR)\gdchart.obj \
$(OBJ_DIR)\gdbar.obj \
$(OBJ_DIR)\gdbarcod.obj
$(OBJ_DIR)\gd.c : gd.prg
$(OBJ_DIR)\gd.obj : $(OBJ_DIR)\gd.c
$(OBJ_DIR)\gdimage.c : gdimage.prg
$(OBJ_DIR)\gdimage.obj : $(OBJ_DIR)\gdimage.c
$(OBJ_DIR)\gdchart.c : gdchart.prg
$(OBJ_DIR)\gdchart.obj : $(OBJ_DIR)\gdchart.c
$(OBJ_DIR)\gdbar.c : gdbar.prg
$(OBJ_DIR)\gdbar.obj : $(OBJ_DIR)\gdbar.c
$(OBJ_DIR)\gdbarcod.c : gdbarcod.prg
$(OBJ_DIR)\gdbarcod.obj : $(OBJ_DIR)\gdbarcod.c
$(OBJ_DIR)\gdwrp.obj : gdwrp.c
.c.obj:
bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -DHB_OS_WIN_32_USED -o$@ $<
tlib $(LIB_DIR)\hbgd.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -1,10 +0,0 @@
#ifndef HB_STRUCTURE
#define HB_STRUCTURE
#COMMAND STRUCTURE <StruName> <Var1> <x1:AS CLASS,AS STRUCTURE,AS STRU,AS ARRAY OF,AS> <Type1> [, <VarN> <xN:AS CLASS,AS STRUCTURE,AS STRU,AS ARRAY OF,AS> <TypeN> ] => ;
STATIC __<StruName> := {|| IF( __<StruName> == NIL, , ) , HB_Structure( <"StruName">, { <"Var1"> [, <"VarN">] } )} ;;
DECLARE <StruName> <Var1> <x1> <Type1> [ <VarN> <xN> <TypeN> ] ;;
#TRANSLATE AS NEW <StruName> => AS STRUCTURE <StruName> := ( Eval( __<StruName> ), HB_Structure( <"StruName"> ) )
#endif

View File

@@ -1,117 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* Base Class for internal handling of class creation
*
* Copyright 2000 Ron Pinkas <Ron@Profit-Master.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#include "hbstruc.ch"
//----------------------------------------------------------------------------//
Function HB_Structure( cStructureName AS Char, aMembers AS Array OF Char )
STRUCTURE HB_Structure cName AS Char, hId As Num
DECLARE __ClsNew( ClassName AS Char, N As Num ) AS Num
DECLARE __ClsAddMsg( H AS Num, Data AS Char, ID As Num, Type As Num ) AS Num
DECLARE __ClsInst( H AS Num ) AS Structure HB_Structure
LOCAL hStructure AS Num, nCounter AS Num, nMembers AS Num
STATIC asStructures AS Array OF Structure HB_Structure := {}
STATIC sStructure AS Stru HB_Structure
LOCAL hSelf As Num
cStructureName := Upper( cStructureName )
hStructure := aScan( asStructures, { |aStructure| aStructure:cName == cStructureName } )
IF aMembers == NIL
IF hStructure == 0
//hb_Structure( cStructureName, {} )
RETURN NIL //hb_Structure( cStructureName )
ELSE
RETURN __ClsInst( asStructures[ hStructure ]:hId )
ENDIF
ELSE
IF hStructure > 0
// Duplicate declaration
RETURN NIL
ENDIF
ENDIF
nMembers := Len( aMembers )
hStructure := __ClsNew( cStructureName, nMembers )
FOR nCounter := 1 TO nMembers
__clsAddMsg( hStructure, aMembers[nCounter], nCounter, 1 )
__clsAddMsg( hStructure, '_' + aMembers[nCounter], nCounter, 1 )
NEXT
IF sStructure == NIL
hSelf := __ClsNew( "HB_Structure", 2 )
__clsAddMsg( hSelf, "cName", 1, 1 )
__clsAddMsg( hSelf, "_cName", 1, 1 )
__clsAddMsg( hSelf, "hID", 2, 1 )
__clsAddMsg( hSelf, "_hID", 2, 1 )
sStructure := __ClsInst( hSelf )
ENDIF
sStructure:cName := cStructureName
sStructure:hId := hStructure
aAdd( asStructures, sStructure )
RETURN NIL //__clsInst( hStructure )

View File

@@ -1,29 +0,0 @@
REQUEST HBSTRUC
#INCLUDE "HBSTRUC.CH"
STRUCTURE MyStruct Var1 As Char, Var2 As Num, sNext AS Stru MyStruct
STRUCTURE OtherStruct sNested As Stru MyStruct, sNext AS Structure OtherStruct
PROCEDURE MAIN()
LOCAL sTest AS New MyStruct, sTest2 As New OtherStruct
sTest:Var1 := 'Working' // No problem here. (Var1 of myStruct is Char)
? sTest:Var1 // No Problem here.
sTest:Var1 := 8 // Warning Here as Expected. -> Var1 of MyStruct is Char not Num
sTest2:sNested:Var1 := 8 // Warning Here Expected -> Var1 of MyStruct is Char not Num
sTest2:sNested:sNext := 8 // Warning Here Expected -> sNext of MyStruct is MyStruct not Num
/* Run TIME ERROR Here */
sTest2:sNested:sNested := 8 // Warning Here Expected -> MyStruct has no sNested Var
/* Run TIME ERROR Here */
sTest:NoSuchVar := "Error" // Warning here as expected. -> MyStruct has no NoSuchVar Var.
RETURN

View File

@@ -1,203 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Borland C/C++ 3.x, 4.x, 5.x compilers
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#
#
# NOTE: "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
#
!if $d(B16)
CC = bcc
AS = tasm
# Borland C/C++ (DOS 16 bits)
CFLAGS = -mh $(CFLAGS)
BIN_DIR = bin\b16
OBJ_DIR = obj\b16
LIB_DIR = lib\b16
!else
CC = bcc32
AS = tasm32
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
ARFLAGS = /P32
!endif
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include;include
TOOLS_DIR =
TOOLS1_DIR = examples
#
# C compiler definition and C flags. These should never have to change.
#
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -w2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\html.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
#
# TOOLS.LIB rules
#
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\ohtm.obj \
$(OBJ_DIR)\htmbrows.obj \
$(OBJ_DIR)\oedit.obj \
$(OBJ_DIR)\ofile.obj \
$(OBJ_DIR)\jlist.obj \
$(OBJ_DIR)\oini.obj \
$(OBJ_DIR)\jwindow.obj \
$(OBJ_DIR)\ocgi.obj \
$(OBJ_DIR)\oframe.obj \
$(OBJ_DIR)\counter.obj \
$(OBJ_DIR)\errorsys.obj \
$(OBJ_DIR)\htmutil.obj
#
# Our default target
#
all: \
$(TOOLS_LIB) \
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
$(OBJ_DIR)\ohtm.c : ohtm.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\ohtm.obj : $(OBJ_DIR)\ohtm.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\htmbrows.c : htmbrows.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\htmbrows.obj : $(OBJ_DIR)\htmbrows.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\oedit.c : oedit.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\oedit.obj : $(OBJ_DIR)\oedit.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ofile.c : ofile.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\ofile.obj : $(OBJ_DIR)\ofile.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\jlist.c : jlist.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\jlist.obj : $(OBJ_DIR)\jlist.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\oini.c : oini.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\oini.obj : $(OBJ_DIR)\oini.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\jwindow.c : jwindow.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\jwindow.obj : $(OBJ_DIR)\jwindow.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ocgi.c : ocgi.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\ocgi.obj : $(OBJ_DIR)\ocgi.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\oframe.c : oframe.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\oframe.obj : $(OBJ_DIR)\oframe.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\counter.c : counter.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\counter.obj : $(OBJ_DIR)\counter.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\errorsys.c : errorsys.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\errorsys.obj : $(OBJ_DIR)\errorsys.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\htmutil.c : htmutil.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\htmutil.obj : $(OBJ_DIR)\htmutil.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,

View File

@@ -0,0 +1,28 @@
#
# $Id$
#
LIBNAME = html
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\ohtm.obj \
$(OBJ_DIR)\htmbrows.obj \
$(OBJ_DIR)\oedit.obj \
$(OBJ_DIR)\ofile.obj \
$(OBJ_DIR)\jlist.obj \
$(OBJ_DIR)\oini.obj \
$(OBJ_DIR)\jwindow.obj \
$(OBJ_DIR)\ocgi.obj \
$(OBJ_DIR)\oframe.obj \
$(OBJ_DIR)\counter.obj \
$(OBJ_DIR)\errorsys.obj \
$(OBJ_DIR)\htmutil.obj \
all: \
$(LIB_PATH) \

View File

@@ -3,42 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\html.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\html.lib del ..\..\lib\b32\html.lib
if exist ..\..\lib\b32\html.bak del ..\..\lib\b32\html.bak
if exist ..\..\obj\b32\ohtm.obj del ..\..\obj\b32\ads1.obj
if exist ..\..\obj\b32\htmbrows.obj del ..\..\obj\b32\adsfunc.obj
if exist ..\..\obj\b32\oedit.obj del ..\..\obj\b32\adsmgmnt.obj
if exist ..\..\obj\b32\ofile.obj del ..\..\obj\b32\ofile.obj
if exist ..\..\obj\b32\jlist.obj del ..\..\obj\b32\jlist.obj
if exist ..\..\obj\b32\oini.obj del ..\..\obj\b32\oini.obj
if exist ..\..\obj\b32\jwindow.obj del ..\..\obj\b32\jwindow.obj
if exist ..\..\obj\b32\ocgi.obj del ..\..\obj\b32\ocgi.obj
if exist ..\..\obj\b32\oframe.obj del ..\..\obj\b32\oframe.obj
if exist ..\..\obj\b32\counter.obj del ..\..\obj\b32\counter.obj
if exist ..\..\obj\b32\errorsys.obj del ..\..\obj\b32\errorsys.obj
if exist ..\..\obj\b32\htmutil.obj del ..\..\obj\b32\htmutil.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -3,41 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\vc\html.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
notepad make_vc.log
:CLEAN
if exist ..\..\lib\vc\html.lib del ..\..\lib\vc\html.lib
if exist ..\..\lib\vc\html.bak del ..\..\lib\vc\html.bak
if exist ..\..\obj\vc\ohtm.obj del ..\..\obj\vc\ads1.obj
if exist ..\..\obj\vc\htmbrows.obj del ..\..\obj\vc\adsfunc.obj
if exist ..\..\obj\vc\oedit.obj del ..\..\obj\vc\adsmgmnt.obj
if exist ..\..\obj\vc\ofile.obj del ..\..\obj\vc\ofile.obj
if exist ..\..\obj\vc\jlist.obj del ..\..\obj\vc\jlist.obj
if exist ..\..\obj\vc\oini.obj del ..\..\obj\vc\oini.obj
if exist ..\..\obj\vc\jwindow.obj del ..\..\obj\vc\jwindow.obj
if exist ..\..\obj\vc\ocgi.obj del ..\..\obj\vc\ocgi.obj
if exist ..\..\obj\vc\oframe.obj del ..\..\obj\vc\oframe.obj
if exist ..\..\obj\vc\counter.obj del ..\..\obj\vc\counter.obj
if exist ..\..\obj\vc\errorsys.obj del ..\..\obj\vc\errorsys.obj
if exist ..\..\obj\vc\htmutil.obj del ..\..\obj\vc\htmutil.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,114 +0,0 @@
#
# $Id$
#
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
OBJ_DIR = ..\..\obj\vc
LIB_DIR = ..\..\lib\vc
BIN_DIR = ..\..\bin\vc
#
# C compiler definition and C flags. These should never have to change.
#
CC = cl
CFLAGS = -W3 -nologo -I$(INCLUDE_DIR)
CLIBFLAGS = $(CFLAGS) -c
CLIBFLAGSDEBUG = $(CLIBFLAGS) -Zi
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -w2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\html.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
#
# TOOLS.LIB rules
#
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\ohtm.obj \
$(OBJ_DIR)\htmbrows.obj \
$(OBJ_DIR)\oedit.obj \
$(OBJ_DIR)\ofile.obj \
$(OBJ_DIR)\jlist.obj \
$(OBJ_DIR)\oini.obj \
$(OBJ_DIR)\jwindow.obj \
$(OBJ_DIR)\ocgi.obj \
$(OBJ_DIR)\oframe.obj \
$(OBJ_DIR)\counter.obj \
$(OBJ_DIR)\errorsys.obj \
$(OBJ_DIR)\htmutil.obj
#
# Our default target
#
all: \
$(TOOLS_LIB) \
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
lib /OUT:$(TOOLS_LIB) $(TOOLS_LIB_OBJS)
$(OBJ_DIR)\ohtm.obj : ohtm.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\htmbrows.obj : htmbrows.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\oedit.obj : oedit.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\ofile.obj : ofile.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\jlist.obj : jlist.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\oini.obj : oini.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\jwindow.obj : jwindow.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\ocgi.obj : ocgi.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\oframe.obj : oframe.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\counter.obj : counter.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\errorsys.obj : errorsys.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c
$(OBJ_DIR)\htmutil.obj : htmutil.prg
$(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$*.c
$(CC) $(CLIBFLAGS) -Fo$@ $*.c

View File

@@ -3,8 +3,23 @@ rem
rem $Id$
rem
if "%CC_NAME%" == "" set CC_NAME=b32
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
@@ -14,13 +29,15 @@ if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% -f ..\maketpl.%CC_NAME% %1 %2 %3 > make_%CC_NAME%.log
if errorlevel 1 notepad make_%CC_NAME%.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f ..\maketpl.%CC_NAME% CLEAN > make_%CC_NAME%.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
@@ -31,7 +48,7 @@ if "%1" == "INSTALL" goto INSTALL
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f ..\maketpl.%CC_NAME% INSTALL > nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -3,8 +3,23 @@ rem
rem $Id$
rem
if "%CC_NAME%" == "" set CC_NAME=vc
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
@@ -14,13 +29,15 @@ if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% -f ..\maketpl.%CC_NAME% %1 %2 %3 > make_%CC_NAME%.log
if errorlevel 1 notepad make_%CC_NAME%.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f ..\maketpl.%CC_NAME% CLEAN > make_%CC_NAME%.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
@@ -31,7 +48,7 @@ if "%1" == "INSTALL" goto INSTALL
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f ..\maketpl.%CC_NAME% INSTALL > nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,33 @@
#
# $Id$
#
LIBNAME = gt
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\asciisum.obj \
$(OBJ_DIR)\ascpos.obj \
$(OBJ_DIR)\atdiff.obj \
$(OBJ_DIR)\chareven.obj \
$(OBJ_DIR)\charmix.obj \
$(OBJ_DIR)\charodd.obj \
$(OBJ_DIR)\chrcount.obj \
$(OBJ_DIR)\chrfirst.obj \
$(OBJ_DIR)\chrtotal.obj \
$(OBJ_DIR)\strasint.obj \
$(OBJ_DIR)\strcount.obj \
$(OBJ_DIR)\strcspn.obj \
$(OBJ_DIR)\strdiff.obj \
$(OBJ_DIR)\strexpan.obj \
$(OBJ_DIR)\strleft.obj \
$(OBJ_DIR)\strpbrk.obj \
$(OBJ_DIR)\strright.obj
all: \
$(LIB_PATH) \

View File

@@ -1,29 +1,54 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\gt.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,21 +1,54 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\vc\gt.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
:CLEAN
notepad make_vc.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,195 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Borland C/C++ 3.x, 4.x, 5.x compilers
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#
#
# NOTE: "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
#
!if $d(B16)
CC = bcc
AS = tasm
# Borland C/C++ (DOS 16 bits)
CFLAGS = -mh $(CFLAGS)
BIN_DIR = bin\b16
OBJ_DIR = obj\b16
LIB_DIR = lib\b16
!else
CC = bcc32
AS = tasm32
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
ARFLAGS = /P32
!endif
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\gt.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
#
# TOOLS.LIB rules
#
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\asciisum.obj \
$(OBJ_DIR)\ascpos.obj \
$(OBJ_DIR)\atdiff.obj \
$(OBJ_DIR)\chareven.obj \
$(OBJ_DIR)\charmix.obj \
$(OBJ_DIR)\charodd.obj \
$(OBJ_DIR)\chrcount.obj \
$(OBJ_DIR)\chrfirst.obj \
$(OBJ_DIR)\chrtotal.obj \
$(OBJ_DIR)\strasint.obj \
$(OBJ_DIR)\strcount.obj \
$(OBJ_DIR)\strcspn.obj \
$(OBJ_DIR)\strdiff.obj \
$(OBJ_DIR)\strexpan.obj \
$(OBJ_DIR)\strleft.obj \
$(OBJ_DIR)\strpbrk.obj \
$(OBJ_DIR)\strright.obj \
#
# Our default target
#
all: \
$(TOOLS_LIB) \
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
#
# TOOLS.LIB dependencies
#
$(OBJ_DIR)\asciisum.obj : $(TOOLS_DIR)\asciisum.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ascpos.obj : $(TOOLS_DIR)\ascpos.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\atdiff.obj : $(TOOLS_DIR)\atdiff.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\chareven.obj : $(TOOLS_DIR)\chareven.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\charmix.obj : $(TOOLS_DIR)\charmix.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\charodd.obj : $(TOOLS_DIR)\charodd.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\chrcount.obj : $(TOOLS_DIR)\chrcount.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\chrfirst.obj : $(TOOLS_DIR)\chrfirst.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\chrtotal.obj : $(TOOLS_DIR)\chrtotal.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strasint.obj : $(TOOLS_DIR)\strasint.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strcount.obj : $(TOOLS_DIR)\strcount.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strcspn.obj : $(TOOLS_DIR)\strcspn.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strdiff.obj : $(TOOLS_DIR)\strdiff.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strexpan.obj : $(TOOLS_DIR)\strexpan.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strleft.obj : $(TOOLS_DIR)\strleft.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strpbrk.obj : $(TOOLS_DIR)\strpbrk.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strright.obj : $(TOOLS_DIR)\strright.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,

View File

@@ -1,170 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Microsoft Visual C (32 bits)
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# 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.vc 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.
#
MK_FILE = makefile.vc
MK_FLAGS = $(MAKEFLAGS: =)
OBJ_DIR = ..\..\obj\vc
LIB_DIR = ..\..\lib\vc
BIN_DIR = ..\..\bin
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
AS = masm
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\gt.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
.SUFFIXES: .prg .lib .c .obj .asm
# override builtin
.c.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#
#
#
LIBLIST = \
$(TOOLS_LIB)
#
# TOOLS.LIB rules
#
{$(TOOLS_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS) /f$(MK_FILE) $(TOOLS_LIB)2
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\asciisum.obj \
$(OBJ_DIR)\ascpos.obj \
$(OBJ_DIR)\atdiff.obj \
$(OBJ_DIR)\chareven.obj \
$(OBJ_DIR)\charmix.obj \
$(OBJ_DIR)\charodd.obj \
$(OBJ_DIR)\chrcount.obj \
$(OBJ_DIR)\chrfirst.obj \
$(OBJ_DIR)\chrtotal.obj \
$(OBJ_DIR)\strasint.obj \
$(OBJ_DIR)\strcount.obj \
$(OBJ_DIR)\strcspn.obj \
$(OBJ_DIR)\strdiff.obj \
$(OBJ_DIR)\strexpan.obj \
$(OBJ_DIR)\strleft.obj \
$(OBJ_DIR)\strpbrk.obj \
$(OBJ_DIR)\strright.obj
#
# Our default target
#
all: \
$(TOOLS_LIB)
CLEAN:
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
-@if exist $(OBJ_DIR)\asciisum.obj del $(OBJ_DIR)\asciisum.obj
-@if exist $(OBJ_DIR)\ascpos.obj del $(OBJ_DIR)\ascpos.obj
-@if exist $(OBJ_DIR)\atdiff.obj del $(OBJ_DIR)\atdiff.obj
-@if exist $(OBJ_DIR)\chareven.obj del $(OBJ_DIR)\chareven.obj
-@if exist $(OBJ_DIR)\charmix.obj del $(OBJ_DIR)\charmix.obj
-@if exist $(OBJ_DIR)\charodd.obj del $(OBJ_DIR)\charodd.obj
-@if exist $(OBJ_DIR)\chrcount.obj del $(OBJ_DIR)\chrcount.obj
-@if exist $(OBJ_DIR)\chrfirst.obj del $(OBJ_DIR)\chrfirst.obj
-@if exist $(OBJ_DIR)\chrtotal.obj del $(OBJ_DIR)\chrtotal.obj
-@if exist $(OBJ_DIR)\strasint.obj del $(OBJ_DIR)\strasint.obj
-@if exist $(OBJ_DIR)\strcount.obj del $(OBJ_DIR)\strcount.obj
-@if exist $(OBJ_DIR)\strcspn.obj del $(OBJ_DIR)\strcspn.obj
-@if exist $(OBJ_DIR)\strdiff.obj del $(OBJ_DIR)\strdiff.obj
-@if exist $(OBJ_DIR)\strexpan.obj del $(OBJ_DIR)\strexpan.obj
-@if exist $(OBJ_DIR)\strleft.obj del $(OBJ_DIR)\strleft.obj
-@if exist $(OBJ_DIR)\strpbrk.obj del $(OBJ_DIR)\strpbrk.obj
-@if exist $(OBJ_DIR)\strright.obj del $(OBJ_DIR)\strright.obj
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
lib /out:$@ $**
# dummy targets used for prg to c creation
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)

View File

@@ -0,0 +1,29 @@
#
# $Id$
#
LIBNAME = libmisc
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\dates2.obj \
$(OBJ_DIR)\dbftools.obj \
$(OBJ_DIR)\hb_f.obj \
$(OBJ_DIR)\mathx.obj \
$(OBJ_DIR)\strfmt.obj \
$(OBJ_DIR)\stringsx.obj \
\
$(OBJ_DIR)\fileread.obj \
$(OBJ_DIR)\nconvert.obj \
$(OBJ_DIR)\numtxten.obj \
$(OBJ_DIR)\numtxthu.obj \
$(OBJ_DIR)\stringp.obj \
$(OBJ_DIR)\twirler.obj
all: \
$(LIB_PATH) \

View File

@@ -1,29 +1,54 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\libmisc.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,21 +1,54 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\vc\libmisc.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
:CLEAN
notepad make_vc.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,188 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Borland C/C++ 3.x, 4.x, 5.x compilers
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#
#
# NOTE: "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
#
!if $d(B16)
CC = bcc
AS = tasm
# Borland C/C++ (DOS 16 bits)
CFLAGS = -mh $(CFLAGS)
BIN_DIR = bin\b16
OBJ_DIR = obj\b16
LIB_DIR = lib\b16
!else
CC = bcc32
AS = tasm32
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
ARFLAGS = /P32
!endif
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\libmisc.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
#
# TOOLS.LIB rules
#
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\dates2.obj \
$(OBJ_DIR)\dbftools.obj \
$(OBJ_DIR)\hb_f.obj \
$(OBJ_DIR)\mathx.obj \
$(OBJ_DIR)\strfmt.obj \
$(OBJ_DIR)\stringsx.obj \
\
$(OBJ_DIR)\fileread.obj \
$(OBJ_DIR)\nconvert.obj \
$(OBJ_DIR)\numtxten.obj \
$(OBJ_DIR)\numtxthu.obj \
$(OBJ_DIR)\stringp.obj \
$(OBJ_DIR)\twirler.obj
#
# Our default target
#
all: \
$(TOOLS_LIB) \
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
#
# TOOLS.LIB dependencies
#
$(OBJ_DIR)\dates2.obj : $(TOOLS_DIR)\dates2.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dbftools.obj : $(TOOLS_DIR)\dbftools.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\fileread.c : $(TOOLS_DIR)\fileread.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\fileread.obj : $(OBJ_DIR)\fileread.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\hb_f.obj : $(TOOLS_DIR)\hb_f.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\mathx.obj : $(TOOLS_DIR)\mathx.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\nconvert.c : $(TOOLS_DIR)\nconvert.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\nconvert.obj : $(OBJ_DIR)\nconvert.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\numtxten.c : $(TOOLS_DIR)\numtxten.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\numtxten.obj : $(OBJ_DIR)\numtxten.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\numtxthu.c : $(TOOLS_DIR)\numtxthu.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\numtxthu.obj : $(OBJ_DIR)\numtxthu.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\strfmt.obj : $(TOOLS_DIR)\strfmt.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\stringp.c : $(TOOLS_DIR)\stringp.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\stringp.obj : $(OBJ_DIR)\stringp.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\stringsx.obj : $(TOOLS_DIR)\stringsx.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\twirler.c : $(TOOLS_DIR)\twirler.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\twirler.obj : $(OBJ_DIR)\twirler.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,

View File

@@ -1,159 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Microsoft Visual C (32 bits)
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# 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.vc 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.
#
MK_FILE = makefile.vc
MK_FLAGS = $(MAKEFLAGS: =)
OBJ_DIR = ..\..\obj\vc
LIB_DIR = ..\..\lib\vc
BIN_DIR = ..\..\bin\vc
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
AS = masm
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\libmisc.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
.SUFFIXES: .prg .lib .c .obj .asm
# override builtin
.c.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#
#
#
LIBLIST = \
$(TOOLS_LIB) \
#
# TOOLS.LIB rules
#
{$(TOOLS_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS) /f$(MK_FILE) $(TOOLS_LIB)2
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\dates2.obj \
$(OBJ_DIR)\dbftools.obj \
$(OBJ_DIR)\hb_f.obj \
$(OBJ_DIR)\mathx.obj \
$(OBJ_DIR)\strfmt.obj \
$(OBJ_DIR)\stringsx.obj \
\
$(OBJ_DIR)\fileread.obj \
$(OBJ_DIR)\nconvert.obj \
$(OBJ_DIR)\numtxten.obj \
$(OBJ_DIR)\numtxthu.obj \
$(OBJ_DIR)\stringp.obj \
$(OBJ_DIR)\twirler.obj
#
# Our default target
#
all: \
$(TOOLS_LIB)
CLEAN:
-@if exist $(OBJ_DIR)\dates2.obj del $(OBJ_DIR)\dates2.obj
-@if exist $(OBJ_DIR)\dbftools.obj del $(OBJ_DIR)\dbftools.obj
-@if exist $(OBJ_DIR)\hb_f.obj del $(OBJ_DIR)\hb_f.obj
-@if exist $(OBJ_DIR)\mathx.obj del $(OBJ_DIR)\mathx.obj
-@if exist $(OBJ_DIR)\strfmt.obj del $(OBJ_DIR)\strfmt.obj
-@if exist $(OBJ_DIR)\stringsx.obj del $(OBJ_DIR)\stringsx.obj
-@if exist $(OBJ_DIR)\fileread.* del $(OBJ_DIR)\fileread.*
-@if exist $(OBJ_DIR)\nconvert.* del $(OBJ_DIR)\nconvert.*
-@if exist $(OBJ_DIR)\numtxten.* del $(OBJ_DIR)\numtxten.*
-@if exist $(OBJ_DIR)\numtxthu.* del $(OBJ_DIR)\numtxthu.*
-@if exist $(OBJ_DIR)\stringp.* del $(OBJ_DIR)\stringp.*
-@if exist $(OBJ_DIR)\twirler.* del $(OBJ_DIR)\twirler.*
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
lib /out:$@ $**
# dummy targets used for prg to c creation
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)

View File

@@ -0,0 +1,150 @@
#
# $Id$
#
LIBNAME = nf
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\caplock.obj \
$(OBJ_DIR)\color2n.obj \
$(OBJ_DIR)\descend.obj \
$(OBJ_DIR)\numlock.obj \
$(OBJ_DIR)\proper.obj \
$(OBJ_DIR)\shift.obj \
$(OBJ_DIR)\mouse.obj \
$(OBJ_DIR)\getvid.obj \
$(OBJ_DIR)\setkeys.obj \
$(OBJ_DIR)\setlastk.obj \
$(OBJ_DIR)\ftisprn.obj \
$(OBJ_DIR)\ftidle.obj \
$(OBJ_DIR)\iamidle.obj \
$(OBJ_DIR)\chdir.obj \
$(OBJ_DIR)\rmdir.obj \
$(OBJ_DIR)\alt.obj \
$(OBJ_DIR)\ctrl.obj \
$(OBJ_DIR)\getenvrn.obj \
$(OBJ_DIR)\n2color.obj \
$(OBJ_DIR)\origin.obj \
$(OBJ_DIR)\prtscr.obj \
$(OBJ_DIR)\stod.obj \
$(OBJ_DIR)\kspeed.obj \
$(OBJ_DIR)\mkdir.obj \
$(OBJ_DIR)\getver.obj \
$(OBJ_DIR)\ftattr.obj \
$(OBJ_DIR)\dispc.obj \
$(OBJ_DIR)\fttext.obj \
$(OBJ_DIR)\ftshadow.obj \
$(OBJ_DIR)\putkey.obj \
\
$(OBJ_DIR)\aading.obj \
$(OBJ_DIR)\aavg.obj \
$(OBJ_DIR)\acctadj.obj \
$(OBJ_DIR)\acctmnth.obj \
$(OBJ_DIR)\acctqtr.obj \
$(OBJ_DIR)\acctweek.obj \
$(OBJ_DIR)\acctyear.obj \
$(OBJ_DIR)\adessort.obj \
$(OBJ_DIR)\aemaxlen.obj \
$(OBJ_DIR)\aeminlen.obj \
$(OBJ_DIR)\amedian.obj \
$(OBJ_DIR)\anomatch.obj \
$(OBJ_DIR)\any2any.obj \
$(OBJ_DIR)\aredit.obj \
$(OBJ_DIR)\asum.obj \
$(OBJ_DIR)\at2.obj \
$(OBJ_DIR)\bitclr.obj \
$(OBJ_DIR)\bitset.obj \
$(OBJ_DIR)\blink.obj \
$(OBJ_DIR)\byt2bit.obj \
$(OBJ_DIR)\byt2hex.obj \
$(OBJ_DIR)\byteand.obj \
$(OBJ_DIR)\byteneg.obj \
$(OBJ_DIR)\bytenot.obj \
$(OBJ_DIR)\byteor.obj \
$(OBJ_DIR)\bytexor.obj \
$(OBJ_DIR)\calendar.obj \
$(OBJ_DIR)\clrsel.obj \
$(OBJ_DIR)\cntryset.obj \
$(OBJ_DIR)\d2e.obj \
$(OBJ_DIR)\datecnfg.obj \
$(OBJ_DIR)\dayofyr.obj \
$(OBJ_DIR)\daytobow.obj \
$(OBJ_DIR)\dectobin.obj \
$(OBJ_DIR)\diskfunc.obj \
$(OBJ_DIR)\dispmsg.obj \
$(OBJ_DIR)\dosver.obj \
$(OBJ_DIR)\e2d.obj \
$(OBJ_DIR)\easter.obj \
$(OBJ_DIR)\elapmil.obj \
$(OBJ_DIR)\elapsed.obj \
$(OBJ_DIR)\eltime.obj \
$(OBJ_DIR)\findith.obj \
$(OBJ_DIR)\firstday.obj \
$(OBJ_DIR)\gcd.obj \
$(OBJ_DIR)\hex2dec.obj \
$(OBJ_DIR)\invclr.obj \
$(OBJ_DIR)\isbit.obj \
$(OBJ_DIR)\isbiton.obj \
$(OBJ_DIR)\isshare.obj \
$(OBJ_DIR)\lastday.obj \
$(OBJ_DIR)\linked.obj \
$(OBJ_DIR)\madd.obj \
$(OBJ_DIR)\menu1.obj \
$(OBJ_DIR)\menuto.obj \
$(OBJ_DIR)\metaph.obj \
$(OBJ_DIR)\miltime.obj \
$(OBJ_DIR)\min2dhm.obj \
$(OBJ_DIR)\month.obj \
$(OBJ_DIR)\mouse1.obj \
$(OBJ_DIR)\netpv.obj \
$(OBJ_DIR)\nooccur.obj \
$(OBJ_DIR)\ntow.obj \
$(OBJ_DIR)\nwlstat.obj \
$(OBJ_DIR)\page.obj \
$(OBJ_DIR)\pchr.obj \
$(OBJ_DIR)\pegs.obj \
$(OBJ_DIR)\pending.obj \
$(OBJ_DIR)\pickday.obj \
$(OBJ_DIR)\popadder.obj \
$(OBJ_DIR)\prtesc.obj \
$(OBJ_DIR)\pvid.obj \
$(OBJ_DIR)\qtr.obj \
$(OBJ_DIR)\rand1.obj \
$(OBJ_DIR)\restsets.obj \
$(OBJ_DIR)\ftround.obj \
$(OBJ_DIR)\savearr.obj \
$(OBJ_DIR)\savesets.obj \
$(OBJ_DIR)\scregion.obj \
$(OBJ_DIR)\sinkey.obj \
$(OBJ_DIR)\sleep.obj \
$(OBJ_DIR)\sqzn.obj \
$(OBJ_DIR)\tbwhile.obj \
$(OBJ_DIR)\tempfile.obj \
$(OBJ_DIR)\vertmenu.obj \
$(OBJ_DIR)\vidmode.obj \
$(OBJ_DIR)\wda.obj \
$(OBJ_DIR)\week.obj \
$(OBJ_DIR)\workdays.obj \
$(OBJ_DIR)\woy.obj \
$(OBJ_DIR)\xbox.obj \
$(OBJ_DIR)\year.obj
# $(OBJ_DIR)\sysmem.obj \
# $(OBJ_DIR)\dfile.obj \
# $(OBJ_DIR)\vidcur.obj \
# $(OBJ_DIR)\scancode.obj \
# $(OBJ_DIR)\setdate.obj \
# $(OBJ_DIR)\settime.obj \
# $(OBJ_DIR)\nwsem.obj \
# $(OBJ_DIR)\nwuid.obj \
# $(OBJ_DIR)\floptst.obj
all: \
$(LIB_PATH) \

View File

@@ -3,27 +3,52 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\nf.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,21 +1,54 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\vc\nf.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
:CLEAN
notepad make_vc.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,970 +0,0 @@
#
# $Id$
#
#
# Makefile for Nanfor Library for Borland C/C++ 3.x, 4.x, 5.x compilers
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# 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)
#
#
# NOTE: "echo." intentionally used instead of "echo", to avoid conflicts
# with external commands named echo.
#
!if $d(B16)
CC = bcc
AS = tasm /ml
# Borland C/C++ (DOS 16 bits)
CFLAGS = -mh $(CFLAGS)
BIN_DIR = ..\..\bin\b16
OBJ_DIR = ..\..\obj\b16
LIB_DIR = ..\..\lib\b16
!else
CC = bcc32
AS = tasm32
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
ARFLAGS = /P32
!endif
!if !$d(BCC_NOOPTIM)
CFLAGS = -O2 $(CFLAGS)
!endif
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
!if $d(B16)
HARBOUR_EXE = ..\..\bin\b16\harbour.exe
!else
HARBOUR_EXE = ..\..\bin\b32\harbour.exe
!endif
#
# C compiler definition and C flags. These should never have to change.
#
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS) -DHB_LANG_DEFAULT=$(HB_LANG_DEFAULT)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
NANFOR_LIB = $(LIB_DIR)\nf.lib
NANFOR_LIB_OBJ = \
$(OBJ_DIR)\aading.obj \
$(OBJ_DIR)\aavg.obj \
$(OBJ_DIR)\acctadj.obj \
$(OBJ_DIR)\acctmnth.obj \
$(OBJ_DIR)\acctqtr.obj \
$(OBJ_DIR)\acctweek.obj \
$(OBJ_DIR)\acctyear.obj \
$(OBJ_DIR)\adessort.obj \
$(OBJ_DIR)\aemaxlen.obj \
$(OBJ_DIR)\aeminlen.obj \
$(OBJ_DIR)\amedian.obj \
$(OBJ_DIR)\anomatch.obj \
$(OBJ_DIR)\any2any.obj \
$(OBJ_DIR)\aredit.obj \
$(OBJ_DIR)\asum.obj \
$(OBJ_DIR)\at2.obj \
$(OBJ_DIR)\bitclr.obj \
$(OBJ_DIR)\bitset.obj \
$(OBJ_DIR)\blink.obj \
$(OBJ_DIR)\byt2bit.obj \
$(OBJ_DIR)\byt2hex.obj \
$(OBJ_DIR)\byteand.obj \
$(OBJ_DIR)\byteneg.obj \
$(OBJ_DIR)\bytenot.obj \
$(OBJ_DIR)\byteor.obj \
$(OBJ_DIR)\bytexor.obj \
$(OBJ_DIR)\calendar.obj \
$(OBJ_DIR)\clrsel.obj \
$(OBJ_DIR)\cntryset.obj \
$(OBJ_DIR)\d2e.obj \
$(OBJ_DIR)\datecnfg.obj \
$(OBJ_DIR)\dayofyr.obj \
$(OBJ_DIR)\daytobow.obj \
$(OBJ_DIR)\dectobin.obj \
$(OBJ_DIR)\dfile.obj \
$(OBJ_DIR)\diskfunc.obj \
$(OBJ_DIR)\dispmsg.obj \
$(OBJ_DIR)\dosver.obj \
$(OBJ_DIR)\e2d.obj \
$(OBJ_DIR)\easter.obj \
$(OBJ_DIR)\elapmil.obj \
$(OBJ_DIR)\elapsed.obj \
$(OBJ_DIR)\eltime.obj \
$(OBJ_DIR)\findith.obj \
$(OBJ_DIR)\firstday.obj \
$(OBJ_DIR)\gcd.obj \
$(OBJ_DIR)\hex2dec.obj \
$(OBJ_DIR)\invclr.obj \
$(OBJ_DIR)\isbit.obj \
$(OBJ_DIR)\isbiton.obj \
$(OBJ_DIR)\isshare.obj \
$(OBJ_DIR)\lastday.obj \
$(OBJ_DIR)\linked.obj \
$(OBJ_DIR)\madd.obj \
$(OBJ_DIR)\menu1.obj \
$(OBJ_DIR)\menuto.obj \
$(OBJ_DIR)\metaph.obj \
$(OBJ_DIR)\miltime.obj \
$(OBJ_DIR)\min2dhm.obj \
$(OBJ_DIR)\month.obj \
$(OBJ_DIR)\mouse1.obj \
$(OBJ_DIR)\netpv.obj \
$(OBJ_DIR)\nooccur.obj \
$(OBJ_DIR)\ntow.obj \
$(OBJ_DIR)\nwlstat.obj \
$(OBJ_DIR)\pchr.obj \
$(OBJ_DIR)\pegs.obj \
$(OBJ_DIR)\pending.obj \
$(OBJ_DIR)\pickday.obj \
$(OBJ_DIR)\popadder.obj \
$(OBJ_DIR)\prtesc.obj \
$(OBJ_DIR)\pvid.obj \
$(OBJ_DIR)\qtr.obj \
$(OBJ_DIR)\rand1.obj \
$(OBJ_DIR)\restsets.obj \
$(OBJ_DIR)\ftround.obj \
$(OBJ_DIR)\savearr.obj \
$(OBJ_DIR)\savesets.obj \
$(OBJ_DIR)\scregion.obj \
$(OBJ_DIR)\sinkey.obj \
$(OBJ_DIR)\sleep.obj \
$(OBJ_DIR)\sqzn.obj \
$(OBJ_DIR)\tbwhile.obj \
$(OBJ_DIR)\vertmenu.obj \
$(OBJ_DIR)\wda.obj \
$(OBJ_DIR)\week.obj \
$(OBJ_DIR)\workdays.obj \
$(OBJ_DIR)\woy.obj \
$(OBJ_DIR)\xbox.obj \
$(OBJ_DIR)\year.obj \
$(OBJ_DIR)\vidmode.obj \
$(OBJ_DIR)\page.obj \
$(OBJ_DIR)\tempfile.obj \
\
$(OBJ_DIR)\caplock.obj \
$(OBJ_DIR)\color2n.obj \
$(OBJ_DIR)\descend.obj \
$(OBJ_DIR)\numlock.obj \
$(OBJ_DIR)\proper.obj \
$(OBJ_DIR)\shift.obj \
$(OBJ_DIR)\mouse.obj \
$(OBJ_DIR)\getvid.obj \
$(OBJ_DIR)\chdir.obj \
$(OBJ_DIR)\rmdir.obj \
$(OBJ_DIR)\alt.obj \
$(OBJ_DIR)\ctrl.obj \
$(OBJ_DIR)\getenvrn.obj \
$(OBJ_DIR)\n2color.obj \
$(OBJ_DIR)\origin.obj \
$(OBJ_DIR)\prtscr.obj \
$(OBJ_DIR)\stod.obj \
$(OBJ_DIR)\kspeed.obj \
$(OBJ_DIR)\mkdir.obj \
$(OBJ_DIR)\getver.obj \
$(OBJ_DIR)\ftattr.obj \
$(OBJ_DIR)\dispc.obj \
$(OBJ_DIR)\setkeys.obj \
$(OBJ_DIR)\setlastk.obj \
$(OBJ_DIR)\iamidle.obj \
$(OBJ_DIR)\ftidle.obj \
$(OBJ_DIR)\ftisprn.obj \
$(OBJ_DIR)\fttext.obj \
$(OBJ_DIR)\ftshadow.obj \
$(OBJ_DIR)\putkey.obj
# $(OBJ_DIR)\sysmem.obj \
# $(OBJ_DIR)\vidcur.obj \
# $(OBJ_DIR)\scancode.obj \
# $(OBJ_DIR)\setdate.obj \
# $(OBJ_DIR)\settime.obj \
# $(OBJ_DIR)\nwsem.obj \
# $(OBJ_DIR)\nwuid.obj \
# $(OBJ_DIR)\floptst.obj \
all: \
$(NANFOR_LIB)
$(NANFOR_LIB) : $(NANFOR_LIB_OBJ)
$(OBJ_DIR)\isbiton.c : isbiton.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\isbiton.obj : $(OBJ_DIR)\isbiton.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\mouse1.c : mouse1.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\acctadj.c : acctadj.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\aeminlen.c : aeminlen.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\lastday.c : lastday.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\restsets.c : restsets.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\acctyear.c : acctyear.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\datecnfg.c : datecnfg.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\adessort.c : adessort.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\anomatch.c : anomatch.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\any2any.c : any2any.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\asum.c : asum.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\bitclr.c : bitclr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\bitset.c : bitset.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\tbwhile.c : tbwhile.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\blink.c : blink.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\byt2bit.c : byt2bit.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\byt2hex.c : byt2hex.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\byteand.c : byteand.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\byteneg.c : byteneg.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\byteor.c : byteor.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\daytobow.c : daytobow.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\clrsel.c : clrsel.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\cntryset.c : cntryset.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\elapsed.c : elapsed.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\woy.c : woy.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\dectobin.c : dectobin.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\hex2dec.c : hex2dec.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\e2d.c : e2d.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\vidcur.c : vidcur.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\elapmil.c : elapmil.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\dosver.c : dosver.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\findith.c : findith.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\firstday.c : firstday.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\gcd.c : gcd.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\min2dhm.c : min2dhm.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\invclr.c : invclr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\isbit.c : isbit.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\isshare.c : isshare.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\popadder.c : popadder.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\menuto.c : menuto.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\month.c : month.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\metaph.c : metaph.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\miltime.c : miltime.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\netpv.c : netpv.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\nooccur.c : nooccur.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\nwuid.c : nwuid.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\sysmem.c : sysmem.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\pickday.c : pickday.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\prtesc.c : prtesc.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\week.c : week.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\rand1.c : rand1.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\scancode.c : scancode.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\wda.c : wda.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\setdate.c : setdate.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\sqzn.c : sqzn.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\menu1.c : menu1.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\vertmenu.c : vertmenu.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\aavg.c : aavg.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\acctweek.c : acctweek.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\bytenot.c : bytenot.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\pchr.c : pchr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\d2e.c : d2e.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\xbox.c : xbox.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\acctqtr.c : acctqtr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\savesets.c : savesets.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\dayofyr.c : dayofyr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\dispmsg.c : dispmsg.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\page.c : page.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\pending.c : pending.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\amedian.c : amedian.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\calendar.c : calendar.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\year.c : year.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\easter.c : easter.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\ftround.c : ftround.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\aemaxlen.c : aemaxlen.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\aading.c : aading.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\qtr.c : qtr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\madd.c : madd.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\scregion.c : scregion.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\linked.c : linked.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\sleep.c : sleep.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\ntow.c : ntow.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\aredit.c : aredit.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\at2.c : at2.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\nwlstat.c : nwlstat.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\tempfile.c : tempfile.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\settime.c : settime.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\sinkey.c : sinkey.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\vidmode.c : vidmode.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\eltime.c : eltime.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\nwsem.c : nwsem.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\diskfunc.c : diskfunc.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\pvid.c : pvid.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\bytexor.c : bytexor.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\dfile.c : dfile.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\acctmnth.c : acctmnth.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\pegs.c : pegs.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\workdays.c : workdays.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\savearr.c : savearr.prg
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
#$(OBJ_DIR)\floptst.c : floptst.prg
# $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
$(OBJ_DIR)\mouse1.obj : $(OBJ_DIR)\mouse1.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\acctadj.obj : $(OBJ_DIR)\acctadj.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\aeminlen.obj : $(OBJ_DIR)\aeminlen.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\lastday.obj : $(OBJ_DIR)\lastday.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\restsets.obj : $(OBJ_DIR)\restsets.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\acctyear.obj : $(OBJ_DIR)\acctyear.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\datecnfg.obj : $(OBJ_DIR)\datecnfg.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\adessort.obj : $(OBJ_DIR)\adessort.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\anomatch.obj : $(OBJ_DIR)\anomatch.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\any2any.obj : $(OBJ_DIR)\any2any.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\asum.obj : $(OBJ_DIR)\asum.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\bitclr.obj : $(OBJ_DIR)\bitclr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\bitset.obj : $(OBJ_DIR)\bitset.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\tbwhile.obj : $(OBJ_DIR)\tbwhile.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\blink.obj : $(OBJ_DIR)\blink.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\byt2bit.obj : $(OBJ_DIR)\byt2bit.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\byt2hex.obj : $(OBJ_DIR)\byt2hex.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\byteand.obj : $(OBJ_DIR)\byteand.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\byteneg.obj : $(OBJ_DIR)\byteneg.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\byteor.obj : $(OBJ_DIR)\byteor.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\daytobow.obj : $(OBJ_DIR)\daytobow.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\clrsel.obj : $(OBJ_DIR)\clrsel.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\cntryset.obj : $(OBJ_DIR)\cntryset.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\elapsed.obj : $(OBJ_DIR)\elapsed.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\woy.obj : $(OBJ_DIR)\woy.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dectobin.obj : $(OBJ_DIR)\dectobin.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\hex2dec.obj : $(OBJ_DIR)\hex2dec.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\e2d.obj : $(OBJ_DIR)\e2d.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\vidcur.obj : $(OBJ_DIR)\vidcur.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\elapmil.obj : $(OBJ_DIR)\elapmil.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dosver.obj : $(OBJ_DIR)\dosver.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\findith.obj : $(OBJ_DIR)\findith.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\firstday.obj : $(OBJ_DIR)\firstday.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\gcd.obj : $(OBJ_DIR)\gcd.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\min2dhm.obj : $(OBJ_DIR)\min2dhm.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\invclr.obj : $(OBJ_DIR)\invclr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\isbit.obj : $(OBJ_DIR)\isbit.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\isshare.obj : $(OBJ_DIR)\isshare.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\popadder.obj : $(OBJ_DIR)\popadder.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\menuto.obj : $(OBJ_DIR)\menuto.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\month.obj : $(OBJ_DIR)\month.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\metaph.obj : $(OBJ_DIR)\metaph.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\miltime.obj : $(OBJ_DIR)\miltime.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\netpv.obj : $(OBJ_DIR)\netpv.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\nooccur.obj : $(OBJ_DIR)\nooccur.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\nwuid.obj : $(OBJ_DIR)\nwuid.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\sysmem.obj : $(OBJ_DIR)\sysmem.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\pickday.obj : $(OBJ_DIR)\pickday.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\prtesc.obj : $(OBJ_DIR)\prtesc.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\week.obj : $(OBJ_DIR)\week.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\rand1.obj : $(OBJ_DIR)\rand1.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\scancode.obj : $(OBJ_DIR)\scancode.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\wda.obj : $(OBJ_DIR)\wda.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\setdate.obj : $(OBJ_DIR)\setdate.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\sqzn.obj : $(OBJ_DIR)\sqzn.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\menu1.obj : $(OBJ_DIR)\menu1.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\vertmenu.obj : $(OBJ_DIR)\vertmenu.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\aavg.obj : $(OBJ_DIR)\aavg.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\acctweek.obj : $(OBJ_DIR)\acctweek.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\bytenot.obj : $(OBJ_DIR)\bytenot.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\pchr.obj : $(OBJ_DIR)\pchr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\d2e.obj : $(OBJ_DIR)\d2e.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\xbox.obj : $(OBJ_DIR)\xbox.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\acctqtr.obj : $(OBJ_DIR)\acctqtr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\savesets.obj : $(OBJ_DIR)\savesets.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dayofyr.obj : $(OBJ_DIR)\dayofyr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dispmsg.obj : $(OBJ_DIR)\dispmsg.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\page.obj : $(OBJ_DIR)\page.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\pending.obj : $(OBJ_DIR)\pending.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\amedian.obj : $(OBJ_DIR)\amedian.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\calendar.obj : $(OBJ_DIR)\calendar.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\year.obj : $(OBJ_DIR)\year.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\easter.obj : $(OBJ_DIR)\easter.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ftround.obj : $(OBJ_DIR)\ftround.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\aemaxlen.obj : $(OBJ_DIR)\aemaxlen.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\aading.obj : $(OBJ_DIR)\aading.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\qtr.obj : $(OBJ_DIR)\qtr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\madd.obj : $(OBJ_DIR)\madd.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\scregion.obj : $(OBJ_DIR)\scregion.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\linked.obj : $(OBJ_DIR)\linked.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\sleep.obj : $(OBJ_DIR)\sleep.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ntow.obj : $(OBJ_DIR)\ntow.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\aredit.obj : $(OBJ_DIR)\aredit.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\at2.obj : $(OBJ_DIR)\at2.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\nwlstat.obj : $(OBJ_DIR)\nwlstat.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\tempfile.obj : $(OBJ_DIR)\tempfile.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\settime.obj : $(OBJ_DIR)\settime.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\sinkey.obj : $(OBJ_DIR)\sinkey.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\vidmode.obj : $(OBJ_DIR)\vidmode.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\eltime.obj : $(OBJ_DIR)\eltime.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\nwsem.obj : $(OBJ_DIR)\nwsem.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\diskfunc.obj : $(OBJ_DIR)\diskfunc.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\pvid.obj : $(OBJ_DIR)\pvid.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\bytexor.obj : $(OBJ_DIR)\bytexor.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dfile.obj : $(OBJ_DIR)\dfile.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\acctmnth.obj : $(OBJ_DIR)\acctmnth.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\pegs.obj : $(OBJ_DIR)\pegs.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\workdays.obj : $(OBJ_DIR)\workdays.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\savearr.obj : $(OBJ_DIR)\savearr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
#$(OBJ_DIR)\floptst.obj : $(OBJ_DIR)\floptst.c
# $(CC) $(CLIBFLAGS) -o$@ $**
# tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\caplock.obj : caplock.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\shift.obj : shift.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\color2n.obj : color2n.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\descend.obj : descend.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\numlock.obj : numlock.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\proper.obj : proper.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\mouse.obj : mouse.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\getvid.obj : getvid.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\chdir.obj : chdir.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\rmdir.obj : rmdir.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\alt.obj : alt.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ctrl.obj : ctrl.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\getenvrn.obj : getenvrn.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\n2color.obj : n2color.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\origin.obj : origin.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\prtscr.obj : prtscr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\stod.obj : stod.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\kspeed.obj : kspeed.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\mkdir.obj : mkdir.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\getver.obj : getver.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\setkeys.obj : setkeys.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\setlastk.obj : setlastk.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ftisprn.obj : ftisprn.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ftidle.obj : ftidle.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\iamidle.obj : iamidle.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\dispc.obj : dispc.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ftattr.obj : ftattr.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\fttext.obj : fttext.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\ftshadow.obj : ftshadow.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,
$(OBJ_DIR)\putkey.obj : putkey.c
$(CC) $(CLIBFLAGS) -o$@ $**
tlib $(NANFOR_LIB) $(ARFLAGS) -+$@,,

View File

@@ -1,391 +0,0 @@
#
# $Id$
#
#
# Makefile for Harbour Project for Microsoft Visual C (32 bits)
#
#
# 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 libraries
# HARBOURFLAGS - Extra Harbour compiler options
# 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.vc 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.
#
MK_FILE = makefile.vc
MK_FLAGS = $(MAKEFLAGS: =)
OBJ_DIR = ..\..\obj\vc
LIB_DIR = ..\..\lib\vc
BIN_DIR = ..\..\bin
#
# Directory macros. These should never have to change.
#
INCLUDE_DIR = ..\..\include
TOOLS_DIR = .
#
# C compiler definition and C flags. These should never have to change.
#
AS = masm
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
#
# Macros to access our library names
#
TOOLS_LIB = $(LIB_DIR)\nf.lib
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#
# Rules
#
.SUFFIXES: .prg .lib .c .obj .asm
# override builtin
.c.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#
#
#
LIBLIST = \
$(TOOLS_LIB)
#
# TOOLS.LIB rules
#
{$(TOOLS_DIR)}.c{$(OBJ_DIR)}.obj::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.obj::
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(MAKE) -nologo /$(MK_FLAGS) /f$(MK_FILE) $(TOOLS_LIB)2
TOOLS_LIB_OBJS = \
$(OBJ_DIR)\caplock.obj \
$(OBJ_DIR)\color2n.obj \
$(OBJ_DIR)\descend.obj \
$(OBJ_DIR)\numlock.obj \
$(OBJ_DIR)\proper.obj \
$(OBJ_DIR)\shift.obj \
$(OBJ_DIR)\mouse.obj \
$(OBJ_DIR)\getvid.obj \
$(OBJ_DIR)\setkeys.obj \
$(OBJ_DIR)\setlastk.obj \
$(OBJ_DIR)\ftisprn.obj \
$(OBJ_DIR)\ftidle.obj \
$(OBJ_DIR)\iamidle.obj \
$(OBJ_DIR)\chdir.obj \
$(OBJ_DIR)\rmdir.obj \
$(OBJ_DIR)\alt.obj \
$(OBJ_DIR)\ctrl.obj \
$(OBJ_DIR)\getenvrn.obj \
$(OBJ_DIR)\n2color.obj \
$(OBJ_DIR)\origin.obj \
$(OBJ_DIR)\prtscr.obj \
$(OBJ_DIR)\stod.obj \
$(OBJ_DIR)\kspeed.obj \
$(OBJ_DIR)\mkdir.obj \
$(OBJ_DIR)\getver.obj \
$(OBJ_DIR)\ftattr.obj \
$(OBJ_DIR)\dispc.obj \
$(OBJ_DIR)\fttext.obj \
$(OBJ_DIR)\ftshadow.obj \
$(OBJ_DIR)\putkey.obj \
\
$(OBJ_DIR)\aading.obj \
$(OBJ_DIR)\aavg.obj \
$(OBJ_DIR)\acctadj.obj \
$(OBJ_DIR)\acctmnth.obj \
$(OBJ_DIR)\acctqtr.obj \
$(OBJ_DIR)\acctweek.obj \
$(OBJ_DIR)\acctyear.obj \
$(OBJ_DIR)\adessort.obj \
$(OBJ_DIR)\aemaxlen.obj \
$(OBJ_DIR)\aeminlen.obj \
$(OBJ_DIR)\amedian.obj \
$(OBJ_DIR)\anomatch.obj \
$(OBJ_DIR)\any2any.obj \
$(OBJ_DIR)\aredit.obj \
$(OBJ_DIR)\asum.obj \
$(OBJ_DIR)\at2.obj \
$(OBJ_DIR)\bitclr.obj \
$(OBJ_DIR)\bitset.obj \
$(OBJ_DIR)\blink.obj \
$(OBJ_DIR)\byt2bit.obj \
$(OBJ_DIR)\byt2hex.obj \
$(OBJ_DIR)\byteand.obj \
$(OBJ_DIR)\byteneg.obj \
$(OBJ_DIR)\bytenot.obj \
$(OBJ_DIR)\byteor.obj \
$(OBJ_DIR)\bytexor.obj \
$(OBJ_DIR)\calendar.obj \
$(OBJ_DIR)\clrsel.obj \
$(OBJ_DIR)\cntryset.obj \
$(OBJ_DIR)\d2e.obj \
$(OBJ_DIR)\datecnfg.obj \
$(OBJ_DIR)\dayofyr.obj \
$(OBJ_DIR)\daytobow.obj \
$(OBJ_DIR)\dectobin.obj \
$(OBJ_DIR)\diskfunc.obj \
$(OBJ_DIR)\dispmsg.obj \
$(OBJ_DIR)\dosver.obj \
$(OBJ_DIR)\e2d.obj \
$(OBJ_DIR)\easter.obj \
$(OBJ_DIR)\elapmil.obj \
$(OBJ_DIR)\elapsed.obj \
$(OBJ_DIR)\eltime.obj \
$(OBJ_DIR)\findith.obj \
$(OBJ_DIR)\firstday.obj \
$(OBJ_DIR)\gcd.obj \
$(OBJ_DIR)\hex2dec.obj \
$(OBJ_DIR)\invclr.obj \
$(OBJ_DIR)\isbit.obj \
$(OBJ_DIR)\isbiton.obj \
$(OBJ_DIR)\isshare.obj \
$(OBJ_DIR)\lastday.obj \
$(OBJ_DIR)\linked.obj \
$(OBJ_DIR)\madd.obj \
$(OBJ_DIR)\menu1.obj \
$(OBJ_DIR)\menuto.obj \
$(OBJ_DIR)\metaph.obj \
$(OBJ_DIR)\miltime.obj \
$(OBJ_DIR)\min2dhm.obj \
$(OBJ_DIR)\month.obj \
$(OBJ_DIR)\mouse1.obj \
$(OBJ_DIR)\netpv.obj \
$(OBJ_DIR)\nooccur.obj \
$(OBJ_DIR)\ntow.obj \
$(OBJ_DIR)\nwlstat.obj \
$(OBJ_DIR)\page.obj \
$(OBJ_DIR)\pchr.obj \
$(OBJ_DIR)\pegs.obj \
$(OBJ_DIR)\pending.obj \
$(OBJ_DIR)\pickday.obj \
$(OBJ_DIR)\popadder.obj \
$(OBJ_DIR)\prtesc.obj \
$(OBJ_DIR)\pvid.obj \
$(OBJ_DIR)\qtr.obj \
$(OBJ_DIR)\rand1.obj \
$(OBJ_DIR)\restsets.obj \
$(OBJ_DIR)\ftround.obj \
$(OBJ_DIR)\savearr.obj \
$(OBJ_DIR)\savesets.obj \
$(OBJ_DIR)\scregion.obj \
$(OBJ_DIR)\sinkey.obj \
$(OBJ_DIR)\sleep.obj \
$(OBJ_DIR)\sqzn.obj \
$(OBJ_DIR)\tbwhile.obj \
$(OBJ_DIR)\tempfile.obj \
$(OBJ_DIR)\vertmenu.obj \
$(OBJ_DIR)\vidmode.obj \
$(OBJ_DIR)\wda.obj \
$(OBJ_DIR)\week.obj \
$(OBJ_DIR)\workdays.obj \
$(OBJ_DIR)\woy.obj \
$(OBJ_DIR)\xbox.obj \
$(OBJ_DIR)\year.obj
# $(OBJ_DIR)\sysmem.obj \
# $(OBJ_DIR)\dfile.obj \
# $(OBJ_DIR)\vidcur.obj \
# $(OBJ_DIR)\scancode.obj \
# $(OBJ_DIR)\setdate.obj \
# $(OBJ_DIR)\settime.obj \
# $(OBJ_DIR)\nwsem.obj \
# $(OBJ_DIR)\nwuid.obj \
# $(OBJ_DIR)\floptst.obj
#
# Our default target
#
all: \
$(TOOLS_LIB)
CLEAN:
-@if exist $(OBJ_DIR)\caplock.obj del $(OBJ_DIR)\caplock.obj
-@if exist $(OBJ_DIR)\color2n.obj del $(OBJ_DIR)\color2n.obj
-@if exist $(OBJ_DIR)\descend.obj del $(OBJ_DIR)\descend.obj
-@if exist $(OBJ_DIR)\numlock.obj del $(OBJ_DIR)\numlock.obj
-@if exist $(OBJ_DIR)\proper.obj del $(OBJ_DIR)\proper.obj
-@if exist $(OBJ_DIR)\shift.obj del $(OBJ_DIR)\shift.obj
-@if exist $(OBJ_DIR)\mouse.obj del $(OBJ_DIR)\mouse.obj
-@if exist $(OBJ_DIR)\getvid.obj del $(OBJ_DIR)\getvid.obj
-@if exist $(OBJ_DIR)\setkeys.obj del $(OBJ_DIR)\setkeys.obj
-@if exist $(OBJ_DIR)\setlastk.obj del $(OBJ_DIR)\setlastk.obj
-@if exist $(OBJ_DIR)\ftisprn.obj del $(OBJ_DIR)\ftisprn.obj
-@if exist $(OBJ_DIR)\ftidle.obj del $(OBJ_DIR)\ftidle.obj
-@if exist $(OBJ_DIR)\iamidle.obj del $(OBJ_DIR)\iamidle.obj
-@if exist $(OBJ_DIR)\chdir.obj del $(OBJ_DIR)\chdir.obj
-@if exist $(OBJ_DIR)\rmdir.obj del $(OBJ_DIR)\rmdir.obj
-@if exist $(OBJ_DIR)\alt.obj del $(OBJ_DIR)\alt.obj
-@if exist $(OBJ_DIR)\ctrl.obj del $(OBJ_DIR)\ctrl.obj
-@if exist $(OBJ_DIR)\getenvrn.obj del $(OBJ_DIR)\getenvrn.obj
-@if exist $(OBJ_DIR)\n2color.obj del $(OBJ_DIR)\n2color.obj
-@if exist $(OBJ_DIR)\origin.obj del $(OBJ_DIR)\origin.obj
-@if exist $(OBJ_DIR)\prtscr.obj del $(OBJ_DIR)\prtscr.obj
-@if exist $(OBJ_DIR)\stod.obj del $(OBJ_DIR)\stod.obj
-@if exist $(OBJ_DIR)\kspeed.obj del $(OBJ_DIR)\kspeed.obj
-@if exist $(OBJ_DIR)\mkdir.obj del $(OBJ_DIR)\mkdir.obj
-@if exist $(OBJ_DIR)\getver.obj del $(OBJ_DIR)\getver.obj
-@if exist $(OBJ_DIR)\ftattr.obj del $(OBJ_DIR)\ftattr.obj
-@if exist $(OBJ_DIR)\dispc.obj del $(OBJ_DIR)\dispc.obj
-@if exist $(OBJ_DIR)\fttext.obj del $(OBJ_DIR)\fttext.obj
-@if exist $(OBJ_DIR)\ftshadow.obj del $(OBJ_DIR)\ftshadow.obj
-@if exist $(OBJ_DIR)\putkey.obj del $(OBJ_DIR)\putkey.obj
-@if exist $(OBJ_DIR)\aading.* del $(OBJ_DIR)\aading.*
-@if exist $(OBJ_DIR)\aavg.* del $(OBJ_DIR)\aavg.*
-@if exist $(OBJ_DIR)\acctadj.* del $(OBJ_DIR)\acctadj.*
-@if exist $(OBJ_DIR)\acctmnth.* del $(OBJ_DIR)\acctmnth.*
-@if exist $(OBJ_DIR)\acctqtr.* del $(OBJ_DIR)\acctqtr.*
-@if exist $(OBJ_DIR)\acctweek.* del $(OBJ_DIR)\acctweek.*
-@if exist $(OBJ_DIR)\acctyear.* del $(OBJ_DIR)\acctyear.*
-@if exist $(OBJ_DIR)\adessort.* del $(OBJ_DIR)\adessort.*
-@if exist $(OBJ_DIR)\aemaxlen.* del $(OBJ_DIR)\aemaxlen.*
-@if exist $(OBJ_DIR)\aeminlen.* del $(OBJ_DIR)\aeminlen.*
-@if exist $(OBJ_DIR)\amedian.* del $(OBJ_DIR)\amedian.*
-@if exist $(OBJ_DIR)\anomatch.* del $(OBJ_DIR)\anomatch.*
-@if exist $(OBJ_DIR)\any2any.* del $(OBJ_DIR)\any2any.*
-@if exist $(OBJ_DIR)\aredit.* del $(OBJ_DIR)\aredit.*
-@if exist $(OBJ_DIR)\asum.* del $(OBJ_DIR)\asum.*
-@if exist $(OBJ_DIR)\at2.* del $(OBJ_DIR)\at2.*
-@if exist $(OBJ_DIR)\bitclr.* del $(OBJ_DIR)\bitclr.*
-@if exist $(OBJ_DIR)\bitset.* del $(OBJ_DIR)\bitset.*
-@if exist $(OBJ_DIR)\blink.* del $(OBJ_DIR)\blink.*
-@if exist $(OBJ_DIR)\byt2bit.* del $(OBJ_DIR)\byt2bit.*
-@if exist $(OBJ_DIR)\byt2hex.* del $(OBJ_DIR)\byt2hex.*
-@if exist $(OBJ_DIR)\byteand.* del $(OBJ_DIR)\byteand.*
-@if exist $(OBJ_DIR)\byteneg.* del $(OBJ_DIR)\byteneg.*
-@if exist $(OBJ_DIR)\bytenot.* del $(OBJ_DIR)\bytenot.*
-@if exist $(OBJ_DIR)\byteor.* del $(OBJ_DIR)\byteor.*
-@if exist $(OBJ_DIR)\bytexor.* del $(OBJ_DIR)\bytexor.*
-@if exist $(OBJ_DIR)\calendar.* del $(OBJ_DIR)\calendar.*
-@if exist $(OBJ_DIR)\clrsel.* del $(OBJ_DIR)\clrsel.*
-@if exist $(OBJ_DIR)\cntryset.* del $(OBJ_DIR)\cntryset.*
-@if exist $(OBJ_DIR)\d2e.* del $(OBJ_DIR)\d2e.*
-@if exist $(OBJ_DIR)\datecnfg.* del $(OBJ_DIR)\datecnfg.*
-@if exist $(OBJ_DIR)\dayofyr.* del $(OBJ_DIR)\dayofyr.*
-@if exist $(OBJ_DIR)\daytobow.* del $(OBJ_DIR)\daytobow.*
-@if exist $(OBJ_DIR)\dectobin.* del $(OBJ_DIR)\dectobin.*
-@if exist $(OBJ_DIR)\diskfunc.* del $(OBJ_DIR)\diskfunc.*
-@if exist $(OBJ_DIR)\dispmsg.* del $(OBJ_DIR)\dispmsg.*
-@if exist $(OBJ_DIR)\dosver.* del $(OBJ_DIR)\dosver.*
-@if exist $(OBJ_DIR)\e2d.* del $(OBJ_DIR)\e2d.*
-@if exist $(OBJ_DIR)\easter.* del $(OBJ_DIR)\easter.*
-@if exist $(OBJ_DIR)\elapmil.* del $(OBJ_DIR)\elapmil.*
-@if exist $(OBJ_DIR)\elapsed.* del $(OBJ_DIR)\elapsed.*
-@if exist $(OBJ_DIR)\eltime.* del $(OBJ_DIR)\eltime.*
-@if exist $(OBJ_DIR)\findith.* del $(OBJ_DIR)\findith.*
-@if exist $(OBJ_DIR)\firstday.* del $(OBJ_DIR)\firstday.*
-@if exist $(OBJ_DIR)\gcd.* del $(OBJ_DIR)\gcd.*
-@if exist $(OBJ_DIR)\hex2dec.* del $(OBJ_DIR)\hex2dec.*
-@if exist $(OBJ_DIR)\invclr.* del $(OBJ_DIR)\invclr.*
-@if exist $(OBJ_DIR)\isbit.* del $(OBJ_DIR)\isbit.*
-@if exist $(OBJ_DIR)\isbiton.* del $(OBJ_DIR)\isbiton.*
-@if exist $(OBJ_DIR)\isshare.* del $(OBJ_DIR)\isshare.*
-@if exist $(OBJ_DIR)\lastday.* del $(OBJ_DIR)\lastday.*
-@if exist $(OBJ_DIR)\linked.* del $(OBJ_DIR)\linked.*
-@if exist $(OBJ_DIR)\madd.* del $(OBJ_DIR)\madd.*
-@if exist $(OBJ_DIR)\menu1.* del $(OBJ_DIR)\menu1.*
-@if exist $(OBJ_DIR)\menuto.* del $(OBJ_DIR)\menuto.*
-@if exist $(OBJ_DIR)\metaph.* del $(OBJ_DIR)\metaph.*
-@if exist $(OBJ_DIR)\miltime.* del $(OBJ_DIR)\miltime.*
-@if exist $(OBJ_DIR)\min2dhm.* del $(OBJ_DIR)\min2dhm.*
-@if exist $(OBJ_DIR)\month.* del $(OBJ_DIR)\month.*
-@if exist $(OBJ_DIR)\mouse1.* del $(OBJ_DIR)\mouse1.*
-@if exist $(OBJ_DIR)\netpv.* del $(OBJ_DIR)\netpv.*
-@if exist $(OBJ_DIR)\nooccur.* del $(OBJ_DIR)\nooccur.*
-@if exist $(OBJ_DIR)\ntow.* del $(OBJ_DIR)\ntow.*
-@if exist $(OBJ_DIR)\nwlstat.* del $(OBJ_DIR)\nwlstat.*
-@if exist $(OBJ_DIR)\page.* del $(OBJ_DIR)\page.*
-@if exist $(OBJ_DIR)\pchr.* del $(OBJ_DIR)\pchr.*
-@if exist $(OBJ_DIR)\pegs.* del $(OBJ_DIR)\pegs.*
-@if exist $(OBJ_DIR)\pending.* del $(OBJ_DIR)\pending.*
-@if exist $(OBJ_DIR)\pickday.* del $(OBJ_DIR)\pickday.*
-@if exist $(OBJ_DIR)\popadder.* del $(OBJ_DIR)\popadder.*
-@if exist $(OBJ_DIR)\prtesc.* del $(OBJ_DIR)\prtesc.*
-@if exist $(OBJ_DIR)\pvid.* del $(OBJ_DIR)\pvid.*
-@if exist $(OBJ_DIR)\qtr.* del $(OBJ_DIR)\qtr.*
-@if exist $(OBJ_DIR)\rand1.* del $(OBJ_DIR)\rand1.*
-@if exist $(OBJ_DIR)\restsets.* del $(OBJ_DIR)\restsets.*
-@if exist $(OBJ_DIR)\ftround.* del $(OBJ_DIR)\ftround.*
-@if exist $(OBJ_DIR)\savearr.* del $(OBJ_DIR)\savearr.*
-@if exist $(OBJ_DIR)\savesets.* del $(OBJ_DIR)\savesets.*
-@if exist $(OBJ_DIR)\scregion.* del $(OBJ_DIR)\scregion.*
-@if exist $(OBJ_DIR)\sinkey.* del $(OBJ_DIR)\sinkey.*
-@if exist $(OBJ_DIR)\sleep.* del $(OBJ_DIR)\sleep.*
-@if exist $(OBJ_DIR)\sqzn.* del $(OBJ_DIR)\sqzn.*
-@if exist $(OBJ_DIR)\tbwhile.* del $(OBJ_DIR)\tbwhile.*
-@if exist $(OBJ_DIR)\tempfile.* del $(OBJ_DIR)\tempfile.*
-@if exist $(OBJ_DIR)\vertmenu.* del $(OBJ_DIR)\vertmenu.*
-@if exist $(OBJ_DIR)\vidmode.* del $(OBJ_DIR)\vidmode.*
-@if exist $(OBJ_DIR)\wda.* del $(OBJ_DIR)\wda.*
-@if exist $(OBJ_DIR)\week.* del $(OBJ_DIR)\week.*
-@if exist $(OBJ_DIR)\workdays.* del $(OBJ_DIR)\workdays.*
-@if exist $(OBJ_DIR)\woy.* del $(OBJ_DIR)\woy.*
-@if exist $(OBJ_DIR)\xbox.* del $(OBJ_DIR)\xbox.*
-@if exist $(OBJ_DIR)\year.* del $(OBJ_DIR)\year.*
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
#
# Library dependencies and build rules
#
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
lib /out:$@ $**
# dummy targets used for prg to c creation
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)

View File

@@ -29,15 +29,15 @@ OBJEXT = .obj
LIBEXT = .lib
!endif
.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .asm
.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .cpp .asm
#**********************************************************
# Directory macros. These should never have to change.
#**********************************************************
OBJ_DIR = ..\..\obj\$(CC_NAME)
LIB_DIR = ..\..\lib\$(CC_NAME)
BIN_DIR = ..\..\bin\$(CC_NAME)
OBJ_DIR = ..\..\obj\$(HB_CC_NAME)
LIB_DIR = ..\..\lib\$(HB_CC_NAME)
BIN_DIR = ..\..\bin\$(HB_CC_NAME)
INCLUDE_DIR = ..\..\include

View File

@@ -24,7 +24,7 @@
#**********************************************************
!include ..\maketpl.mak
!include ..\mtpl.mak
#**********************************************************
# C compiler definition and C flags. These should never have to change.
@@ -63,6 +63,10 @@ $(OBJ_DIR);\
{$(ALL_LIB_SRC_DIRS)}.c{$(OBJ_DIR)}$(OBJEXT):
$(CC) $(CLIBFLAGS) -o$@ $<
#**********************************************************
# General *.cpp --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.cpp{$(OBJ_DIR)}$(OBJEXT):
$(CC) $(CLIBFLAGS) -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}$(OBJEXT):
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
@@ -123,5 +127,6 @@ install: doInstall
INSTALL: doInstall
doInstall:
copy $(LIB_DIR)\$(LIBNAME)$(LIBEXT) $(HB_LIB_INSTALL) > nul
copy *.ch $(HB_INC_INSTALL) > nul
if exist $(LIB_DIR)\$(LIBNAME)$(LIBEXT) copy $(LIB_DIR)\$(LIBNAME)$(LIBEXT) $(HB_LIB_INSTALL) > nul
if exist *.api copy *.api $(HB_INC_INSTALL) > nul
if exist *.ch copy *.ch $(HB_INC_INSTALL) > nul

View File

@@ -25,7 +25,7 @@ HB_VISUALC_VER = 60
#**********************************************************
!include ..\maketpl.mak
!include ..\mtpl.mak
#**********************************************************
# C compiler definition and C flags. These should never have to change.
@@ -52,6 +52,10 @@ LDFLAGS = $(LDFLAGS)
{.}.c{$(OBJ_DIR)}$(OBJEXT)::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#**********************************************************
# General *.cpp --> *.obj COMPILE rule for STATIC Libraries
{.}.cpp{$(OBJ_DIR)}$(OBJEXT)::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{.}.prg{$(OBJ_DIR)}$(OBJEXT):
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
@@ -110,5 +114,6 @@ install: doInstall
INSTALL: doInstall
doInstall:
copy $(LIB_DIR)\$(LIBNAME)$(LIBEXT) $(HB_LIB_INSTALL) > nul
copy *.ch $(HB_INC_INSTALL) > nul
if exist $(LIB_DIR)\$(LIBNAME)$(LIBEXT) copy $(LIB_DIR)\$(LIBNAME)$(LIBEXT) $(HB_LIB_INSTALL) > nul
if exist *.api copy *.api $(HB_INC_INSTALL) > nul
if exist *.ch copy *.ch $(HB_INC_INSTALL) > nul

View File

@@ -0,0 +1,19 @@
#
# $Id$
#
LIBNAME = mysql
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\tmysql.obj \
$(OBJ_DIR)\tsqlbrw.obj \
$(OBJ_DIR)\mysql.obj
all: \
$(LIB_PATH) \

View File

@@ -1,33 +1,62 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MySQL sources and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\mysql-5.0.45\include
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set C_USR=%C_USR% -DHB_OS_WIN_32_USED
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\mysql.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\mysql.lib del ..\..\lib\b32\mysql.lib
if exist ..\..\lib\b32\mysql.bak del ..\..\lib\b32\mysql.bak
if exist ..\..\obj\b32\mysql.obj del ..\..\obj\b32\mysql.obj
if exist ..\..\obj\b32\tsqlbrw.c del ..\..\obj\b32\tsqlbrw.c
if exist ..\..\obj\b32\tmysql.c del ..\..\obj\b32\tmysql.c
if exist ..\..\obj\b32\tsqlbrw.obj del ..\..\obj\b32\tsqlbrw.obj
if exist ..\..\obj\b32\tmysql.obj del ..\..\obj\b32\tmysql.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,62 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MySQL sources and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\mysql-5.0.45\include
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set C_USR=%C_USR% -DHB_OS_WIN_32_USED
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,31 +0,0 @@
#
# $Id$
#
# makefile for Borland C/C++ 32 bits
# Building of mysql.lib - Harbour API to mySQL
INCLUDE_DIR = ..\..\include
BIN_DIR = ..\..\bin\b32
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\mysql.lib : \
$(OBJ_DIR)\tmysql.obj \
$(OBJ_DIR)\tsqlbrw.obj \
$(OBJ_DIR)\mysql.obj
$(OBJ_DIR)\tmysql.c : tmysql.prg
$(OBJ_DIR)\tmysql.obj : $(OBJ_DIR)\tmysql.c
$(OBJ_DIR)\tsqlbrw.c : tsqlbrw.prg
$(OBJ_DIR)\tsqlbrw.obj : $(OBJ_DIR)\tsqlbrw.c
$(OBJ_DIR)\mysql.obj : mysql.c
.c.obj:
bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -DHB_OS_WIN_32_USED -o$@ $<
tlib $(LIB_DIR)\mysql.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -1,9 +0,0 @@
@echo off
rem
rem $Id$
rem
..\..\bin\harbour %1 /n /i..\include %2
bcc32 -e%1.exe -O2 -d -I..\..\include -L..\..\lib\b32 %1.c debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib common.lib hbodbc.lib odbc32.lib
rem del %1.c

View File

@@ -1,3 +0,0 @@
@echo off
make -fhbodbc.b32
implib ..\..\lib\b32\odbc32.lib odbc32.def

View File

@@ -0,0 +1,18 @@
#
# $Id$
#
LIBNAME = hbodbc
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\odbc$(OBJEXT) \
$(OBJ_DIR)\todbc$(OBJEXT) \
all: \
$(LIB_PATH) \

View File

@@ -1,20 +0,0 @@
# makefile for Borland C/C++ 32 bits
# ODBC Harbour Library and Import Library makefile
.path.c = .
.path.h = .\;..\..\include;..\..\source\pp
.path.lib = ..\..\lib\b32
.path.obj = ..\..\obj
lib\b32\hbodbc.lib : odbc.obj todbc.obj
odbc.obj : odbc.c
todbc.obj : todbc.c
todbc.c : todbc.prg
.c.obj :
bcc32 -c -O2 -I.\;..\..\include;..\..\source\pp -o$@ $<
tlib ..\..\lib\b32\hbodbc.lib -+$@,,
implib ..\..\lib\b32\odbc32.lib odbc32.def
.prg.c :
..\..\bin\harbour $< /n /p /i..\..\include

View File

@@ -0,0 +1,58 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
implib ..\..\lib\%HB_CC_NAME%\odbc32.lib odbc32.def
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
copy ..\..\lib\%HB_CC_NAME%\odbc32.lib ..\..\lib\
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,9 @@
@echo off
rem
rem $Id$
rem
..\..\..\bin\harbour %1 /n /i..\..\include /i..\ %2
bcc32 -e%1.exe -O2 -d -I..\..\..\include -L..\..\..\lib\b32 %1.c debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib hbsix.lib hbodbc.lib odbc32.lib
rem del %1.c

View File

@@ -1,15 +0,0 @@
#
# $Id$
#
ROOT = ../../
C_SOURCES=\
ole2.c \
PRG_SOURCES=\
oleauto.prg \
LIBNAME=hbole
include $(TOP)$(ROOT)config/lib.cf

View File

@@ -1,9 +0,0 @@
@set HB_BIN_INSTALL=..\..\bin
@set HB_LIB_INSTALL=..\..\lib\
@set HB_INC_INSTALL=..\..\include\
%HB_BIN_INSTALL%\harbour %1.prg -n -i%HB_INC_INSTALL% %2
bcc32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib hbsix.lib common.lib codepage.lib hbole.lib
del %1.c
del %1.obj
del %1.tds

View File

@@ -1,24 +0,0 @@
@echo off
SET HB_INCLUDE=..\..\include
bcc32 -c -I.;%HB_INCLUDE% ole2.c
if errorlevel 1 goto end
harbour oleauto /n /i%HB_INCLUDE%
if errorlevel 1 goto end
bcc32 -M -c -O2 -I%HB_INCLUDE% -tW oleauto.c
if errorlevel 1 goto end
if exist hbole.lib del hbole.lib
tlib hbole +ole2 +oleauto
if errorlevel 1 goto end
copy hbole.lib ..\..\lib\*.* > nul
:END
del oleauto.c
del ole2.obj
del oleauto.obj
del hbole.lib

View File

@@ -1,171 +0,0 @@
*
* HBTEST.PRG
*
* Este ejemplo es para probar con Harbour en modo consola, sin FiveWin
* para Harbour.
*
* This example is done for testing with Harbour in console mode, without
* FiveWin for Harbour.
*
#define CRLF Chr( 13 ) + Chr( 10 )
PROCEDURE MAIN()
LOCAL nOption
CLS
SetColor("W+/R")
@ 6, 25 TO 16, 55 DOUBLE
@ 8, 28 SAY "Test hbole.lib with ..."
While .t.
@ 10, 32 PROMPT "Excel"
@ 11, 32 PROMPT "Word"
@ 12, 32 PROMPT "Internet Explorer"
@ 13, 32 PROMPT "Outlook"
@ 14, 32 PROMPT "Quit"
MENU TO nOption
IF nOption == 0
nOption := 5
ELSEIF nOption == 1
EXCEL97()
ELSEIF nOption == 2
WORD97()
ELSEIF nOption == 3
IEXPLORER()
ELSEIF nOption == 4
OUTLOOK()
ELSEIF nOption == 5
EXIT
ENDIF
End
SetColor("W/N")
CLS
RETURN
//--------------------------------------------------------------------
STATIC PROCEDURE EXCEL97()
LOCAL oExcel, oHoja
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oHoja := oExcel:ActiveSheet()
oHoja:Cells:Font:Name := "Arial"
oHoja:Cells:Font:Size := 12
oHoja:Cells( 3, 1 ):Value := "Text:"
oHoja:Cells( 3, 2 ):Value := "This is sample text"
oHoja:Cells( 4, 1 ):Value := "Numeric:"
oHoja:Cells( 4, 2 ):NumberFormat := "#.##0,00"
oHoja:Cells( 4, 2 ):Value := 1234.50
oHoja:Cells( 5, 1 ):Value := "Logical:"
oHoja:Cells( 5, 2 ):Value := .T.
oHoja:Cells( 6, 1 ):Value := "Date:"
oHoja:Cells( 6, 2 ):Value := DATE()
oHoja:Columns( 1 ):Font:Bold := .T.
oHoja:Columns( 2 ):HorizontalAlignment := -4152 // xlRight
oHoja:Columns( 1 ):AutoFit()
oHoja:Columns( 2 ):AutoFit()
oHoja:Cells( 1, 1 ):Value := "OLE in Harbour"
oHoja:Cells( 1, 1 ):Font:Size := 16
oHoja:Range( "A1:B1" ):HorizontalAlignment := 7
oHoja:Cells( 1, 1 ):Select()
oExcel:Visible := .T.
oHoja:End()
oExcel:End()
RETURN
//--------------------------------------------------------------------
STATIC PROCEDURE WORD97()
LOCAL oWord, oTexto
oWord:=TOleAuto():New( "Word.Application" )
oWord:Documents:Add()
oTexto := oWord:Selection()
oTexto:Text := "Harbour hbOLE.lib"+CRLF+"Word Sample"+CRLF
oTexto:Font:Name := "Arial"
oTexto:Font:Size := 48
oTexto:Font:Bold := .T.
oWord:Visible := .T.
oWord:WindowState := 1 // Maximize
oTexto:End()
oWord:End()
RETURN
//--------------------------------------------------------------------
STATIC PROCEDURE IEXPLORER()
LOCAL oIE
oIE:=TOleAuto():New( "InternetExplorer.Application" )
oIE:Visible := .T.
oIE:Navigate( "http://www.harbour-project.org" )
oIE:End()
RETURN
//--------------------------------------------------------------------
STATIC PROCEDURE OUTLOOK()
LOCAL oOL, oLista, oMail, i
oOL := TOleAuto():New( "Outlook.Application.9" )
IF Ole2TxtError() != "S_OK"
Alert("Outlook is not available", "Error")
ELSE
oMail := oOL:CreateItem( 0 ) // olMailItem
FOR i := 1 TO 10
oMail:Recipients:Add( "Contact" + LTRIM( STR( i, 2 ) ) + ;
"<contact" + LTRIM( STR( i, 2 ) ) + "@server.com>" )
NEXT
oLista := oOL:CreateItem( 7 ) // olDistributionListItem
oLista:DLName := "Test with distribution list"
oLista:Display( .F. )
oLista:AddMembers( oMail:Recipients )
oLista:Save()
oLista:Close( 0 )
oMail:End()
oLista:End()
oOL:End()
ENDIF
RETURN

View File

@@ -1,714 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* OLE library
*
* Copyright 2000,2003 José F. Giménez (JFG) <jfgimenez@wanadoo.es>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
/*************************************************************************
* *
* CreateOleObject( cOleName | cCLSID [, cIID ] ) -> hOleObject *
* *
* OleInvoke( hOleObject, cMethodName, uParam1, ..., uParamN ) *
* -> uResult *
* *
* OleSetProperty( hOleObject, cPropertyName, uParam1, ..., uParamN ) *
* -> lOk *
* *
* OleGetProperty( hOleObject, cPropertyName, uParam1, ..., uParamN ) *
* -> uResult *
* *
* OleIsObject() -> lIsObject *
* *
* OleError() -> nError *
* *
* Ole2TxtError() -> cError *
* *
* OleUninitialize() -> Nil *
* *
\************************************************************************/
#define HB_OS_WIN_32_USED
#include <windows.h>
#include <ole2.h>
#include "hbvm.h"
#include "hbapiitm.h"
#include "hbapicls.h"
#include "hbdate.h"
static far VARIANTARG RetVal;
static EXCEPINFO excep;
static HRESULT nOleError = 0;
static int lInitialized = 0;
static double DateToDbl( LPSTR cDate )
{
double nDate;
nDate = hb_dateEncStr( cDate ) - 0x0024d9abL;
return ( nDate );
}
static LPSTR DblToDate( double nDate )
{
static char *cDate = "00000000";
hb_dateDecStr( cDate, nDate + 0x0024d9abL );
return ( cDate );
}
static LPSTR AnsiToWide( LPSTR cAnsi )
{
unsigned short wLen;
LPSTR cString;
wLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, cAnsi, -1, 0, 0 );
cString = ( char * ) hb_xgrab( wLen * 2 );
MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, cAnsi, -1,
( LPWSTR ) cString, wLen );
return ( cString );
}
static LPSTR WideToAnsi( LPSTR cWide )
{
unsigned short wLen;
LPSTR cString;
wLen = WideCharToMultiByte( CP_ACP, 0, ( LPWSTR ) cWide, -1,
NULL, 0, NULL, NULL );
cString = hb_xgrab( (!wLen) ? 2 : wLen );
WideCharToMultiByte( CP_ACP, 0, ( LPWSTR ) cWide, -1,
cString, wLen, NULL, NULL );
return ( cString );
}
static void GetParams(DISPPARAMS * dParams)
{
VARIANTARG * pArgs = NULL;
PHB_ITEM uParam;
int n, nArgs, nArg;
LPSTR cString;
nArgs = hb_pcount() - 2;
if( nArgs > 0 )
{
pArgs = ( VARIANTARG * ) hb_xgrab( sizeof( VARIANTARG ) * nArgs );
for( n = 0; n < nArgs; n++ )
{
// Los parametros en VARIANTARG[] hay que ponerlos en orden inverso
nArg = nArgs + 2 - n;
VariantInit( &( pArgs[ n ] ) );
uParam = hb_param( nArg, 0xFFFF );
switch( hb_itemType( uParam ) )
{
case '\0':
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_EMPTY;
#else
pArgs[ n ].n1.n2.vt = VT_EMPTY;
#endif
break;
case HB_IT_STRING:
case HB_IT_MEMO:
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_BSTR;
#else
pArgs[ n ].n1.n2.vt = VT_BSTR;
#endif
cString = AnsiToWide( hb_parc( nArg ) );
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].bstrVal = SysAllocString( (LPVOID) cString );
#else
pArgs[ n ].n1.n2.n3.bstrVal = SysAllocString( (LPVOID) cString );
#endif
hb_xfree( cString );
break;
case HB_IT_LOGICAL:
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_BOOL;
pArgs[ n ].boolVal = hb_parl( nArg );
#else
pArgs[ n ].n1.n2.vt = VT_BOOL;
pArgs[ n ].n1.n2.n3.boolVal = hb_parl( nArg );
#endif
break;
case HB_IT_INTEGER:
case HB_IT_LONG:
case HB_IT_NUMERIC:
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_I4;
pArgs[ n ].lVal = hb_parnl( nArg );
#else
pArgs[ n ].n1.n2.vt = VT_I4;
pArgs[ n ].n1.n2.n3.lVal = hb_parnl( nArg );
#endif
break;
case HB_IT_DOUBLE:
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_R8;
pArgs[ n ].dblVal = hb_parnd( nArg );
#else
pArgs[ n ].n1.n2.vt = VT_R8;
pArgs[ n ].n1.n2.n3.dblVal = hb_parnd( nArg );
#endif
break;
case HB_IT_DATE:
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_DATE;
pArgs[ n ].dblVal = DateToDbl( hb_pards( nArg ) );
#else
pArgs[ n ].n1.n2.vt = VT_DATE;
pArgs[ n ].n1.n2.n3.dblVal = DateToDbl( hb_pards( nArg ) );
#endif
break;
case HB_IT_OBJECT:
{
PHB_DYNS pData;
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_EMPTY;
#else
pArgs[ n ].n1.n2.vt = VT_EMPTY;
#endif
if ( hb_stricmp( hb_objGetClsName( uParam ), "TOleAuto" ) == 0 )
{
pData = hb_dynsymFindName( "hObj" );
if( pData )
{
hb_vmPushSymbol( hb_dynsymSymbol( pData ) );
hb_vmPush( uParam );
hb_vmDo( 0 );
#if !defined(__BORLANDC__) && !defined(__XCC__)
pArgs[ n ].vt = VT_DISPATCH;
pArgs[ n ].pdispVal = ( IDispatch * ) hb_parnl( -1 );
#else
pArgs[ n ].n1.n2.vt = VT_DISPATCH;
pArgs[ n ].n1.n2.n3.pdispVal = ( IDispatch * ) hb_parnl( -1 );
#endif
}
}
}
break;
}
}
}
dParams->rgvarg = pArgs;
dParams->cArgs = nArgs;
dParams->rgdispidNamedArgs = 0;
dParams->cNamedArgs = 0;
}
static void FreeParams(DISPPARAMS * dParams)
{
int n;
if( dParams->cArgs > 0 )
{
for( n = 0; n < ( int ) dParams->cArgs; n++ )
VariantClear( &(dParams->rgvarg[ n ]) );
hb_xfree( ( LPVOID ) dParams->rgvarg );
}
}
static void RetValue( void )
{
LPSTR cString;
#if !defined(__BORLANDC__) && !defined(__XCC__)
switch( RetVal.vt )
{
case VT_BSTR:
cString = WideToAnsi( ( LPSTR ) RetVal.bstrVal );
hb_retc( cString );
hb_xfree( cString );
break;
case VT_BOOL:
hb_retl( RetVal.boolVal );
break;
case VT_DISPATCH:
hb_retnl( ( LONG ) RetVal.pdispVal );
break;
case VT_I4:
hb_retnl( ( LONG ) RetVal.iVal );
break;
case VT_R8:
hb_retnd( RetVal.dblVal );
break;
case VT_DATE:
hb_retds( DblToDate( RetVal.dblVal ) );
break;
case VT_EMPTY:
hb_ret();
break;
default:
if ( nOleError == S_OK )
nOleError = (HRESULT) -1;
hb_ret();
break;
}
if( RetVal.vt != VT_DISPATCH )
VariantClear( &RetVal );
#else
switch( RetVal.n1.n2.vt )
{
case VT_BSTR:
cString = WideToAnsi( ( LPSTR ) RetVal.n1.n2.n3.bstrVal );
hb_retc( cString );
hb_xfree( cString );
break;
case VT_BOOL:
hb_retl( RetVal.n1.n2.n3.boolVal );
break;
case VT_DISPATCH:
hb_retnl( ( LONG ) RetVal.n1.n2.n3.pdispVal );
break;
case VT_I4:
hb_retnl( ( LONG ) RetVal.n1.n2.n3.iVal );
break;
case VT_R8:
hb_retnd( RetVal.n1.n2.n3.dblVal );
break;
case VT_DATE:
hb_retds( DblToDate( RetVal.n1.n2.n3.dblVal ) );
break;
case VT_EMPTY:
hb_ret();
break;
default:
if ( nOleError == S_OK )
nOleError = (HRESULT) -1;
hb_ret();
break;
}
if( RetVal.n1.n2.vt != VT_DISPATCH )
VariantClear( &RetVal );
#endif
}
HB_FUNC( CREATEOLEOBJECT ) // ( cOleName | cCLSID [, cIID ] )
{
LPSTR cCLSID;
GUID ClassID, iid;
LPIID riid = (LPIID) &IID_IDispatch;
void *pDisp = NULL; /* IDispatch */
/* void *
* used intentionally to inform compiler that there is no
* strict-aliasing
*/
nOleError = S_OK;
if ( !lInitialized )
nOleError = OleInitialize( NULL );
lInitialized = 1;
if ( (nOleError == S_OK) || (nOleError == (HRESULT) S_FALSE) )
{
cCLSID = AnsiToWide( hb_parc( 1 ) );
if ( hb_parc( 1 )[ 0 ] == '{' )
nOleError = CLSIDFromString( ( LPOLESTR ) cCLSID, (LPCLSID) &ClassID );
else
nOleError = CLSIDFromProgID( ( LPCOLESTR ) cCLSID, (LPCLSID) &ClassID );
hb_xfree( cCLSID );
if ( hb_pcount() == 2 )
{
if ( hb_parc( 2 )[ 0 ] == '{' )
{
cCLSID = AnsiToWide( hb_parc( 2 ) );
nOleError = CLSIDFromString( ( LPOLESTR ) cCLSID, &iid );
hb_xfree( cCLSID );
}
else
memcpy( ( LPVOID ) &iid, hb_parc( 2 ), sizeof( iid ) );
riid = &iid;
}
if ( nOleError == S_OK )
nOleError = CoCreateInstance( &ClassID, NULL, CLSCTX_SERVER,
(REFIID) riid, &pDisp );
}
hb_retnl( ( LONG ) pDisp );
}
HB_FUNC( OLESHOWEXCEPTION )
{
if ( (LONG) nOleError == DISP_E_EXCEPTION )
{
LPSTR source, description;
source = WideToAnsi( (LPVOID) excep.bstrSource );
description = WideToAnsi( (LPVOID) excep.bstrDescription );
MessageBox( NULL, description, source, MB_ICONHAND );
hb_xfree( source );
hb_xfree( description );
}
}
HB_FUNC( OLEINVOKE ) // (hOleObject, szMethodName, uParams...)
{
IDispatch * pDisp = ( IDispatch * ) hb_parnl( 1 );
LPSTR cMember;
DISPID lDispID;
DISPPARAMS dParams;
UINT uArgErr;
VariantInit( &RetVal );
memset( (LPBYTE) &excep, 0, sizeof( excep ) );
cMember = AnsiToWide( hb_parc( 2 ) );
nOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL,
( LPVOID ) &cMember, 1,
LOCALE_USER_DEFAULT, &lDispID );
hb_xfree( cMember );
if ( nOleError == S_OK )
{
GetParams( &dParams );
nOleError = pDisp->lpVtbl->Invoke( pDisp,
lDispID,
&IID_NULL,
LOCALE_USER_DEFAULT,
DISPATCH_METHOD,
&dParams,
&RetVal,
&excep,
&uArgErr ) ;
FreeParams( &dParams );
}
RetValue();
}
HB_FUNC( OLESETPROPERTY ) // (hOleObject, cPropName, uValue, uParams...)
{
IDispatch * pDisp = ( IDispatch * ) hb_parnl( 1 );
LPSTR cMember;
DISPID lDispID, lPropPut = DISPID_PROPERTYPUT;
DISPPARAMS dParams;
UINT uArgErr;
VariantInit( &RetVal );
memset( (LPBYTE) &excep, 0, sizeof( excep ) );
cMember = AnsiToWide( hb_parc( 2 ) );
nOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL,
( LPVOID ) &cMember, 1,
LOCALE_USER_DEFAULT, &lDispID );
hb_xfree( cMember );
if ( nOleError == S_OK )
{
GetParams( &dParams );
dParams.rgdispidNamedArgs = &lPropPut;
dParams.cNamedArgs = 1;
nOleError = pDisp->lpVtbl->Invoke( pDisp,
lDispID,
&IID_NULL,
LOCALE_USER_DEFAULT,
DISPATCH_PROPERTYPUT,
&dParams,
NULL, // No return value
&excep,
&uArgErr );
FreeParams( &dParams );
}
hb_ret();
}
HB_FUNC( OLEGETPROPERTY ) // (hOleObject, cPropName, uParams...)
{
IDispatch * pDisp = ( IDispatch * ) hb_parnl( 1 );
LPSTR cMember;
DISPID lDispID;
DISPPARAMS dParams;
UINT uArgErr;
VariantInit( &RetVal );
memset( (LPBYTE) &excep, 0, sizeof( excep ) );
cMember = AnsiToWide( hb_parc( 2 ) );
nOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL,
( LPVOID ) &cMember, 1,
LOCALE_USER_DEFAULT, &lDispID );
hb_xfree( cMember );
if ( nOleError == S_OK )
{
GetParams( &dParams );
nOleError = pDisp->lpVtbl->Invoke( pDisp,
lDispID,
&IID_NULL,
LOCALE_USER_DEFAULT,
DISPATCH_PROPERTYGET,
&dParams,
&RetVal,
&excep,
&uArgErr );
FreeParams( &dParams );
}
RetValue();
}
HB_FUNC( OLEERROR )
{
hb_retnl( (LONG) nOleError );
}
HB_FUNC( OLEISOBJECT )
{
#if !defined(__BORLANDC__) && !defined(__XCC__)
hb_retl( RetVal.vt == VT_DISPATCH );
#else
hb_retl( RetVal.n1.n2.vt == VT_DISPATCH );
#endif
}
HB_FUNC( OLEUNINITIALIZE )
{
if( lInitialized )
OleUninitialize();
lInitialized = 0;
}
HB_FUNC( OLE2TXTERROR )
{
switch ( (LONG) nOleError)
{
case S_OK:
hb_retc( "S_OK" );
break;
case CO_E_CLASSSTRING:
hb_retc( "CO_E_CLASSSTRING" );
break;
case OLE_E_WRONGCOMPOBJ:
hb_retc( "OLE_E_WRONGCOMPOBJ" );
break;
case REGDB_E_CLASSNOTREG:
hb_retc( "REGDB_E_CLASSNOTREG" );
break;
case REGDB_E_WRITEREGDB:
hb_retc( "REGDB_E_WRITEREGDB" );
break;
case E_OUTOFMEMORY:
hb_retc( "E_OUTOFMEMORY" );
break;
case E_INVALIDARG:
hb_retc( "E_INVALIDARG" );
break;
case E_UNEXPECTED:
hb_retc( "E_UNEXPECTED" );
break;
case DISP_E_UNKNOWNNAME:
hb_retc( "DISP_E_UNKNOWNNAME" );
break;
case DISP_E_UNKNOWNLCID:
hb_retc( "DISP_E_UNKNOWNLCID" );
break;
case DISP_E_BADPARAMCOUNT:
hb_retc( "DISP_E_BADPARAMCOUNT" );
break;
case DISP_E_BADVARTYPE:
hb_retc( "DISP_E_BADVARTYPE" );
break;
case DISP_E_EXCEPTION:
hb_retc( "DISP_E_EXCEPTION" );
break;
case DISP_E_MEMBERNOTFOUND:
hb_retc( "DISP_E_MEMBERNOTFOUND" );
break;
case DISP_E_NONAMEDARGS:
hb_retc( "DISP_E_NONAMEDARGS" );
break;
case DISP_E_OVERFLOW:
hb_retc( "DISP_E_OVERFLOW" );
break;
case DISP_E_PARAMNOTFOUND:
hb_retc( "DISP_E_PARAMNOTFOUND" );
break;
case DISP_E_TYPEMISMATCH:
hb_retc( "DISP_E_TYPEMISMATCH" );
break;
case DISP_E_UNKNOWNINTERFACE:
hb_retc( "DISP_E_UNKNOWNINTERFACE" );
break;
case DISP_E_PARAMNOTOPTIONAL:
hb_retc( "DISP_E_PARAMNOTOPTIONAL" );
break;
default:
hb_retc( "Unknown error" );
break;
};
}
HB_FUNC( GETOLEOBJECT )
{
BSTR wCLSID;
IID ClassID, iid;
LPIID riid = (LPIID) &IID_IDispatch;
IUnknown *pUnk = NULL;
char *cOleName = hb_parc( 1 );
void *pDisp = NULL; /* IDispatch */
/* void *
* used intentionally to inform compiler that there is no
* strict-aliasing
*/
nOleError = S_OK;
wCLSID = (BSTR) AnsiToWide( (LPSTR)cOleName );
if ( cOleName[ 0 ] == '{' )
{
nOleError = CLSIDFromString( wCLSID, (LPCLSID) &ClassID );
}
else
{
nOleError = CLSIDFromProgID( wCLSID, (LPCLSID) &ClassID );
}
hb_xfree( wCLSID );
if ( hb_pcount() == 2 )
{
char * cID = hb_parc( 2 );
if ( cID[ 0 ] == '{' )
{
wCLSID = (BSTR)AnsiToWide( (LPSTR)cID );
nOleError = CLSIDFromString( wCLSID, &iid );
hb_xfree( wCLSID );
}
else
{
memcpy( ( LPVOID ) &iid, cID, sizeof( iid ) );
}
riid = &iid;
}
if ( nOleError == S_OK )
{
nOleError = GetActiveObject( &ClassID, NULL, &pUnk );
if ( nOleError == S_OK )
{
nOleError = pUnk->lpVtbl->QueryInterface( pUnk, riid, &pDisp );
}
}
hb_retnl( ( LONG ) pDisp );
}
HB_FUNC( MESSAGEBOX )
{
hb_retni( MessageBox( ( HWND ) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ), hb_parni( 4 ) ) );
}

View File

@@ -1,219 +0,0 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* OLE library
*
* Copyright 2000,2003 José F. Giménez (JFG) <jfgimenez@wanadoo.es>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
#include "hbclass.ch"
CLASS TOleAuto
DATA hObj
METHOD New( cAutoObj ) CONSTRUCTOR
METHOD GetActiveObject( cClass )
METHOD End()
METHOD Invoke( cMember, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
METHOD Set( cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
METHOD Get( cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ERROR HANDLER OnError( cMsg, nError )
ENDCLASS
//--------------------------------------------------------------------
METHOD New( uObj ) CLASS TOleAuto
IF ValType( uObj )="C"
::hObj := CreateOleObject( uObj )
ELSE
::hObj := uObj
ENDIF
RETURN Self
METHOD GetActiveObject( cClass ) CLASS TOleAuto
IF ValType( cClass ) = 'C'
::hObj := GetOleObject( cClass )
// ::cClassName := cClass
ELSE
MessageBox( 0,"Invalid parameter type to constructor TOleAuto():GetActiveObject()!", "OLE Interface",0 )
::hObj := 0
ENDIF
RETURN Self
//--------------------------------------------------------------------
METHOD End() CLASS TOleAuto
::hObj := NIL
RETURN NIL
//--------------------------------------------------------------------
METHOD Invoke( cMethod, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 ) CLASS TOleAuto
LOCAL uObj
IF uParam6 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ELSEIF uParam5 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1, uParam2, uParam3, uParam4, uParam5 )
ELSEIF uParam4 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1, uParam2, uParam3, uParam4 )
ELSEIF uParam3 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1, uParam2, uParam3 )
ELSEIF uParam2 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1, uParam2 )
ELSEIF uParam1 != NIL
uObj := OLEInvoke( ::hObj, cMethod, uParam1 )
ELSE
uObj := OLEInvoke( ::hObj, cMethod )
ENDIF
IF OleIsObject()
RETURN TOleAuto():New( uObj )
ELSEIF Ole2TxtError() == "DISP_E_EXCEPTION"
OLEShowException()
RETURN Self
ELSEIF OleError() != 0
MessageBox( 0,cMethod + ": " + Ole2TxtError(), "OLE Error",0 )
ENDIF
RETURN uObj
//--------------------------------------------------------------------
METHOD Set( cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 ) CLASS TOleAuto
IF uParam6 != NIL
OLESetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ELSEIF uParam5 != NIL
OLESetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4, uParam5 )
ELSEIF uParam4 != NIL
OLESetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4 )
ELSEIF uParam3 != NIL
OLESetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3 )
ELSEIF uParam2 != NIL
OLESetProperty( ::hObj, cProperty, uParam1, uParam2 )
ELSEIF uParam1 != NIL
OLESetProperty( ::hObj, cProperty, uParam1 )
ENDIF
IF Ole2TxtError() == "DISP_E_EXCEPTION"
OLEShowException()
ELSEIF OleError() != 0
MessageBox( 0,cProperty + ": " + Ole2TxtError(), "OLE Error",0 )
ENDIF
RETURN nil
//--------------------------------------------------------------------
METHOD Get( cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 ) CLASS TOleAuto
LOCAL uObj
IF uParam6 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ELSEIF uParam5 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4, uParam5 )
ELSEIF uParam4 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3, uParam4 )
ELSEIF uParam3 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1, uParam2, uParam3 )
ELSEIF uParam2 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1, uParam2 )
ELSEIF uParam1 != NIL
uObj := OLEGetProperty( ::hObj, cProperty, uParam1 )
ELSE
uObj := OLEGetProperty( ::hObj, cProperty )
ENDIF
IF Ole2TxtError() $ "DISP_E_MEMBERNOTFOUND | DISP_E_BADPARAMCOUNT | " + ;
"DISP_E_EXCEPTION"
uObj := ::Invoke( cProperty, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ELSE
IF OleIsObject()
RETURN TOleAuto():New( uObj )
ELSEIF OleError() != 0
MessageBox( 0,cProperty + ": " + Ole2TxtError(), "OLE Error",0 )
ENDIF
ENDIF
RETURN uObj
//--------------------------------------------------------------------
METHOD OnError( uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 ) CLASS TOleAuto
LOCAL cMsg := __GetMessage()
LOCAL uObj
IF LEFT( cMsg, 1 ) == '_'
::Set( SUBS( cMsg, 2 ), uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ELSE
uObj := ::Get( cMsg, uParam1, uParam2, uParam3, uParam4, uParam5, uParam6 )
ENDIF
RETURN uObj
EXIT PROCEDURE OLEEXIT
OLEUninitialize()
RETURN

View File

@@ -0,0 +1,18 @@
#
# $Id$
#
LIBNAME = libhbpg
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\tpostgre.obj \
$(OBJ_DIR)\postgres.obj
all: \
$(LIB_PATH) \

View File

@@ -1,30 +1,62 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MySQL sources and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\postgresql-8.2.5\src\include
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set C_USR=%C_USR% -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
:BUILD_OK
copy ..\..\lib\b32\libhbpg.lib ..\..\lib\*.* > nul
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\libhbpg.lib del ..\..\lib\b32\libhbpg.lib
if exist ..\..\lib\b32\libhbpg.bak del ..\..\lib\b32\libhbpg.bak
if exist ..\..\obj\b32\postgres.obj del ..\..\obj\b32\postgres.obj
if exist ..\..\obj\b32\TPostgres.c del ..\..\obj\b32\TPostgres.c
if exist ..\..\obj\b32\TPostgres.obj del ..\..\obj\b32\TPostgres.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -0,0 +1,62 @@
@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem IMPORTANT: You'll need MySQL sources and this envvar
rem to be set to successfully build this library:
rem set C_USR=-IC:\postgresql-8.2.5\src\include
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set C_USR=%C_USR% -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,31 +0,0 @@
# makefile for Borland C/C++ 32 bits
# Building of libhbpg.lib - Harbour API to postgres
# Postgresql running under Cygwin/Windows, unmark the line bellow to compile.
# PG_DIR = ..\..\..\cygwin\usr\src\postgresql-7.4.5
PG_DIR = C:\PostgreSQL
INCLUDE_DIR = ..\..\include
INCLUDE_PQ = $(PG_DIR)\include
BIN_DIR = c:\xharbour\bin
OBJ_DIR = ..\..\obj\b32
LIB_DIR = ..\..\lib\b32
$(LIB_DIR)\libhbpg.lib : \
$(OBJ_DIR)\TPostgres.obj \
$(OBJ_DIR)\postgres.obj
$(OBJ_DIR)\TPostgres.c : TPostgres.prg
$(OBJ_DIR)\TPostgres.obj : $(OBJ_DIR)\TPostgres.c
$(OBJ_DIR)\postgres.obj : postgres.c
.c.obj:
bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -I$(INCLUDE_PQ) -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o$@ $<
tlib $(LIB_DIR)\libhbpg.lib -+$@,,
.prg.c:
$(BIN_DIR)\harbour.exe $< -q0 -a -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

View File

@@ -0,0 +1,19 @@
#
# $Id$
#
LIBNAME = rddads
LIB_PATH = $(LIB_DIR)\$(LIBNAME)$(LIBEXT)
#
# LIB rules
#
LIB_OBJS = \
$(OBJ_DIR)\ads1.obj \
$(OBJ_DIR)\adsfunc.obj \
$(OBJ_DIR)\adsmgmnt.obj
all: \
$(LIB_PATH) \

View File

@@ -3,33 +3,56 @@ rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
make -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
implib ..\..\lib\%HB_CC_NAME%\ace32.lib ace32.dll
:BUILD_OK
copy ..\..\lib\b32\rddads.lib ..\..\lib\*.* > nul
if exist ..\..\lib\b32\rddads.bak del ..\..\lib\b32\rddads.bak
goto EXIT
:BUILD_ERR
notepad make_b32.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:CLEAN
if exist ..\..\lib\b32\rddads.lib del ..\..\lib\b32\rddads.lib
if exist ..\..\lib\b32\rddads.bak del ..\..\lib\b32\rddads.bak
if exist ..\..\obj\b32\ads1.obj del ..\..\obj\b32\ads1.obj
if exist ..\..\obj\b32\adsfunc.obj del ..\..\obj\b32\adsfunc.obj
if exist ..\..\obj\b32\adsmgmnt.obj del ..\..\obj\b32\adsmgmnt.obj
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
copy ..\..\lib\%HB_CC_NAME%\ace32.lib ..\..\lib\
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

View File

@@ -1,21 +1,66 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem
rem Set any of the below settings to customize your build process:
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
nmake /f makefile.vc %1 %2 %3 > make_vc.log
if errorlevel 1 goto BUILD_ERR
rem ---------------------------------------------------------------
DUMPBIN /EXPORTS ace32.dll > _dump.tmp
echo LIBRARY ace32.dll > _temp.def
echo EXPORTS >> _temp.def
sed -nf exports.sed < _dump.tmp >> _temp.def
LIB /MACHINE:X86 /DEF:_temp.def /OUT:..\..\lib\%HB_CC_NAME%\ace32.lib
del _dump.tmp
del _temp.def
rem ---------------------------------------------------------------
:BUILD_OK
copy ..\..\lib\vc\rddads.lib ..\..\lib\*.* >nul
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 notepad make_%HB_CC_NAME%.log
goto EXIT
:BUILD_ERR
:CLEAN
notepad make_vc.log
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..\..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
copy ..\..\lib\%HB_CC_NAME%\ace32.lib ..\..\lib\
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
goto EXIT
:EXIT

Some files were not shown because too many files have changed in this diff Show More