Hi, Few comments of posted hbmk2 script file: - Should be named .hbp (as _p_roject) not .hbm - Contains lots of platform and installation dependent filenames. All of these should be avoided if portability is a concern. - If workdir is overridden, it should also contain {hb_plat} macro if portability is a concern. - Contains several hard wired file extensions. These should be avoided also, it's handled by hbmk2 automatically. - BCC manual configuration of system lib/inc dirs is unnecessary. - Several win system libs are automatically added by hbmk2 so it's not needed to list them. - For hbqt it's better to use hbqt.hbc (current SVN is broken by the lib code, so that need xhb lib to be added manually) - Uppercase .PRG extension won't cause too much harm but it's recommended to use lowercase for maximum portability.
Brgds, Viktor On Sun, Nov 8, 2009 at 8:18 PM, Pritpal Bedi <bediprit...@hotmail.com>wrote: > > Hi > > > francesco perillo-2 wrote: > > > > where can I find some infos about hbmk2 file syntax ? I created some > > basic .hbm files but I also saw more complex build files that can run > > across different compilers and OS.... > > > > > > I'm using BCC 5.5.... is it ok ? should I move to another compiler ? > > > > Below is vouch.hbm which I use to compile my appln with any compiler, > BCC, MSVC, MINGW. I just call : hbmk2 vouch.hbm. The contents are > self explanatory and you can make out most of it. > > > > # > # Vouch Project File for HBMK2 > # > > -trace > -info > > -inc > -gui > -mt > -gtwvg > -d__VOUCH__ -d__WVT__ -d__oHARBOUR__ -d__OCX__ -d__MT__ -d__MW_PURE__ > -d__NOTAPI__ > > # Working Folder to Retain Object Files > # > -workdir=c:\dev_objs\${hb_comp}\vouch > > > # Executable Name > # > #-oc:\dev_exes\vouch_${hb_comp}.exe > -oc:\dev_projects\harbour\vouch\vouch.exe > > # Header Paths > # > -ic:\dev_sources\vouch\include > -ic:\dev_sources\cachemgr\include > -ic:\dev_sources\v32lib\include > -ic:\dev_sources\freewin\include > -ic:\harbour\contrib\gtwvg > -ic:\harbour\contrib\xhb > > > # Library Paths > # > -L{bcc}c:\bcc55\lib > -L{bcc}c:\bcc55\lib\psdk > -L{bcc}c:\dev_sources\dev_winlibs > > -L{bcc}c:\dev_libs\harbour\bcc > -L{msvc}c:\dev_libs\harbour\msvc > -L{mingw}c:\dev_libs\harbour\mingw > > > # Libraries > # > -lxhb > -lv32lib > -lfreewin > -l{msvc}ezt3mt > -l{bcc}eztwain3 > > -l{allwin}hbwin > -lhbtip > -lhbziparc > -lhbmzip > -lhbnf > -lxhb > -lhbnetio > -lhbmemio > > -l{bcc}mapi32x > -l{bcc}hhctrl > -l{bcc}wininet > > -l{msvc}mapi32 > -l{msvc}wininet > -l{msvc}rasapi32 > -l{msvc}tapi32 > > -l{mingw}comctl32 > -l{mingw}mapi32 > -l{mingw}wininet > -l{mingw}rasapi32 > -l{mingw}tapi32 > > # QT related facts, experimental until I resolve memory issue. > # > #-L${HB_DIR_QT}\lib > > #-l{mingw}hbxbp > #-l{mingw}hbqt > #-l{mingw|mingwce|(gcc&(linux|darwin))}supc++ > #-l{mingw}QtCore4 > #-l{mingw}QtGui4 > #-l{mingw}QtNetwork4 > #-l{mingw}QtWebKit4 > > > # C Compiler Flags > # > -cflag=-D__VOUCH__ > -cflag=-D__nHARBOUR__ > > > # Source Files > # I wished if a filter to parse source path could been implemented > # like -$SOURCE_DIR=c:\dev_sources\vouch\source > # then ${SOURCE_DIR}\Vouch.prg > # This way I could been able to move my whole development tree to > different drive. > # > c:\dev_sources\vouch\source\VOUCH.PRG > c:\dev_sources\vouch\source\A_ARRAY.PRG > c:\dev_sources\vouch\source\B_53.PRG > c:\dev_sources\vouch\source\B_ABOUT.PRG > c:\dev_sources\vouch\source\B_ACHOIC.PRG > c:\dev_sources\vouch\source\B_ADDSCR.PRG > c:\dev_sources\vouch\source\B_ADSEXP.PRG > c:\dev_sources\vouch\source\B_AGENTS.PRG > c:\dev_sources\vouch\source\B_ARRAYS.PRG > c:\dev_sources\vouch\source\B_ARREAD.PRG > c:\dev_sources\vouch\source\B_ARRMNG.PRG > c:\dev_sources\vouch\source\B_ARVIEW.PRG > c:\dev_sources\vouch\source\B_AUTOCD.PRG > c:\dev_sources\vouch\source\B_BACKUP.PRG > c:\dev_sources\vouch\source\B_BATCH.PRG > c:\dev_sources\vouch\source\B_BNKMNG.PRG > c:\dev_sources\vouch\source\B_BRWARR.PRG > c:\dev_sources\vouch\source\B_BRWATC.PRG > c:\dev_sources\vouch\source\B_BRWBRW.PRG > c:\dev_sources\vouch\source\B_BRWCLR.PRG > c:\dev_sources\vouch\source\B_BRWCMP.PRG > c:\dev_sources\vouch\source\B_BRWDBF.PRG > c:\dev_sources\vouch\source\B_BRWF06.PRG > c:\dev_sources\vouch\source\B_BRWF36.PRG > c:\dev_sources\vouch\source\B_BRWGAR.PRG > c:\dev_sources\vouch\source\B_BRWGRF.PRG > c:\dev_sources\vouch\source\B_BRWKEY.PRG > c:\dev_sources\vouch\source\B_BRWOBJ.PRG > c:\dev_sources\vouch\source\B_BRWPRN.PRG > c:\dev_sources\vouch\source\B_BRWRMS.PRG > c:\dev_sources\vouch\source\B_BRWSET.PRG > c:\dev_sources\vouch\source\B_BRWSYS.PRG > c:\dev_sources\vouch\source\B_BRWTXT.PRG > c:\dev_sources\vouch\source\B_BRWUDC.PRG > c:\dev_sources\vouch\source\B_BRWUTL.PRG > c:\dev_sources\vouch\source\B_BUDGET.PRG > c:\dev_sources\vouch\source\B_CALEND.PRG > c:\dev_sources\vouch\source\B_CALFLD.PRG > c:\dev_sources\vouch\source\B_CFGEXP.PRG > c:\dev_sources\vouch\source\B_CFGLOD.PRG > c:\dev_sources\vouch\source\B_CHOICE.PRG > c:\dev_sources\vouch\source\B_CMMNDS.PRG > c:\dev_sources\vouch\source\B_CNSLDT.PRG > c:\dev_sources\vouch\source\B_COMMAN.PRG > c:\dev_sources\vouch\source\B_CONF01.PRG > c:\dev_sources\vouch\source\B_CONFIG.PRG > c:\dev_sources\vouch\source\B_CUSPS.PRG > c:\dev_sources\vouch\source\B_DBDIR.PRG > c:\dev_sources\vouch\source\B_DBFATT.PRG > c:\dev_sources\vouch\source\B_DBFCHG.PRG > c:\dev_sources\vouch\source\B_DETAIL.PRG > c:\dev_sources\vouch\source\B_DEVBOO.PRG > c:\dev_sources\vouch\source\B_DIALOG.PRG > c:\dev_sources\vouch\source\B_DISKST.PRG > c:\dev_sources\vouch\source\B_DOCDOC.PRG > c:\dev_sources\vouch\source\B_DOCTXT.PRG > c:\dev_sources\vouch\source\B_DOCUTL.PRG > c:\dev_sources\vouch\source\B_DOSHEL.PRG > c:\dev_sources\vouch\source\B_DRAPE.PRG > c:\dev_sources\vouch\source\B_EDITOR.PRG > c:\dev_sources\vouch\source\B_EDTALL.PRG > c:\dev_sources\vouch\source\B_EMAIL.PRG > c:\dev_sources\vouch\source\B_EMPLOY.PRG > c:\dev_sources\vouch\source\B_ENKORG.PRG > c:\dev_sources\vouch\source\B_EQUATN.PRG > c:\dev_sources\vouch\source\B_ERROR.PRG > c:\dev_sources\vouch\source\B_EVENT.PRG > c:\dev_sources\vouch\source\B_EXE0.PRG > c:\dev_sources\vouch\source\B_EXE1.PRG > c:\dev_sources\vouch\source\B_EXE2.PRG > c:\dev_sources\vouch\source\B_EXECUT.PRG > c:\dev_sources\vouch\source\B_EXEDLL.PRG > c:\dev_sources\vouch\source\B_EXEMOD.PRG > c:\dev_sources\vouch\source\B_EXERSC.PRG > c:\dev_sources\vouch\source\B_EXESRL.PRG > c:\dev_sources\vouch\source\B_EXPORT.PRG > c:\dev_sources\vouch\source\B_EXPRMT.PRG > c:\dev_sources\vouch\source\B_FABRPT.PRG > c:\dev_sources\vouch\source\B_FILEPA.PRG > c:\dev_sources\vouch\source\B_FILTER.PRG > c:\dev_sources\vouch\source\B_FONTS.PRG > c:\dev_sources\vouch\source\B_FORMAT.PRG > c:\dev_sources\vouch\source\B_FUNCTN.PRG > c:\dev_sources\vouch\source\B_GAUGE.PRG > c:\dev_sources\vouch\source\B_GETACH.PRG > c:\dev_sources\vouch\source\B_GETPUT.PRG > c:\dev_sources\vouch\source\B_GETSOM.PRG > c:\dev_sources\vouch\source\B_GETSTK.PRG > c:\dev_sources\vouch\source\B_GRCHAR.PRG > c:\dev_sources\vouch\source\B_GRFV01.PRG > c:\dev_sources\vouch\source\B_GRID.PRG > c:\dev_sources\vouch\source\B_HRULER.PRG > c:\dev_sources\vouch\source\B_IDXBAR.PRG > c:\dev_sources\vouch\source\B_IMPORT.PRG > c:\dev_sources\vouch\source\B_INDEX.PRG > c:\dev_sources\vouch\source\B_INET.PRG > c:\dev_sources\vouch\source\B_INITLZ.PRG > c:\dev_sources\vouch\source\B_INKEYS.PRG > c:\dev_sources\vouch\source\B_JOBPRS.PRG > c:\dev_sources\vouch\source\B_KEEPER.PRG > c:\dev_sources\vouch\source\B_LABELS.PRG > c:\dev_sources\vouch\source\B_LDRBWR.PRG > c:\dev_sources\vouch\source\B_LICENS.PRG > c:\dev_sources\vouch\source\B_LISTDR.PRG > c:\dev_sources\vouch\source\B_LLIBB.PRG > c:\dev_sources\vouch\source\B_LOCKS.PRG > c:\dev_sources\vouch\source\B_LODDAT.PRG > c:\dev_sources\vouch\source\B_LODFLD.PRG > c:\dev_sources\vouch\source\B_LOG.PRG > c:\dev_sources\vouch\source\B_LUKCHK.PRG > c:\dev_sources\vouch\source\B_MACROS.PRG > c:\dev_sources\vouch\source\B_MDLOCK.PRG > c:\dev_sources\vouch\source\B_MENU_Z.PRG > c:\dev_sources\vouch\source\B_MENUTO.PRG > c:\dev_sources\vouch\source\B_MNGDAT.PRG > c:\dev_sources\vouch\source\B_MOVEWN.PRG > c:\dev_sources\vouch\source\B_MSAGNT.PRG > c:\dev_sources\vouch\source\B_MSGBOX.PRG > c:\dev_sources\vouch\source\B_MSWORD.PRG > c:\dev_sources\vouch\source\B_NEWPRS.PRG > c:\dev_sources\vouch\source\B_NOTES.PRG > c:\dev_sources\vouch\source\B_NUM2FG.PRG > c:\dev_sources\vouch\source\B_OBJECT.PRG > c:\dev_sources\vouch\source\B_ORDERS.PRG > c:\dev_sources\vouch\source\B_ORGDTL.PRG > c:\dev_sources\vouch\source\B_ORGNZN.PRG > c:\dev_sources\vouch\source\B_PAGER.PRG > c:\dev_sources\vouch\source\B_PIKDAT.PRG > c:\dev_sources\vouch\source\B_PIKSYS.PRG > c:\dev_sources\vouch\source\B_POPS.PRG > c:\dev_sources\vouch\source\B_POPUPS.PRG > c:\dev_sources\vouch\source\B_PRGEXE.PRG > c:\dev_sources\vouch\source\B_PRGWRI.PRG > c:\dev_sources\vouch\source\B_PRINTA.PRG > c:\dev_sources\vouch\source\B_PRINTX.PRG > c:\dev_sources\vouch\source\B_PRINTZ.PRG > c:\dev_sources\vouch\source\B_PRNCOM.PRG > c:\dev_sources\vouch\source\B_PROMPT.PRG > c:\dev_sources\vouch\source\B_PURBUK.PRG > c:\dev_sources\vouch\source\B_QBM.PRG > c:\dev_sources\vouch\source\B_READER.PRG > c:\dev_sources\vouch\source\B_REMIND.PRG > c:\dev_sources\vouch\source\B_RENUMB.PRG > c:\dev_sources\vouch\source\B_REPLAC.PRG > c:\dev_sources\vouch\source\B_REPORT.PRG > c:\dev_sources\vouch\source\B_RQUEST.PRG > c:\dev_sources\vouch\source\B_SAVENV.PRG > c:\dev_sources\vouch\source\B_SCHEDL.PRG > c:\dev_sources\vouch\source\B_SCROLB.PRG > c:\dev_sources\vouch\source\B_SDWBOX.PRG > c:\dev_sources\vouch\source\B_SEARCH.PRG > c:\dev_sources\vouch\source\B_SELCTN.PRG > c:\dev_sources\vouch\source\B_SELREC.PRG > c:\dev_sources\vouch\source\B_SEMA4.PRG > c:\dev_sources\vouch\source\B_SETS.PRG > c:\dev_sources\vouch\source\B_SETS_Y.PRG > c:\dev_sources\vouch\source\B_SIZEWN.PRG > c:\dev_sources\vouch\source\B_SLIDE.PRG > c:\dev_sources\vouch\source\B_SLRGEN.PRG > c:\dev_sources\vouch\source\B_SPEED.PRG > c:\dev_sources\vouch\source\B_SQL.PRG > c:\dev_sources\vouch\source\B_STDLGR.PRG > c:\dev_sources\vouch\source\B_STOCKS.PRG > c:\dev_sources\vouch\source\B_SUBSET.PRG > c:\dev_sources\vouch\source\B_TAXRTN.PRG > c:\dev_sources\vouch\source\B_TB2HTM.PRG > c:\dev_sources\vouch\source\B_TDS.PRG > c:\dev_sources\vouch\source\B_TITLE.PRG > c:\dev_sources\vouch\source\B_TMPLAT.PRG > c:\dev_sources\vouch\source\B_TREE.PRG > c:\dev_sources\vouch\source\B_TRIGNO.PRG > c:\dev_sources\vouch\source\B_UPDATE.PRG > c:\dev_sources\vouch\source\B_UPDFRM.PRG > c:\dev_sources\vouch\source\B_UPLOAD.PRG > c:\dev_sources\vouch\source\B_USERS.PRG > c:\dev_sources\vouch\source\B_USRDBF.PRG > c:\dev_sources\vouch\source\B_V32PRN.PRG > c:\dev_sources\vouch\source\B_VGACLR.PRG > c:\dev_sources\vouch\source\B_VRULER.PRG > c:\dev_sources\vouch\source\B_WAITON.PRG > c:\dev_sources\vouch\source\B_WEBUTL.PRG > c:\dev_sources\vouch\source\B_WHNVLD.PRG > c:\dev_sources\vouch\source\B_WVT.PRG > c:\dev_sources\vouch\source\B_WVTDLG.PRG > c:\dev_sources\vouch\source\B_YEAR.PRG > c:\dev_sources\vouch\source\BROWS_DI.PRG > c:\dev_sources\vouch\source\C_CHGATR.PRG > c:\dev_sources\vouch\source\C_CREATE.PRG > c:\dev_sources\vouch\source\C_DVMENU.PRG > c:\dev_sources\vouch\source\C_MAKPRG.PRG > c:\dev_sources\vouch\source\C_PRSFMT.PRG > c:\dev_sources\vouch\source\C_SAVPRG.PRG > c:\dev_sources\vouch\source\CL_BRWIX.PRG > c:\dev_sources\vouch\source\CL_DPRNT.PRG > c:\dev_sources\vouch\source\CL_EDIT.PRG > c:\dev_sources\vouch\source\CL_PDF.PRG > c:\dev_sources\vouch\source\CL_PRINT.PRG > c:\dev_sources\vouch\source\CL_RPDGN.PRG > c:\dev_sources\vouch\source\CL_RPGNR.PRG > c:\dev_sources\vouch\source\CL_STACK.PRG > c:\dev_sources\vouch\source\CL_STKNN.PRG > c:\dev_sources\vouch\source\F6_KEYS.PRG > c:\dev_sources\vouch\source\FA_ACCNT.PRG > c:\dev_sources\vouch\source\FA_AGING.PRG > c:\dev_sources\vouch\source\FA_BKMRG.PRG > c:\dev_sources\vouch\source\FA_BOOK2.PRG > c:\dev_sources\vouch\source\FA_BOOKS.PRG > c:\dev_sources\vouch\source\FA_DEPRI.PRG > c:\dev_sources\vouch\source\FA_FINAL.PRG > c:\dev_sources\vouch\source\FA_FNLNW.PRG > c:\dev_sources\vouch\source\FA_MENU.PRG > c:\dev_sources\vouch\source\FA_MULTI.PRG > c:\dev_sources\vouch\source\FA_QUICK.PRG > c:\dev_sources\vouch\source\FA_RCNSL.PRG > c:\dev_sources\vouch\source\FA_SELCT.PRG > c:\dev_sources\vouch\source\FA_SINGL.PRG > c:\dev_sources\vouch\source\FA_TRIAL.PRG > c:\dev_sources\vouch\source\FA_VOUCH.PRG > c:\dev_sources\vouch\source\G_POPDAT.PRG > c:\dev_sources\vouch\source\GN_ASMBL.PRG > c:\dev_sources\vouch\source\GN_BANKS.PRG > c:\dev_sources\vouch\source\GN_CARGO.PRG > c:\dev_sources\vouch\source\GN_CLUBS.PRG > c:\dev_sources\vouch\source\GN_COURR.PRG > c:\dev_sources\vouch\source\GN_DAIRY.PRG > c:\dev_sources\vouch\source\GN_DVLOP.PRG > c:\dev_sources\vouch\source\GN_EXPRT.PRG > c:\dev_sources\vouch\source\GN_HOTEL.PRG > c:\dev_sources\vouch\source\GN_HSPTL.PRG > c:\dev_sources\vouch\source\GN_ISO.PRG > c:\dev_sources\vouch\source\GN_KITTY.PRG > c:\dev_sources\vouch\source\GN_N1MKT.PRG > c:\dev_sources\vouch\source\GN_N2MKT.PRG > c:\dev_sources\vouch\source\GN_NTMKT.PRG > c:\dev_sources\vouch\source\GN_PPUMP.PRG > c:\dev_sources\vouch\source\GN_PRDTN.PRG > c:\dev_sources\vouch\source\GN_SCHOL.PRG > c:\dev_sources\vouch\source\GN_SHARE.PRG > c:\dev_sources\vouch\source\GN_SLRNW.PRG > c:\dev_sources\vouch\source\GN_TRNSP.PRG > c:\dev_sources\vouch\source\GN_XCHNG.PRG > c:\dev_sources\vouch\source\HB_CHG2B.PRG > c:\dev_sources\vouch\source\MV_RPRT1.PRG > c:\dev_sources\vouch\source\R_SPENCE.PRG > c:\dev_sources\vouch\source\RP_DESGN.PRG > c:\dev_sources\vouch\source\RP_GNRTR.PRG > c:\dev_sources\vouch\source\RP_INVIC.PRG > c:\dev_sources\vouch\source\RP_STOCK.PRG > c:\dev_sources\vouch\source\SAV_ARRY.PRG > c:\dev_sources\vouch\source\SAV_COLR.PRG > c:\dev_sources\vouch\source\SC_DESGN.PRG > c:\dev_sources\vouch\source\SC_FIELD.PRG > c:\dev_sources\vouch\source\SC_MENU.PRG > c:\dev_sources\vouch\source\SC_OUTPT.PRG > c:\dev_sources\vouch\source\SC_PRINT.PRG > c:\dev_sources\vouch\source\SC_PRPTY.PRG > c:\dev_sources\vouch\source\SC_UTLTY.PRG > c:\dev_sources\vouch\source\SRVR_DTA.PRG > c:\dev_sources\vouch\source\SRVR_MRG.PRG > c:\dev_sources\vouch\source\SRVR_PRD.PRG > c:\dev_sources\vouch\source\SRVR_QRY.PRG > c:\dev_sources\vouch\source\ST_SETUP.PRG > c:\dev_sources\vouch\source\ST_VOUCH.PRG > c:\dev_sources\vouch\source\STD_VOCH.PRG > c:\dev_sources\vouch\source\TSTPDF.PRG > c:\dev_sources\vouch\source\V_CLCLTR.PRG > c:\dev_sources\vouch\source\V_DEL_FL.PRG > c:\dev_sources\vouch\source\V_GEN_01.PRG > c:\dev_sources\vouch\source\V_GENERL.PRG > c:\dev_sources\vouch\source\V_HELP.PRG > c:\dev_sources\vouch\source\V_KRYPT.PRG > c:\dev_sources\vouch\source\V_LOGOS.PRG > c:\dev_sources\vouch\source\V_PASWRD.PRG > c:\dev_sources\vouch\source\V_PROFIL.PRG > c:\dev_sources\vouch\source\V_TIMES.PRG > c:\dev_sources\vouch\source\V_UNQNUM.PRG > c:\dev_sources\vouch\source\B_Ocx.prg > c:\dev_sources\vouch\source\FR_RPORT.PRG > c:\dev_sources\vouch\source\FastRepV.prg > c:\dev_sources\vouch\source\FastRepH.prg > c:\dev_sources\vouch\source\cj_calndr.prg > c:\dev_sources\vouch\source\xb_brows.prg > c:\dev_sources\vouch\source\b_wvg.prg > c:\dev_sources\vouch\source\vou_brws.prg > > c:\dev_sources\vouch\source\VOUCH32.PRG > > c:\dev_sources\cachemgr\source\ActivLbl.prg > c:\dev_sources\cachemgr\source\TxText.prg > c:\dev_sources\cachemgr\source\FastRepo.prg > c:\dev_sources\cachemgr\source\Calendar.prg > c:\dev_sources\cachemgr\source\CJReport.prg > c:\dev_sources\cachemgr\source\FuncList.prg > > {bcc|msvc}c:\dev_sources\vouch\source\b_client.prg > {bcc|msvc}c:\dev_sources\vouch\source\b_scan.prg > > c:\dev_sources\vouch\source\tprinter.c > > {bcc|msvc}C:\dev_sources\vouch\source\hbeztwain.c > > c:\dev_sources\dev_resources\vouch.res > {bcc|msvc}c:\dev_sources\dev_resources\ar32.res > > # End vouch.hbm > > > Hope it helps. > > Regards > Pritpal Bedi > > > > -- > View this message in context: > http://old.nabble.com/From-xHarbour-to-Harbour%3A-need-some-infos-tp26256686p26256941.html > Sent from the Harbour - Dev mailing list archive at Nabble.com. > > _______________________________________________ > Harbour mailing list > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour >
_______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour