Page 1 of 3

Upgrading FWH/xHarbour & VS 2010

PostPosted: Thu Apr 11, 2013 11:24 am
by DonDrew
Upgrading to latest release of FW and xHarbour as well as installing Visual Studio 2010. Linker can't find 20 different Harbour symbols:

rtl.lib(regex.obj) : error LNK2019: unresolved external symbol _regcomp referenced in function _hb_getregex
rtl.lib(regex.obj) : error LNK2019: unresolved external symbol _regfree referenced in function _hb_freeregex
rtl.lib(regex.obj) : error LNK2019: unresolved external symbol _regexec referenced in function _hb_regexMatch
rtl.lib(regex.obj) : error LNK2019: unresolved external symbol _pcre_free referenced in function _HB_FUN_HB_REGEXCOMP
rtl.lib(regex.obj) : error LNK2019: unresolved external symbol _pcre_version referenced in function _HB_FUN_HB_PCRE_VERSION
rtl.lib(regex.obj) : error LNK2019: unresolved external symbol "void __cdecl HB_PCREPOS_LIBRARY(void)" (?HB_PCREPOS_LIBRARY@@YAXXZ) referenced in function _HB_FUN_HB_FORCELINK_PCREPOS
FiveHCM.lib(BRUSHES.obj) : error LNK2019: unresolved external symbol __imp__AlphaBlend@44 referenced in function _HB_FUN_ABPAINT
FiveHCM.lib(KEYBRD.obj) : error LNK2019: unresolved external symbol _SendInput referenced in function _HB_FUN_SENDKEY
FiveHMX.lib(DATABASE.obj) : error LNK2001: unresolved external symbol _HB_FUN_TOKEN
FiveHMX.lib(XBROWSE.obj) : error LNK2019: unresolved external symbol _HB_FUN_TOKEN referenced in function _HB_FUN_PASTEUNFORMATTEDTEXT
FiveHMX.lib(VALTOSTR.obj) : error LNK2001: unresolved external symbol _HB_FUN_FLOOR
FiveHMX.lib(VALTOSTR.obj) : error LNK2001: unresolved external symbol _HB_FUN_LOG10
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_CHARONLY
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_BLANK
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_RANGEREPL
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_AFTERATNUM
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_CHARREM
FiveHMX.lib(XBROWSE.obj) : error LNK2001: unresolved external symbol _HB_FUN_CEILING
FiveHCM.lib(MEM.obj) : error LNK2019: unresolved external symbol _GlobalMemoryStatusEx referenced in function _HB_FUN_NEXTMEM
FiveHCM.lib(C5CNEW.obj) : error LNK2019: unresolved external symbol __imp__TransparentBlt@44 referenced in function _HB_FUN_TRANSPARENTBLT
FiveHCM.lib(RICHEDIT.obj) : error LNK2019: unresolved external symbol _OleUIPasteSpecialA@4 referenced in function _HB_FUN_REPASTESPECIAL

I assume that I'm mussing one or more Harbour libs from my link list.

echo $(HBDIR)lib\gtgui.lib >> aba.tmp
echo $(HBDIR)lib\vm.lib >> aba.tmp
echo $(HBDIR)lib\rtl.lib >> aba.tmp
echo $(HBDIR)lib\lang.lib >> aba.tmp
echo $(HBDIR)lib\macro.lib >> aba.tmp
echo $(HBDIR)lib\rdd.lib >> aba.tmp
echo $(HBDIR)lib\dbfntx.lib >> aba.tmp
echo $(HBDIR)lib\dbfcdx.lib >> aba.tmp
echo $(HBDIR)lib\dbffpt.lib >> aba.tmp
echo $(HBDIR)lib\hbsix.lib >> aba.tmp
echo $(HBDIR)lib\debug.lib >> aba.tmp
echo $(HBDIR)lib\common.lib >> aba.tmp
echo $(HBDIR)lib\pp.lib >> aba.tmp
echo $(HBDIR)lib\codepage.lib >> aba.tmp

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Thu Apr 11, 2013 2:32 pm
by Antonio Linares
Don,

For regex.obj please link pcrepos.lib from xHarbour

For ...AlphaBlend... you have to link MS msimg32.lib

Also ct.lib from xHarbour

For SendInput you have to link this lib also:
http://code.google.com/p/harbour-and-xharbour-builds/downloads/detail?name=send32.lib

For GlobalMemoryStatusEx please link this lib also:
http://code.google.com/p/harbour-and-xharbour-builds/downloads/detail?name=mem32.lib

And the Ole... should be ok with MS ole2w32.lib

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Thu Apr 11, 2013 2:36 pm
by Antonio Linares
Please consider my best advice:

migrate from xHarbour to Harbour :-)

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Thu Apr 11, 2013 8:25 pm
by nnicanor
You must link those libraries for MSVC with xHarbour.

FiveHmX.lib FiveHC32.lib
rtl.lib
vm.lib
gtgui.lib
lang.lib
macro.lib
rdd.lib
codepage.lib
dbfntx.lib
dbffpt.lib
hbsix.lib
common.lib
pp.lib
ct.lib
hbzip.lib
zlib.lib
pcrepos.lib
png.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comctl32.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
mpr.lib
winmm.lib
libcpmt.lib
oldnames.lib
version.lib
wsock32.lib
msimg32.lib
oledlg.lib
psapi.lib
iphlpapi.lib


Regards

Making progress

PostPosted: Mon Apr 15, 2013 9:05 pm
by DonDrew
Antonio,
I finally got my application to link by using libs FiveHC32 and FiveHMX. I tried other combinations but nothing else would work.

The resulting EXE is more than double the size of my original program and it runs noticably slower.

I've examined the various sample batch files and make files for guidance but those files refer to non-existant, probably obsolete libraries. Is there any CURRENT documentation that my give me some guidance?

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Mon Apr 15, 2013 9:13 pm
by Antonio Linares
Don,

Have you considered to migrate to Harbour ? Many xHarbour users have already migrated to Harbour with great success.

Are you going to upgrade to MS Visual Studio 2010 Express ? Unfortunately we can not support previous MS VS versions.

The speed of an application is not related to its size. Apps tend to grow as the libraries grow in complexity, thats quite common.

Why do you think it is slower ? Have you measured it in any way ?

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Mon Apr 15, 2013 9:15 pm
by Antonio Linares
With Harbour you get a hbmk2.exe tool that reports all the required libraries for a certain project.

We have implemented a GUI interface for hbmk2.exe that makes its use very easy.

Unfortunately none of this is available for xHarbour...

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Tue Apr 16, 2013 11:49 am
by DonDrew
I understand that EXE size and execution speed aren't related. Yet inasmuch as as both were dramatically different from my original version, I thought it appropriate to mention them as possible symptoms of other problems.

Yes, at your suggestion I upgraded to VS 2010 Express.

The original download link I received from you directed me to a web page with links to 2 versions of Harbour. One link was for the the Borland version so I then mistakenly assumed that the other link to xHarbour was a version compatible with my MS compiler. I have since downloaded xharbour_msvc2010_20120319.zip
an replaced my xHarbour installation.

I rewrote my make file by borrowing from Buildm.bat. Unfortunately I could not get a clean link.

I manually identified the unresolved symbols by dumping the contents of each Harbour lib then added the missing LIBs to my make file.

My program compile but I now get an error, Ordinal 2143 could not be found in user32.dll.

I am very interested in trying the hbmk2 you mention, but I cannot find the GUI you mentioned.

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Tue Apr 16, 2013 12:32 pm
by Antonio Linares
Don,

Could you please post the complete libraries names list that you are using ? Thanks

The GUI I mentioned is a FWH example found in samples folder: vmh.prg. You can easily build it using buildh32.bat vmh

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Tue Apr 16, 2013 5:14 pm
by DonDrew
echo $(FWDIR)lib\FiveHCM.lib >> aba.tmp
echo $(FWDIR)lib\FiveHM.lib >> aba.tmp
echo $(HBDIR)lib\hbrtl.lib >> aba.tmp
echo $(HBDIR)lib\hbct.lib >> aba.tmp
echo $(HBDIR)lib\hbvm.lib >> aba.tmp
echo $(HBDIR)lib\gtgui.lib >> aba.tmp
echo $(HBDIR)lib\hbcplr.lib >> aba.tmp
echo $(HBDIR)lib\hblang.lib >> aba.tmp
echo $(HBDIR)lib\hbmacro.lib >> aba.tmp
echo $(HBDIR)lib\hbrdd.lib >> aba.tmp
echo $(HBDIR)lib\hbxpp.lib >> aba.tmp
echo $(HBDIR)lib\mem32.lib >> aba.tmp
echo $(HBDIR)lib\rddntx.lib >> aba.tmp
echo $(HBDIR)lib\rddcdx.lib >> aba.tmp
echo $(HBDIR)lib\rddfpt.lib >> aba.tmp
echo $(HBDIR)lib\send32.lib >> aba.tmp
echo $(HBDIR)lib\hbsix.lib >> aba.tmp
echo $(HBDIR)lib\hbdebug.lib >> aba.tmp
echo $(HBDIR)lib\hbcommon.lib >> aba.tmp
echo $(HBDIR)lib\hbpcre.lib >> aba.tmp
echo $(HBDIR)lib\hbpp.lib >> aba.tmp
echo $(HBDIR)lib\hbcpage.lib >> aba.tmp
echo $(HBDIR)lib\hbwin.lib >> aba.tmp
echo $(HBDIR)lib\xhb.lib >> aba.tmp
echo $(VCLIBS)kernel32.lib >> aba.tmp
echo $(VCLIBS)user32.lib >> aba.tmp
echo $(VCLIBS)gdi32.lib >> aba.tmp
echo $(VCLIBS)winspool.lib >> aba.tmp
echo $(VCLIBS)comctl32.lib >> aba.tmp
echo $(VCLIBS)comdlg32.lib >> aba.tmp
echo $(VCLIBS)advapi32.lib >> aba.tmp
echo $(VCLIBS)shell32.lib >> aba.tmp
echo $(VCLIBS)ole32.lib >> aba.tmp
echo $(VCLIBS)oleaut32.lib >> aba.tmp
echo $(VCLIBS)uuid.lib >> aba.tmp
echo $(VCLIBS)odbc32.lib >> aba.tmp
echo $(VCLIBS)odbccp32.lib >> aba.tmp
echo $(VCLIBS)iphlpapi.lib >> aba.tmp
echo $(VCLIBS)mpr.lib >> aba.tmp
echo $(VCLIBS)version.lib >> aba.tmp
echo $(VCLIBS)wsock32.lib >> aba.tmp
echo $(VCLIBS)msimg32.lib >> aba.tmp
echo $(VCLIBS)oledlg.lib >> aba.tmp

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Sat Apr 20, 2013 2:18 am
by TimStone
My app, using xHarbour.com ( xBuilder ), is 10.960 MB.

My app using Harbour and MSVC 2010 is 11.094 MB

That is hardly significant.

My speed is generally faster with Harbour / MSVC.

Tim

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Sat Apr 20, 2013 5:27 am
by Antonio Linares
Don,

Please try to reverse these two:

echo $(FWDIR)lib\FiveHCM.lib >> aba.tmp
echo $(FWDIR)lib\FiveHM.lib >> aba.tmp

it should be:

echo $(FWDIR)lib\FiveHM.lib >> aba.tmp
echo $(FWDIR)lib\FiveHCM.lib >> aba.tmp

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Sat Apr 20, 2013 9:57 am
by DonDrew
Good Morning,
Regardless of the link order, any combination of FiveHM.Lib/FiveHCM.lib triggers the ordinal 2143 error.

I was finally able to build VMH.prg and run it sucessfully. Based on that, I rewrote my Mak file using Buildh32.Bat which uses the combination of FiveH32.Lib/FiveHC32.lib as my template. The only difference between my make file and Buildh32 was the addition of libs necessary to resolve a few symbols unique to my application.

The resultant EXE will not launch. I get a few seconds of heavy disc activity then nothing.

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Sat Apr 20, 2013 10:43 am
by Antonio Linares
Don,

I was finally able to build VMH.prg and run it sucessfully.


How did you build it ? Using FWH buildh32.bat ?

The resultant EXE will not launch. I get a few seconds of heavy disc activity then nothing.


Do you mean when you build it with your makefile ? If so, could you please post it here so we review it ? thanks

Besides this help, I am available to have a TeamViewer session with you, so I personally review your settings and check it myself. You can download TeamViewer for free, no need to install it, just run it and email me your id and password, thanks ( alinares@fivetechsoft.com )

Re: Upgrading FWH/xHarbour & VS 2010

PostPosted: Sat Apr 20, 2013 11:30 am
by DonDrew
Code: Select all  Expand view
#Microsoft make sample, (c) FiveTech Software 2005

ROOTDIR=e:\aba\aba_4^\
OBJDIR=e:\aba\aba_4\obj^\
CSRCDIR=e:\aba\aba_4\csrc^\
HBDIR=e:\aba\harbour^\
VCDIR=C:\PROGRA~1\Micros~1.0\vc^\
SDKDIR=C:\PROGRA~1\MI2578~1\Windows\v7.0a^\
FWDIR=e:\aba\fwh^\
RESDIR=E:\ABA\ABA_4\ABA_RES\output^\

.SUFFIXES: .prg .c .obj .rc .res

$(ROOTDIR)ABAWIN32.exe : $(OBJDIR)abawin.OBJ   \
             $(OBJDIR)errsysw.OBJ\
             $(OBJDIR)abautil.OBJ  \
             $(OBJDIR)setup.OBJ    \
             $(OBJDIR)Users.OBJ    \
             $(OBJDIR)ABAIndex.OBJ \
             $(OBJDIR)Locals.OBJ \
             $(OBJDIR)Members.OBJ  \
             $(OBJDIR)PDClaims.OBJ \
             $(OBJDIR)LCLClms.OBJ  \
             $(OBJDIR)LCLInvce.OBJ  \
             $(OBJDIR)DCOProcs.OBJ \
             $(OBJDIR)CPMntly.OBJ  \
             $(OBJDIR)CPSumry.OBJ  \
             $(OBJDIR)CPRostr.OBJ  \
             $(OBJDIR)EXPRostr.OBJ \
             $(OBJDIR)PRRoster.OBJ \
             $(OBJDIR)ExpNPL.OBJ   \
             $(OBJDIR)ExpRecon.OBJ \
             $(OBJDIR)UNUMList.OBJ \
             $(OBJDIR)MemPrint.OBJ \
             $(OBJDIR)LCLPrint.OBJ \
             $(OBJDIR)ExprtMem.OBJ \
             $(OBJDIR)clm_Hist.OBJ \
             $(OBJDIR)Queries.OBJ  \
                         $(OBJDIR)archive.obj  \
                         $(OBJDIR)apwlPDF.obj  \
                         $(OBJDIR)apwlXL.obj   \
                         $(OBJDIR)apwRoster.obj\
                         $(OBJDIR)MMBRBill.obj \
                         $(OBJDIR)ClosePP.obj
        echo $(OBJDIR)abawin.OBJ     >  aba.tmp
        echo $(OBJDIR)errsysw.OBJ    >> aba.tmp
    echo $(OBJDIR)abautil.OBJ    >> aba.tmp
    echo $(OBJDIR)setup.OBJ      >> aba.tmp
    echo $(OBJDIR)Users.OBJ      >> aba.tmp
    echo $(OBJDIR)ABAIndex.OBJ   >> aba.tmp
    echo $(OBJDIR)Locals.OBJ     >> aba.tmp
    echo $(OBJDIR)Members.OBJ    >> aba.tmp
    echo $(OBJDIR)PDClaims.OBJ   >> aba.tmp
    echo $(OBJDIR)LCLClms.OBJ    >> aba.tmp
    echo $(OBJDIR)LCLInvce.OBJ   >> aba.tmp
    echo $(OBJDIR)DCOProcs.OBJ   >> aba.tmp
    echo $(OBJDIR)CPMntly.OBJ    >> aba.tmp
    echo $(OBJDIR)CPSumry.OBJ    >> aba.tmp
    echo $(OBJDIR)CPRostr.OBJ    >> aba.tmp
    echo $(OBJDIR)EXPRostr.OBJ   >> aba.tmp
    echo $(OBJDIR)MemPrint.OBJ   >> aba.tmp
        echo $(OBJDIR)LCLPrint.OBJ   >> aba.tmp
    echo $(OBJDIR)ExprtMem.OBJ   >> aba.tmp
    echo $(OBJDIR)clm_Hist.OBJ   >> aba.tmp
    echo $(OBJDIR)Queries.OBJ    >> aba.tmp
    echo $(OBJDIR)archive.OBJ    >> aba.tmp
        echo $(OBJDIR)apwlPDF.obj    >> aba.tmp
        echo $(OBJDIR)apwlXL.obj     >> aba.tmp
        echo $(OBJDIR)apwRoster.obj  >> aba.tmp
        echo $(OBJDIR)PRRoster.obj   >> aba.tmp
    echo $(OBJDIR)ExpRecon.OBJ   >> aba.tmp
    echo $(OBJDIR)UNUMList.OBJ   >> aba.tmp
    echo $(OBJDIR)ClosePP.OBJ    >> aba.tmp
    echo $(OBJDIR)ExpNPL.OBJ     >> aba.tmp
    echo $(OBJDIR)MMBRBill.OBJ   >> aba.tmp

      echo $(FWDIR)lib\FiveHM.lib  >> aba.tmp
    echo $(FWDIR)lib\FiveHCM.lib >> aba.tmp

#     echo $(FWDIR)lib\FiveH32.lib  >> aba.tmp
#    echo $(FWDIR)lib\FiveHC32.lib >> aba.tmp


    echo $(HBDIR)lib\hbrtl.lib    >> aba.tmp
    echo $(HBDIR)lib\hbvm.lib     >> aba.tmp
    echo $(HBDIR)lib\gtgui.lib    >> aba.tmp
    echo $(HBDIR)lib\hblang.lib   >> aba.tmp
    echo $(HBDIR)lib\hbmacro.lib  >> aba.tmp
    echo $(HBDIR)lib\hbrdd.lib    >> aba.tmp
    echo $(HBDIR)lib\rddntx.lib   >> aba.tmp
    echo $(HBDIR)lib\rddcdx.lib   >> aba.tmp
    echo $(HBDIR)lib\rddfpt.lib   >> aba.tmp
    echo $(HBDIR)lib\hbSix.lib    >> aba.tmp
    echo $(HBDIR)lib\hbdebug.lib  >> aba.tmp
    echo $(HBDIR)lib\hbcommon.lib >> aba.tmp
    echo $(HBDIR)lib\hbpp.lib     >> aba.tmp
    echo $(HBDIR)lib\hbcpage.lib  >> aba.tmp
    echo $(HBDIR)lib\hbwin.lib    >> aba.tmp
    echo $(HBDIR)lib\hbcplr.lib   >> aba.tmp
    echo $(HBDIR)lib\hbpcre.lib   >> aba.tmp
    echo $(HBDIR)lib\hbct.lib     >> aba.tmp
    echo $(HBDIR)lib\xhb.lib     >> aba.tmp
    echo $(HBDIR)lib\png.lib      >> aba.tmp
    echo $(HBDIR)lib\hbzlib.lib   >> aba.tmp
    echo $(HBDIR)lib\hbxpp.lib     >> aba.tmp
    echo $(HBDIR)lib\send32.lib     >> aba.tmp
    echo $(HBDIR)lib\mem32.lib     >> aba.tmp

    echo $(SDKDIR)lib\kernel32.lib   >> aba.tmp
    echo $(SDKDIR)lib\user32.lib     >> aba.tmp
    echo $(SDKDIR)lib\gdi32.lib      >> aba.tmp
    echo $(SDKDIR)lib\winspool.lib   >> aba.tmp
    echo $(SDKDIR)lib\comctl32.lib   >> aba.tmp
    echo $(SDKDIR)lib\comdlg32.lib   >> aba.tmp
    echo $(SDKDIR)lib\advapi32.lib   >> aba.tmp
    echo $(SDKDIR)lib\shell32.lib    >> aba.tmp
    echo $(SDKDIR)lib\ole32.lib      >> aba.tmp
    echo $(SDKDIR)lib\oleaut32.lib   >> aba.tmp
    echo $(SDKDIR)lib\uuid.lib       >> aba.tmp
    echo $(SDKDIR)lib\odbc32.lib     >> aba.tmp
    echo $(SDKDIR)lib\odbccp32.lib   >> aba.tmp
    echo $(SDKDIR)lib\iphlpapi.lib   >> aba.tmp
    echo $(SDKDIR)lib\mpr.lib        >> aba.tmp
    echo $(SDKDIR)lib\version.lib    >> aba.tmp
    echo $(SDKDIR)lib\wsock32.lib    >> aba.tmp
    echo $(SDKDIR)lib\msimg32.lib    >> aba.tmp
    echo $(SDKDIR)lib\oledlg.lib     >> aba.tmp
    echo $(SDKDIR)lib\psapi.lib      >> aba.tmp
    echo $(SDKDIR)lib\gdiplus.lib    >> aba.tmp
    echo $(SDKDIR)lib\WinMM.lib      >> aba.tmp

   IF EXIST $(RESDIR)aba.res echo $(RESDIR)aba.res >> aba.tmp

   SET LIB=$(VCDIR)\lib
   $(VCDIR)bin\link @aba.tmp /Out:$(ROOTDIR)AbaWin32.exe  /INCREMENTAL:NO /nologo /force:multiple /subsystem:windows > $(ROOTDIR)link.log

$(OBJDIR)abawin.OBJ    : {$(CSRCDIR)}abawin.c
$(OBJDIR)errsysw.obj   : {$(CSRCDIR)}errsysw.c
$(OBJDIR)abautil.OBJ   : {$(CSRCDIR)}abautil.c
$(OBJDIR)setup.OBJ     : {$(CSRCDIR)}setup.c
$(OBJDIR)Users.OBJ     : {$(CSRCDIR)}Users.c
$(OBJDIR)ABAIndex.OBJ  : {$(CSRCDIR)}ABAIndex.c
$(OBJDIR)Members.OBJ   : {$(CSRCDIR)}Members.c
$(OBJDIR)PDClaims.OBJ  : {$(CSRCDIR)}PDClaims.c
$(OBJDIR)LCLClms.OBJ   : {$(CSRCDIR)}LCLClms.c
$(OBJDIR)LCLInvce.OBJ  : {$(CSRCDIR)}LCLInvce.c
$(OBJDIR)Locals.OBJ    : {$(CSRCDIR)}Locals.c
$(OBJDIR)DCOProcs.OBJ  : {$(CSRCDIR)}DCOProcs.c
$(OBJDIR)CPMntly.OBJ   : {$(CSRCDIR)}CPMntly.c
$(OBJDIR)CPSumry.OBJ   : {$(CSRCDIR)}CPSumry.c
$(OBJDIR)CPRostr.OBJ   : {$(CSRCDIR)}CPRostr.c
$(OBJDIR)EXPRostr.OBJ  : {$(CSRCDIR)}EXPRostr.c
$(OBJDIR)MemPrint.OBJ  : {$(CSRCDIR)}MemPrint.c
$(OBJDIR)LCLPrint.OBJ  : {$(CSRCDIR)}LCLPrint.c
$(OBJDIR)ExprtMem.OBJ  : {$(CSRCDIR)}ExprtMem.c
$(OBJDIR)clm_Hist.OBJ  : {$(CSRCDIR)}clm_Hist.c
$(OBJDIR)Queries.OBJ   : {$(CSRCDIR)}Queries.c
$(OBJDIR)archive.obj   : {$(CSRCDIR)}archive.c
$(OBJDIR)apwlPDF.obj   : {$(CSRCDIR)}apwlPDF.c
$(OBJDIR)apwlXL.obj    : {$(CSRCDIR)}apwlXL.c
$(OBJDIR)apwRoster.obj : {$(CSRCDIR)}apwroster.c
$(OBJDIR)PRRoster.obj  : {$(CSRCDIR)}PRRoster.c
$(OBJDIR)ExpRecon.OBJ  : {$(CSRCDIR)}ExpRecon.c
$(OBJDIR)ExpNPL.OBJ    : {$(CSRCDIR)}ExpNPL.c
$(OBJDIR)UNUMList.OBJ  : {$(CSRCDIR)}UNUMList.c
$(OBJDIR)ClosePP.OBJ   : {$(CSRCDIR)}ClosePP.c
$(OBJDIR)MMBRBill.OBJ  : {$(CSRCDIR)}MMBRBill.c

$(CSRCDIR)abawin.c     : {$(ROOTDIR)}abawin.prg
$(CSRCDIR)errsysw.c    : {$(ROOTDIR)}errsysw.prg
$(CSRCDIR)abautil.c    : {$(ROOTDIR)}abautil.prg
$(CSRCDIR)setup.c      : {$(ROOTDIR)}setup.prg
$(CSRCDIR)Users.c      : {$(ROOTDIR)}users.prg
$(CSRCDIR)ABAIndex.c   : {$(ROOTDIR)}ABAIndex.prg
$(CSRCDIR)Members.c    : {$(ROOTDIR)}Members.prg
$(CSRCDIR)PDClaims.c   : {$(ROOTDIR)}PDClaims.prg
$(CSRCDIR)LCLClms.c    : {$(ROOTDIR)}LCLClms.prg
$(CSRCDIR)LCLInvce.c   : {$(ROOTDIR)}LCLInvce.prg
$(CSRCDIR)ABALocal.c   : {$(ROOTDIR)}Locals.prg
$(CSRCDIR)DCOProcs.c   : {$(ROOTDIR)}DCOProcs.prg
$(CSRCDIR)CPMntly.c    : {$(ROOTDIR)}CPMntly.prg
$(CSRCDIR)CPSumry.c    : {$(ROOTDIR)}CPSumry.prg
$(CSRCDIR)CPRostr.c    : {$(ROOTDIR)}CPRostr.prg
$(CSRCDIR)EXPRostr.c   : {$(ROOTDIR)}EXPRostr.prg
$(CSRCDIR)MemPrint.c   : {$(ROOTDIR)}MemPrint.prg
$(CSRCDIR)LCLPrint.c   : {$(ROOTDIR)}LCLPrint.prg
$(CSRCDIR)ExprtMem.c   : {$(ROOTDIR)}ExprtMem.prg
$(CSRCDIR)clm_Hist.c   : {$(ROOTDIR)}clm_Hist.prg
$(CSRCDIR)Queries.c    : {$(ROOTDIR)}Queries.prg
$(CSRCDIR)Archive.c    : {$(ROOTDIR)}Archive.prg
$(CSRCDIR)apwlPDF.c    : {$(ROOTDIR)}apwlPDF.prg
$(CSRCDIR)apwlXL.c     : {$(ROOTDIR)}apwlXL.prg
$(CSRCDIR)apwroster.c  : {$(ROOTDIR)}apwroster.prg
$(CSRCDIR)PRRoster.c   : {$(ROOTDIR)}PRRoster.prg
$(CSRCDIR)ExpRecon.c   : {$(ROOTDIR)}ExpRecon.prg
$(CSRCDIR)ExpNPL.c     : {$(ROOTDIR)}ExpNPL.prg
$(CSRCDIR)UNUMList.c   : {$(ROOTDIR)}UNUMList.prg
$(CSRCDIR)ClosePP.c    : {$(ROOTDIR)}ClosePP.prg
$(CSRCDIR)MMBRBill.c   : {$(ROOTDIR)}MMBRBill.prg

.rc.res:
 $(SKDIR)bin\rc -i $(SKDIR)\include -v -r -d__FLAT__ $(RESDIR)aba.rc
#########################################################################################################
#

{$(ROOTDIR)}.prg.c:
   $(HBDIR)bin\harbour $< /n /w /p /o$(CSRCDIR) /i$(FWDIR)include;$(HBDIR)include

{$(CSRCDIR)}.c.obj:
        $(VCDIR)bin\cl /c /O2 /TP -W3 -GA -I$(VCDIR)\include -I$(HBDIR)include $<