diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 13dded7b56..e1dd9d76a1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,25 @@ +20000314-07:11 GMT+1 Victor Szakats + * makefile.vc + makefile.bc + make_*.bat + * Other parts synchronized between the two make systems. + + makefile.vc will also compile mainwin.c, maindll.c and mainstd.c + instead of main.c. + ! MSVC makefile fixed to create objects for .EXE in the obj dir. + This way the exact same files are generated in the obj dir in Borland + and MSVC. + - Removed the generation of bison .output file. + * source/macro/macro.l + ! Fixed two warnings introduced yesterday. + * source/vm/maindll.c + ! _export changed to __declspec(dllexport) to avoid a warning in MSVC. + - contrib/rdd_ads/make_rdd.bat + - contrib/rdd_ads/rddads.b32 + + contrib/rdd_ads/make_b32.bat + + contrib/rdd_ads/makefile.bc + * contrib/rdd_ads/readme.txt + + Standardized Borland make for RDDADS. + 20000314-01:30 GMT+1 Victor Szakats * make_*.bat contrib/rdd_ads/make_vc.bat diff --git a/harbour/contrib/rdd_ads/make_b32.bat b/harbour/contrib/rdd_ads/make_b32.bat new file mode 100644 index 0000000000..aeeb3e4078 --- /dev/null +++ b/harbour/contrib/rdd_ads/make_b32.bat @@ -0,0 +1,22 @@ +@echo off +rem +rem $Id$ +rem + +:BUILD + + make -fmakefile.bc %1 %2 %3 > make_b32.log + if errorlevel 1 goto BUILD_ERR + +:BUILD_OK + + copy ..\..\lib\b32\rddads.lib ..\..\lib\*.* > nul + goto EXIT + +:BUILD_ERR + + notepad make_b32.log + goto EXIT + +:EXIT + diff --git a/harbour/contrib/rdd_ads/make_rdd.bat b/harbour/contrib/rdd_ads/make_rdd.bat deleted file mode 100644 index 955fc7cc60..0000000000 --- a/harbour/contrib/rdd_ads/make_rdd.bat +++ /dev/null @@ -1,2 +0,0 @@ -make -frddads.b32 > make_b32.log -copy ..\..\lib\b32\rddads.lib ..\..\lib\ > nul diff --git a/harbour/contrib/rdd_ads/makefile.bc b/harbour/contrib/rdd_ads/makefile.bc new file mode 100644 index 0000000000..b1578d1414 --- /dev/null +++ b/harbour/contrib/rdd_ads/makefile.bc @@ -0,0 +1,30 @@ +# +# $Id$ +# + +# makefile for Borland C/C++ 32 bits +# Building of rddads.lib - RDD for Advantage Database Server + +INCLUDE_DIR = ..\..\include + +BIN_DIR = ..\..\bin\b32 +OBJ_DIR = ..\..\obj\b32 +LIB_DIR = ..\..\lib\b32 + +$(LIB_DIR)\rddads.lib : \ + $(OBJ_DIR)\ads0.obj \ + $(OBJ_DIR)\ads1.obj \ + $(OBJ_DIR)\adsfunc.obj + +$(OBJ_DIR)\ads0.c : ads0.prg +$(OBJ_DIR)\ads0.obj : $(OBJ_DIR)\ads0.c +$(OBJ_DIR)\ads1.obj : ads1.c +$(OBJ_DIR)\adsfunc.obj : adsfunc.c + +.c.obj: + bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -o$@ $< + tlib $(LIB_DIR)\rddads.lib -+$@,, + +.prg.c: + $(BIN_DIR)\harbour.exe $< -q0 -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@ + diff --git a/harbour/contrib/rdd_ads/rddads.b32 b/harbour/contrib/rdd_ads/rddads.b32 deleted file mode 100644 index 10578f49cf..0000000000 --- a/harbour/contrib/rdd_ads/rddads.b32 +++ /dev/null @@ -1,24 +0,0 @@ -# -# $Id$ -# - -# makefile for Borland C/C++ 32 bits -# Building of rddads.lib - RDD for Advantage Database Server - -.path.lib = ..\..\lib\b32 - -lib\b32\rddads.lib : ads0.obj ads1.obj adsfunc.obj - -ads0.c : ads0.prg - -ads1.obj : ads1.c -ads0.obj : ads0.c -adsfunc.obj : adsfunc.c - -.c.obj : - bcc32 $(BCC_OPT) -c -O2 -I..\..\include -o$@ -v $< - tlib ..\..\lib\b32\rddads.lib -+$@,, - -.prg.c: - ..\..\bin\harbour $< /n /i..\..\include - diff --git a/harbour/contrib/rdd_ads/readme.txt b/harbour/contrib/rdd_ads/readme.txt index 580d5a398d..d6e5da0341 100644 --- a/harbour/contrib/rdd_ads/readme.txt +++ b/harbour/contrib/rdd_ads/readme.txt @@ -10,7 +10,7 @@ You need also to create ace32.lib with the help of implib.exe: implib ace32.lib ace32.dll - Then build rddads.lib using make_rdd.bat . + Then build rddads.lib using make_b32.bat or make_vc.bat. For building executables don't forget to include the ace32.lib and rddads.lib to the make file or link script. diff --git a/harbour/make_b16.bat b/harbour/make_b16.bat index 9009a47d98..ebe6063066 100644 --- a/harbour/make_b16.bat +++ b/harbour/make_b16.bat @@ -28,7 +28,6 @@ if "%1" == "CLEAN" goto CLEAN if exist bin\b16\*.tds del bin\b16\*.tds if exist lib\b16\*.lib del lib\b16\*.lib if exist lib\b16\*.bak del lib\b16\*.bak - if exist obj\b16\*.out del obj\b16\*.out if exist obj\b16\*.obj del obj\b16\*.obj if exist obj\b16\*.c del obj\b16\*.c if exist obj\b16\*.h del obj\b16\*.h diff --git a/harbour/make_b32.bat b/harbour/make_b32.bat index 0b42d403df..b70f0fb4b0 100644 --- a/harbour/make_b32.bat +++ b/harbour/make_b32.bat @@ -28,7 +28,6 @@ if "%1" == "CLEAN" goto CLEAN if exist bin\b32\*.tds del bin\b32\*.tds if exist lib\b32\*.lib del lib\b32\*.lib if exist lib\b32\*.bak del lib\b32\*.bak - if exist obj\b32\*.out del obj\b32\*.out if exist obj\b32\*.obj del obj\b32\*.obj if exist obj\b32\*.c del obj\b32\*.c if exist obj\b32\*.h del obj\b32\*.h diff --git a/harbour/make_vc.bat b/harbour/make_vc.bat index 51cd027680..bbd54434e4 100644 --- a/harbour/make_vc.bat +++ b/harbour/make_vc.bat @@ -26,7 +26,6 @@ if "%1" == "CLEAN" goto CLEAN if exist bin\vc\*.exe del bin\vc\*.exe if exist lib\vc\*.lib del lib\vc\*.lib - if exist obj\vc\*.out del obj\vc\*.out if exist obj\vc\*.obj del obj\vc\*.obj if exist obj\vc\*.c del obj\vc\*.c if exist obj\vc\*.h del obj\vc\*.h diff --git a/harbour/makefile.bc b/harbour/makefile.bc index 76e363cd6d..ab3bd79082 100644 --- a/harbour/makefile.bc +++ b/harbour/makefile.bc @@ -14,7 +14,7 @@ CFLAGS = $(CFLAGS) -d # Borland C/C++ (DOS 16 bits) CC = bcc -CFLAGS = $(CFLAGS) -DHB_GT_DOS -mh -O2 +CFLAGS = $(CFLAGS) -DHB_GT_DOS -mh AS = tasm BIN_DIR = bin\b16 OBJ_DIR = obj\b16 @@ -30,286 +30,391 @@ BIN_DIR = bin\b32 OBJ_DIR = obj\b32 LIB_DIR = lib\b32 +!endif + !if !$d(BCC_NOOPTIM) CFLAGS = $(CFLAGS) -O2 !endif -!endif +# +# Directory macros. These should never have to change. +# + +INCLUDE_DIR = include +COMMON_DIR = source\common +COMPILER_DIR = source\compiler +DEBUG_DIR = source\debug +MACRO_DIR = source\macro +PP_DIR = source\pp +RDD_DIR = source\rdd +RTL_DIR = source\rtl +RUNNER_DIR = source\runner +TOOLS_DIR = source\tools +VM_DIR = source\vm +HBTEST_DIR = utils\hbtest +HBDOC_DIR = utils\hbdoc + +# +# C compiler definition and C flags. These should never have to change. +# CFLAGS = $(CFLAGS) -I$(INCLUDE_DIR) CLIBFLAGS = $(CFLAGS) -c -INCLUDE_DIR = include -COMPILER_DIR = source\compiler -COMMON_DIR = source\common -PP_DIR = source\pp -VM_DIR = source\vm -RTL_DIR = source\rtl -TOOLS_DIR = source\tools -MACRO_DIR = source\macro -RDD_DIR = source\rdd -RUNNER_DIR = source\runner -DEBUG_DIR = source\debug -HBTEST_DIR = utils\hbtest -HBDOC_DIR = utils\hbdoc - HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w -es2 -gc0 -COMMON_LIB = $(LIB_DIR)\common.lib -COMMON_LIB_OBJS = $(OBJ_DIR)\hbfsapi.obj \ - $(OBJ_DIR)\hbstr.obj \ - $(OBJ_DIR)\reserved.obj \ - $(OBJ_DIR)\hbtrace.obj +# +# Macros to access our library names +# -PP_LIB = $(LIB_DIR)\pp.lib -PP_LIB_OBJS = $(OBJ_DIR)\ppcore.obj \ - $(OBJ_DIR)\ppcomp.obj \ - $(OBJ_DIR)\pplib.obj \ - $(OBJ_DIR)\pptable.obj +COMMON_LIB = $(LIB_DIR)\common.lib +DBFCDX_LIB = $(LIB_DIR)\dbfcdx.lib +DBFNTX_LIB = $(LIB_DIR)\dbfntx.lib +DEBUG_LIB = $(LIB_DIR)\debug.lib +MACRO_LIB = $(LIB_DIR)\macro.lib +NULSYS_LIB = $(LIB_DIR)\nulsys.lib +PP_LIB = $(LIB_DIR)\pp.lib +RDD_LIB = $(LIB_DIR)\rdd.lib +RTL_LIB = $(LIB_DIR)\rtl.lib +RUNNER_LIB = $(LIB_DIR)\runner.lib +TOOLS_LIB = $(LIB_DIR)\tools.lib +VM_LIB = $(LIB_DIR)\vm.lib -HARBOUR_EXE = $(BIN_DIR)\harbour.exe -HARBOUR_EXE_OBJS = $(OBJ_DIR)\harbour.obj \ - $(OBJ_DIR)\harboury.obj \ - $(OBJ_DIR)\harbourl.obj \ - $(OBJ_DIR)\cmdcheck.obj \ - $(OBJ_DIR)\hbusage.obj \ - $(OBJ_DIR)\hbgenerr.obj \ - $(OBJ_DIR)\hbpcode.obj \ - $(OBJ_DIR)\genc.obj \ - $(OBJ_DIR)\genobj32.obj \ - $(OBJ_DIR)\genjava.obj \ - $(OBJ_DIR)\genpas.obj \ - $(OBJ_DIR)\genrc.obj \ - $(OBJ_DIR)\genhrb.obj \ - $(OBJ_DIR)\expropt.obj \ - $(OBJ_DIR)\hbfunchk.obj - -PP_EXE = $(BIN_DIR)\hbpp.exe - -RDD_LIB = $(LIB_DIR)\rdd.lib -RDD_LIB_OBJS = $(OBJ_DIR)\dbcmd.obj \ - $(OBJ_DIR)\dbf0.obj \ - $(OBJ_DIR)\dbf1.obj \ - $(OBJ_DIR)\dbnubs.obj \ - $(OBJ_DIR)\dbstrux.obj \ - $(OBJ_DIR)\sdf0.obj \ - $(OBJ_DIR)\sdf1.obj \ - $(OBJ_DIR)\delim0.obj \ - $(OBJ_DIR)\delim1.obj \ - $(OBJ_DIR)\rddord.obj \ - $(OBJ_DIR)\rddsys.obj - -VM_LIB = $(LIB_DIR)\vm.lib -VM_LIB_OBJS = $(OBJ_DIR)\arrays.obj \ - $(OBJ_DIR)\break.obj \ - $(OBJ_DIR)\classes.obj \ - $(OBJ_DIR)\cmdarg.obj \ - $(OBJ_DIR)\codebloc.obj \ - $(OBJ_DIR)\debug.obj \ - $(OBJ_DIR)\dynsym.obj \ - $(OBJ_DIR)\extend.obj \ - $(OBJ_DIR)\fm.obj \ - $(OBJ_DIR)\harbinit.obj \ - $(OBJ_DIR)\hvm.obj \ - $(OBJ_DIR)\initexit.obj \ - $(OBJ_DIR)\initsymb.obj \ - $(OBJ_DIR)\itemapi.obj \ - $(OBJ_DIR)\maindll.obj \ - $(OBJ_DIR)\mainstd.obj \ - $(OBJ_DIR)\mainwin.obj \ - $(OBJ_DIR)\memvars.obj \ - $(OBJ_DIR)\pcount.obj \ - $(OBJ_DIR)\proc.obj \ - $(OBJ_DIR)\pvalue.obj \ - $(OBJ_DIR)\symbols.obj - -RTL_LIB = $(LIB_DIR)\rtl.lib -RTL_LIB_OBJS = $(OBJ_DIR)\achoice.obj \ - $(OBJ_DIR)\adir.obj \ - $(OBJ_DIR)\alert.obj \ - $(OBJ_DIR)\asort.obj \ - $(OBJ_DIR)\binnum.obj \ - $(OBJ_DIR)\browdb.obj \ - $(OBJ_DIR)\browse.obj \ - $(OBJ_DIR)\console.obj \ - $(OBJ_DIR)\copyfile.obj \ - $(OBJ_DIR)\dates.obj \ - $(OBJ_DIR)\dbedit.obj \ - $(OBJ_DIR)\descend.obj \ - $(OBJ_DIR)\devoutp.obj \ - $(OBJ_DIR)\dir.obj \ - $(OBJ_DIR)\dircmd.obj \ - $(OBJ_DIR)\do.obj \ - $(OBJ_DIR)\dummy.obj \ - $(OBJ_DIR)\empty.obj \ - $(OBJ_DIR)\environ.obj \ - $(OBJ_DIR)\errorapi.obj \ - $(OBJ_DIR)\errorsys.obj \ - $(OBJ_DIR)\fieldbl.obj \ - $(OBJ_DIR)\filesys.obj \ - $(OBJ_DIR)\gtapi.obj \ - $(OBJ_DIR)\gtxxx.obj \ - $(OBJ_DIR)\hardcr.obj \ - $(OBJ_DIR)\inkey.obj \ - $(OBJ_DIR)\input.obj \ - $(OBJ_DIR)\isprint.obj \ - $(OBJ_DIR)\langapi.obj \ - $(OBJ_DIR)\len.obj \ - $(OBJ_DIR)\math.obj \ - $(OBJ_DIR)\memofile.obj \ - $(OBJ_DIR)\memoline.obj \ - $(OBJ_DIR)\memvarbl.obj \ - $(OBJ_DIR)\menuto.obj \ - $(OBJ_DIR)\mlcount.obj \ - $(OBJ_DIR)\mlpos.obj \ - $(OBJ_DIR)\mouseapi.obj \ - $(OBJ_DIR)\mousexxx.obj \ - $(OBJ_DIR)\msgxxx.obj \ - $(OBJ_DIR)\mtran.obj \ - $(OBJ_DIR)\natmsg.obj \ - $(OBJ_DIR)\net.obj \ - $(OBJ_DIR)\objfunc.obj \ - $(OBJ_DIR)\oemansi.obj \ - $(OBJ_DIR)\oldbox.obj \ - $(OBJ_DIR)\oldclear.obj \ - $(OBJ_DIR)\readkey.obj \ - $(OBJ_DIR)\samples.obj \ - $(OBJ_DIR)\set.obj \ - $(OBJ_DIR)\setcolor.obj \ - $(OBJ_DIR)\setfunc.obj \ - $(OBJ_DIR)\setkey.obj \ - $(OBJ_DIR)\setta.obj \ - $(OBJ_DIR)\soundex.obj \ - $(OBJ_DIR)\strings.obj \ - $(OBJ_DIR)\tbcolumn.obj \ - $(OBJ_DIR)\tbrowse.obj \ - $(OBJ_DIR)\tclass.obj \ - $(OBJ_DIR)\terror.obj \ - $(OBJ_DIR)\text.obj \ - $(OBJ_DIR)\tget.obj \ - $(OBJ_DIR)\tgetlist.obj \ - $(OBJ_DIR)\tlabel.obj \ - $(OBJ_DIR)\tone.obj \ - $(OBJ_DIR)\trace.obj \ - $(OBJ_DIR)\transfrm.obj \ - $(OBJ_DIR)\treport.obj \ - $(OBJ_DIR)\type.obj \ - $(OBJ_DIR)\typefile.obj \ - $(OBJ_DIR)\valtype.obj \ - $(OBJ_DIR)\wait.obj \ - $(OBJ_DIR)\word.obj \ - $(OBJ_DIR)\xhelp.obj \ - $(OBJ_DIR)\xsavescr.obj - -TOOLS_LIB = $(LIB_DIR)\tools.lib -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)\ctchksum.obj \ - $(OBJ_DIR)\ctchrmix.obj \ - $(OBJ_DIR)\ctcrypt.obj \ - $(OBJ_DIR)\dates2.obj \ - $(OBJ_DIR)\datesx.obj \ - $(OBJ_DIR)\dbftools.obj \ - $(OBJ_DIR)\fileread.obj \ - $(OBJ_DIR)\hb_f.obj \ - $(OBJ_DIR)\html.obj \ - $(OBJ_DIR)\io.obj \ - $(OBJ_DIR)\mathx.obj \ - $(OBJ_DIR)\nconvert.obj \ - $(OBJ_DIR)\ng.obj \ - $(OBJ_DIR)\numtxten.obj \ - $(OBJ_DIR)\numtxthu.obj \ - $(OBJ_DIR)\os2.obj \ - $(OBJ_DIR)\rtf.obj \ - $(OBJ_DIR)\strasint.obj \ - $(OBJ_DIR)\strcount.obj \ - $(OBJ_DIR)\strcspn.obj \ - $(OBJ_DIR)\strdiff.obj \ - $(OBJ_DIR)\strexpan.obj \ - $(OBJ_DIR)\strfmt.obj \ - $(OBJ_DIR)\stringp.obj \ - $(OBJ_DIR)\stringsx.obj \ - $(OBJ_DIR)\strleft.obj \ - $(OBJ_DIR)\strpbrk.obj \ - $(OBJ_DIR)\strright.obj \ - $(OBJ_DIR)\troff.obj - -MACRO_LIB = $(LIB_DIR)\macro.lib -MACRO_LIB_OBJS = $(OBJ_DIR)\macroy.obj \ - $(OBJ_DIR)\macrol.obj \ - $(OBJ_DIR)\macro.obj - -NULSYS_LIB = $(LIB_DIR)\nulsys.lib -NULSYS_LIB_OBJS = $(OBJ_DIR)\nulsys.obj - -DBFNTX_LIB = $(LIB_DIR)\dbfntx.lib -DBFNTX_LIB_OBJS = $(OBJ_DIR)\dbfntx0.obj \ - $(OBJ_DIR)\dbfntx1.obj - -DBFCDX_LIB = $(LIB_DIR)\dbfcdx.lib -DBFCDX_LIB_OBJS = $(OBJ_DIR)\dbfcdx0.obj \ - $(OBJ_DIR)\dbfcdx1.obj - -RUNNER_LIB = $(LIB_DIR)\runner.lib -RUNNER_LIB_OBJS = $(OBJ_DIR)\runlib.obj - -RUNNER_EXE = $(BIN_DIR)\hbrun.exe - -DEBUG_LIB = $(LIB_DIR)\debug.lib -DEBUG_LIB_OBJS = $(OBJ_DIR)\dbgmenu.obj \ - $(OBJ_DIR)\debugger.obj \ - $(OBJ_DIR)\tbrwtext.obj - -HBTEST_EXE = $(BIN_DIR)\hbtest.exe -HBTEST_EXE_OBJS = $(OBJ_DIR)\hbtest.obj \ - $(OBJ_DIR)\rt_hvm.obj \ - $(OBJ_DIR)\rt_math.obj \ - $(OBJ_DIR)\rt_date.obj \ - $(OBJ_DIR)\rt_str.obj \ - $(OBJ_DIR)\rt_trans.obj \ - $(OBJ_DIR)\rt_array.obj \ - $(OBJ_DIR)\rt_file.obj \ - $(OBJ_DIR)\rt_misc.obj - -HBDOC_EXE = $(BIN_DIR)\hbdoc.exe -HBDOC_EXE_OBJS = $(OBJ_DIR)\hbdoc.obj \ - $(OBJ_DIR)\genasc.obj \ - $(OBJ_DIR)\genhpc.obj \ - $(OBJ_DIR)\genhtm.obj \ - $(OBJ_DIR)\genng.obj \ - $(OBJ_DIR)\genos2.obj \ - $(OBJ_DIR)\genrtf.obj \ - $(OBJ_DIR)\gentrf.obj - -PROJECT: $(COMMON_LIB) \ - $(PP_LIB) \ - $(HARBOUR_EXE) \ - $(VM_LIB) \ - $(RTL_LIB) \ - $(PP_EXE) \ - $(RDD_LIB) \ - $(TOOLS_LIB) \ - $(MACRO_LIB) \ - $(NULSYS_LIB) \ - $(DBFNTX_LIB) \ - $(DBFCDX_LIB) \ - $(RUNNER_LIB) \ - $(RUNNER_EXE) \ - $(DEBUG_LIB) \ - $(HBTEST_EXE) \ - $(HBDOC_EXE) +HARBOUR_EXE = $(BIN_DIR)\harbour.exe +PP_EXE = $(BIN_DIR)\hbpp.exe +RUNNER_EXE = $(BIN_DIR)\hbrun.exe +HBTEST_EXE = $(BIN_DIR)\hbtest.exe +HBDOC_EXE = $(BIN_DIR)\hbdoc.exe # -# common.lib +# Rules # + +# +# RTL.LIB rules +# + +RTL_LIB_OBJS = \ + $(OBJ_DIR)\binnum.obj \ + $(OBJ_DIR)\console.obj \ + $(OBJ_DIR)\copyfile.obj \ + $(OBJ_DIR)\dates.obj \ + $(OBJ_DIR)\descend.obj \ + $(OBJ_DIR)\dir.obj \ + $(OBJ_DIR)\do.obj \ + $(OBJ_DIR)\empty.obj \ + $(OBJ_DIR)\environ.obj \ + $(OBJ_DIR)\errorapi.obj \ + $(OBJ_DIR)\filesys.obj \ + $(OBJ_DIR)\gtapi.obj \ + $(OBJ_DIR)\hardcr.obj \ + $(OBJ_DIR)\inkey.obj \ + $(OBJ_DIR)\isprint.obj \ + $(OBJ_DIR)\langapi.obj \ + $(OBJ_DIR)\len.obj \ + $(OBJ_DIR)\math.obj \ + $(OBJ_DIR)\memofile.obj \ + $(OBJ_DIR)\memoline.obj \ + $(OBJ_DIR)\mlcount.obj \ + $(OBJ_DIR)\mlpos.obj \ + $(OBJ_DIR)\mouseapi.obj \ + $(OBJ_DIR)\mtran.obj \ + $(OBJ_DIR)\natmsg.obj \ + $(OBJ_DIR)\net.obj \ + $(OBJ_DIR)\oemansi.obj \ + $(OBJ_DIR)\oldbox.obj \ + $(OBJ_DIR)\oldclear.obj \ + $(OBJ_DIR)\samples.obj \ + $(OBJ_DIR)\set.obj \ + $(OBJ_DIR)\setcolor.obj \ + $(OBJ_DIR)\soundex.obj \ + $(OBJ_DIR)\strings.obj \ + $(OBJ_DIR)\tone.obj \ + $(OBJ_DIR)\trace.obj \ + $(OBJ_DIR)\transfrm.obj \ + $(OBJ_DIR)\type.obj \ + $(OBJ_DIR)\valtype.obj \ + $(OBJ_DIR)\word.obj \ + $(OBJ_DIR)\xhelp.obj \ + \ + $(OBJ_DIR)\gtxxx.obj \ + $(OBJ_DIR)\mousexxx.obj \ + $(OBJ_DIR)\msgxxx.obj \ + \ + $(OBJ_DIR)\achoice.obj \ + $(OBJ_DIR)\adir.obj \ + $(OBJ_DIR)\alert.obj \ + $(OBJ_DIR)\asort.obj \ + $(OBJ_DIR)\browdb.obj \ + $(OBJ_DIR)\browse.obj \ + $(OBJ_DIR)\dbedit.obj \ + $(OBJ_DIR)\devoutp.obj \ + $(OBJ_DIR)\dircmd.obj \ + $(OBJ_DIR)\dummy.obj \ + $(OBJ_DIR)\errorsys.obj \ + $(OBJ_DIR)\fieldbl.obj \ + $(OBJ_DIR)\input.obj \ + $(OBJ_DIR)\memvarbl.obj \ + $(OBJ_DIR)\menuto.obj \ + $(OBJ_DIR)\objfunc.obj \ + $(OBJ_DIR)\readkey.obj \ + $(OBJ_DIR)\setfunc.obj \ + $(OBJ_DIR)\setkey.obj \ + $(OBJ_DIR)\setta.obj \ + $(OBJ_DIR)\tbcolumn.obj \ + $(OBJ_DIR)\tbrowse.obj \ + $(OBJ_DIR)\tclass.obj \ + $(OBJ_DIR)\terror.obj \ + $(OBJ_DIR)\text.obj \ + $(OBJ_DIR)\tget.obj \ + $(OBJ_DIR)\tgetlist.obj \ + $(OBJ_DIR)\tlabel.obj \ + $(OBJ_DIR)\treport.obj \ + $(OBJ_DIR)\typefile.obj \ + $(OBJ_DIR)\wait.obj \ + $(OBJ_DIR)\xsavescr.obj + +# +# 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)\ctchksum.obj \ + $(OBJ_DIR)\ctchrmix.obj \ + $(OBJ_DIR)\ctcrypt.obj \ + $(OBJ_DIR)\dates2.obj \ + $(OBJ_DIR)\datesx.obj \ + $(OBJ_DIR)\dbftools.obj \ + $(OBJ_DIR)\hb_f.obj \ + $(OBJ_DIR)\io.obj \ + $(OBJ_DIR)\mathx.obj \ + $(OBJ_DIR)\strasint.obj \ + $(OBJ_DIR)\strcount.obj \ + $(OBJ_DIR)\strcspn.obj \ + $(OBJ_DIR)\strdiff.obj \ + $(OBJ_DIR)\strexpan.obj \ + $(OBJ_DIR)\strfmt.obj \ + $(OBJ_DIR)\stringsx.obj \ + $(OBJ_DIR)\strleft.obj \ + $(OBJ_DIR)\strpbrk.obj \ + $(OBJ_DIR)\strright.obj \ + \ + $(OBJ_DIR)\fileread.obj \ + $(OBJ_DIR)\html.obj \ + $(OBJ_DIR)\nconvert.obj \ + $(OBJ_DIR)\ng.obj \ + $(OBJ_DIR)\numtxten.obj \ + $(OBJ_DIR)\numtxthu.obj \ + $(OBJ_DIR)\os2.obj \ + $(OBJ_DIR)\rtf.obj \ + $(OBJ_DIR)\stringp.obj \ + $(OBJ_DIR)\troff.obj + +# +# MACRO.LIB rules +# + +MACRO_LIB_OBJS = \ + $(OBJ_DIR)\macroy.obj \ + $(OBJ_DIR)\macrol.obj \ + $(OBJ_DIR)\macro.obj + +# +# RDD.LIB rules +# + +RDD_LIB_OBJS = \ + $(OBJ_DIR)\dbcmd.obj \ + $(OBJ_DIR)\dbf0.obj \ + $(OBJ_DIR)\dbf1.obj \ + $(OBJ_DIR)\dbnubs.obj \ + $(OBJ_DIR)\dbstrux.obj \ + $(OBJ_DIR)\sdf0.obj \ + $(OBJ_DIR)\sdf1.obj \ + $(OBJ_DIR)\delim0.obj \ + $(OBJ_DIR)\delim1.obj \ + $(OBJ_DIR)\rddord.obj \ + $(OBJ_DIR)\rddsys.obj + +NULSYS_LIB_OBJS = \ + $(OBJ_DIR)\nulsys.obj + +DBFNTX_LIB_OBJS = \ + $(OBJ_DIR)\dbfntx0.obj \ + $(OBJ_DIR)\dbfntx1.obj + +DBFCDX_LIB_OBJS = \ + $(OBJ_DIR)\dbfcdx0.obj \ + $(OBJ_DIR)\dbfcdx1.obj + +# +# RUNNER.LIB rules +# + +RUNNER_LIB_OBJS = \ + $(OBJ_DIR)\runlib.obj + +# +# PP.LIB rules +# + +PP_LIB_OBJS = \ + $(OBJ_DIR)\ppcore.obj \ + $(OBJ_DIR)\ppcomp.obj \ + $(OBJ_DIR)\pplib.obj \ + $(OBJ_DIR)\pptable.obj + +# +# DEBUG.LIB rules +# + +DEBUG_LIB_OBJS = \ + $(OBJ_DIR)\dbgmenu.obj \ + $(OBJ_DIR)\debugger.obj \ + $(OBJ_DIR)\tbrwtext.obj + +# +# COMMON.LIB rules +# + +COMMON_LIB_OBJS = \ + $(OBJ_DIR)\hbfsapi.obj \ + $(OBJ_DIR)\hbstr.obj \ + $(OBJ_DIR)\hbtrace.obj \ + $(OBJ_DIR)\reserved.obj + +# +# VM.LIB rules +# + +VM_LIB_OBJS = \ + $(OBJ_DIR)\arrays.obj \ + $(OBJ_DIR)\break.obj \ + $(OBJ_DIR)\classes.obj \ + $(OBJ_DIR)\cmdarg.obj \ + $(OBJ_DIR)\codebloc.obj \ + $(OBJ_DIR)\debug.obj \ + $(OBJ_DIR)\dynsym.obj \ + $(OBJ_DIR)\extend.obj \ + $(OBJ_DIR)\fm.obj \ + $(OBJ_DIR)\hvm.obj \ + $(OBJ_DIR)\initexit.obj \ + $(OBJ_DIR)\initsymb.obj \ + $(OBJ_DIR)\itemapi.obj \ + $(OBJ_DIR)\maindll.obj \ + $(OBJ_DIR)\mainstd.obj \ + $(OBJ_DIR)\mainwin.obj \ + $(OBJ_DIR)\memvars.obj \ + $(OBJ_DIR)\pcount.obj \ + $(OBJ_DIR)\proc.obj \ + $(OBJ_DIR)\pvalue.obj \ + \ + $(OBJ_DIR)\symbols.obj \ + \ + $(OBJ_DIR)\harbinit.obj + +# +# HARBOUR.EXE rules +# + +HARBOUR_EXE_OBJS = \ + $(OBJ_DIR)\harbour.obj \ + $(OBJ_DIR)\harboury.obj \ + $(OBJ_DIR)\harbourl.obj \ + $(OBJ_DIR)\cmdcheck.obj \ + $(OBJ_DIR)\hbusage.obj \ + $(OBJ_DIR)\hbgenerr.obj \ + $(OBJ_DIR)\hbpcode.obj \ + $(OBJ_DIR)\genc.obj \ + $(OBJ_DIR)\genobj32.obj \ + $(OBJ_DIR)\genjava.obj \ + $(OBJ_DIR)\genpas.obj \ + $(OBJ_DIR)\genrc.obj \ + $(OBJ_DIR)\genhrb.obj \ + $(OBJ_DIR)\expropt.obj \ + $(OBJ_DIR)\hbfunchk.obj + +# +# HBTEST.EXE rules +# + +HBTEST_EXE_OBJS = \ + $(OBJ_DIR)\hbtest.obj \ + $(OBJ_DIR)\rt_hvm.obj \ + $(OBJ_DIR)\rt_math.obj \ + $(OBJ_DIR)\rt_date.obj \ + $(OBJ_DIR)\rt_str.obj \ + $(OBJ_DIR)\rt_trans.obj \ + $(OBJ_DIR)\rt_array.obj \ + $(OBJ_DIR)\rt_file.obj \ + $(OBJ_DIR)\rt_misc.obj + +# +# HBDOC.EXE rules +# + +HBDOC_EXE_OBJS = \ + $(OBJ_DIR)\hbdoc.obj \ + $(OBJ_DIR)\genasc.obj \ + $(OBJ_DIR)\genhpc.obj \ + $(OBJ_DIR)\genhtm.obj \ + $(OBJ_DIR)\genng.obj \ + $(OBJ_DIR)\genos2.obj \ + $(OBJ_DIR)\genrtf.obj \ + $(OBJ_DIR)\gentrf.obj + +# +# Our default target +# + +all: \ + $(COMMON_LIB) \ + $(PP_LIB) \ + $(HARBOUR_EXE) \ + $(VM_LIB) \ + $(RTL_LIB) \ + $(TOOLS_LIB) \ + $(MACRO_LIB) \ + $(DEBUG_LIB) \ + $(RDD_LIB) \ + $(NULSYS_LIB) \ + $(DBFNTX_LIB) \ + $(DBFCDX_LIB) \ + $(RUNNER_LIB) \ + $(RUNNER_EXE) \ + $(PP_EXE) \ + $(HBTEST_EXE) \ + $(HBDOC_EXE) + +# +# Library dependencies and build rules +# + $(COMMON_LIB) : $(COMMON_LIB_OBJS) +$(DBFCDX_LIB) : $(DBFCDX_LIB_OBJS) +$(DBFNTX_LIB) : $(DBFNTX_LIB_OBJS) +$(DEBUG_LIB) : $(DEBUG_LIB_OBJS) +$(MACRO_LIB) : $(MACRO_LIB_OBJS) +$(NULSYS_LIB) : $(NULSYS_LIB_OBJS) +$(PP_LIB) : $(PP_LIB_OBJS) +$(RDD_LIB) : $(RDD_LIB_OBJS) +$(RTL_LIB) : $(RTL_LIB_OBJS) +$(RUNNER_LIB) : $(RUNNER_LIB_OBJS) +$(TOOLS_LIB) : $(TOOLS_LIB_OBJS) +$(VM_LIB) : $(VM_LIB_OBJS) + +# +# COMMON.LIB dependencies +# $(OBJ_DIR)\hbfsapi.obj : $(COMMON_DIR)\hbfsapi.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -328,9 +433,8 @@ $(OBJ_DIR)\hbtrace.obj : $(COMMON_DIR)\hbtrace.c tlib $(COMMON_LIB) -+$@,, # -# pp.lib +# PP.LIB dependencies # -$(PP_LIB) : $(PP_LIB_OBJS) $(OBJ_DIR)\ppcore.obj : $(PP_DIR)\ppcore.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -349,7 +453,7 @@ $(OBJ_DIR)\pptable.obj : $(PP_DIR)\pptable.c tlib $(PP_LIB) -+$@,, # -# harbour.exe +# HARBOUR.EXE dependencies # $(HARBOUR_EXE) : $(HARBOUR_EXE_OBJS) @@ -379,7 +483,7 @@ $(OBJ_DIR)\harbour.obj : $(COMPILER_DIR)\harbour.c $(CC) $(CLIBFLAGS) -o$@ $** $(OBJ_DIR)\harboury.c : $(COMPILER_DIR)\harbour.y - bison -d -v -y $** -o$@ + bison -d $** -o$@ $(OBJ_DIR)\harboury.obj : $(OBJ_DIR)\harboury.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -427,23 +531,8 @@ $(OBJ_DIR)\hbfunchk.obj : $(COMPILER_DIR)\hbfunchk.c $(CC) $(CLIBFLAGS) -o$@ $** # -# hbpp.exe +# RDD.LIB dependencies # -$(PP_EXE) : $(PP_LIB_OBJS) $(COMMON_LIB_OBJS) - - $(CC) $(CLIBFLAGS) -o$(OBJ_DIR)\hbpp.obj $(PP_DIR)\stdalone\hbpp.c - echo. $(CFLAGS) > make.tmp - echo. -e$(PP_EXE) >> make.tmp - echo. -I$(INCLUDE_DIR) >> make.tmp - echo. $(OBJ_DIR)\hbpp.obj >> make.tmp - echo. $(COMMON_LIB) $(PP_LIB) >> make.tmp - $(CC) @make.tmp - del make.tmp - -# -# rdd.lib -# -$(RDD_LIB) : $(RDD_LIB_OBJS) $(OBJ_DIR)\dbcmd.obj : $(RDD_DIR)\dbcmd.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -508,9 +597,8 @@ $(OBJ_DIR)\rddsys.obj : $(OBJ_DIR)\rddsys.c tlib $(RDD_LIB) -+$@,, # -# vm.lib +# VM.LIB dependencies # -$(VM_LIB) : $(VM_LIB_OBJS) $(OBJ_DIR)\arrays.obj : $(VM_DIR)\arrays.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -604,9 +692,8 @@ $(OBJ_DIR)\symbols.obj : $(VM_DIR)\symbols.asm tlib $(VM_LIB) -+$@,, # -# rtl.lib +# RTL.LIB dependencies # -$(RTL_LIB) : $(RTL_LIB_OBJS) $(OBJ_DIR)\achoice.c : $(RTL_DIR)\achoice.prg $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ @@ -1009,9 +1096,8 @@ $(OBJ_DIR)\xsavescr.obj : $(OBJ_DIR)\xsavescr.c tlib $(RTL_LIB) -+$@,, # -# tools.lib +# TOOLS.LIB dependencies # -$(TOOLS_LIB) : $(TOOLS_LIB_OBJS) $(OBJ_DIR)\asciisum.obj : $(TOOLS_DIR)\asciisum.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -1196,12 +1282,11 @@ $(OBJ_DIR)\troff.obj : $(OBJ_DIR)\troff.c tlib $(TOOLS_LIB) -+$@,, # -# macro.lib +# MACRO.LIB dependencies # -$(MACRO_LIB) : $(MACRO_LIB_OBJS) $(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y - bison -d -v -y $** -o$@ + bison -d $** -o$@ $(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c $(CC) $(CLIBFLAGS) -o$@ $** @@ -1219,9 +1304,8 @@ $(OBJ_DIR)\macro.obj : $(MACRO_DIR)\macro.c tlib $(MACRO_LIB) -+$@,, # -# nulsys.lib +# NULSYS.LIB dependencies # -$(NULSYS_LIB) : $(NULSYS_LIB_OBJS) $(OBJ_DIR)\nulsys.c : $(RDD_DIR)\nulsys\nulsys.prg $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ @@ -1231,9 +1315,8 @@ $(OBJ_DIR)\nulsys.obj : $(OBJ_DIR)\nulsys.c tlib $(NULSYS_LIB) -+$@,, # -# dbfntx.lib +# DBFNTX.LIB dependencies # -$(DBFNTX_LIB) : $(DBFNTX_LIB_OBJS) $(OBJ_DIR)\dbfntx0.c : $(RDD_DIR)\dbfntx\dbfntx0.prg $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ @@ -1247,9 +1330,8 @@ $(OBJ_DIR)\dbfntx1.obj : $(RDD_DIR)\dbfntx\dbfntx1.c tlib $(DBFNTX_LIB) -+$@,, # -# dbfcdx.lib +# DBFCDX.LIB dependencies # -$(DBFCDX_LIB) : $(DBFCDX_LIB_OBJS) $(OBJ_DIR)\dbfcdx0.c : $(RDD_DIR)\dbfcdx\dbfcdx0.prg $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ @@ -1263,43 +1345,16 @@ $(OBJ_DIR)\dbfcdx1.obj : $(RDD_DIR)\dbfcdx\dbfcdx1.c tlib $(DBFCDX_LIB) -+$@,, # -# runner.lib +# RUNNER.LIB dependencies # -$(RUNNER_LIB) : $(RUNNER_LIB_OBJS) $(OBJ_DIR)\runlib.obj : $(RUNNER_DIR)\runlib.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(RUNNER_LIB) -+$@,, # -# hbrun.exe +# DEBUG.LIB dependencies # -$(RUNNER_EXE) : $(RUNNER_DIR)\stdalone\hbrun.prg - - $(HARBOUR_EXE) $(HARBOURFLAGS) -i$(RUNNER_DIR)\stdalone -o$(OBJ_DIR)\ $(RUNNER_DIR)\stdalone\hbrun.prg - $(CC) $(CLIBFLAGS) -o$(OBJ_DIR)\hbrun.obj $(OBJ_DIR)\hbrun.c - - echo. $(CFLAGS) > make.tmp - echo. -e$(RUNNER_EXE) >> make.tmp - echo. -I$(INCLUDE_DIR) >> make.tmp - echo. $(OBJ_DIR)\hbrun.obj >> make.tmp - echo. $(PP_LIB) >> make.tmp - echo. $(COMMON_LIB) >> make.tmp - echo. $(VM_LIB) >> make.tmp - echo. $(RTL_LIB) >> make.tmp - echo. $(RDD_LIB) >> make.tmp - echo. $(MACRO_LIB) >> make.tmp - echo. $(TOOLS_LIB) >> make.tmp - echo. $(RUNNER_LIB) >> make.tmp - echo. $(DBFNTX_LIB) >> make.tmp - echo. $(DBFCDX_LIB) >> make.tmp - $(CC) @make.tmp - del make.tmp - -# -# debug.lib -# -$(DEBUG_LIB) : $(DEBUG_LIB_OBJS) $(OBJ_DIR)\dbgmenu.c : $(DEBUG_DIR)\dbgmenu.prg $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ @@ -1323,7 +1378,51 @@ $(OBJ_DIR)\tbrwtext.obj : $(OBJ_DIR)\tbrwtext.c tlib $(DEBUG_LIB) -+$@,, # -# hbtest.exe +# HBPP.EXE dependencies +# +$(PP_EXE) : \ + $(PP_DIR)\stdalone\hbpp.c \ + $(PP_LIB_OBJS) \ + $(COMMON_LIB_OBJS) + + $(CC) $(CLIBFLAGS) -o$(OBJ_DIR)\hbpp.obj $(PP_DIR)\stdalone\hbpp.c + echo. $(CFLAGS) > make.tmp + echo. -e$(PP_EXE) >> make.tmp + echo. -I$(INCLUDE_DIR) >> make.tmp + echo. $(OBJ_DIR)\hbpp.obj >> make.tmp + echo. $(COMMON_LIB) $(PP_LIB) >> make.tmp + $(CC) @make.tmp + del make.tmp + +# +# HBRUN.EXE dependencies +# +$(RUNNER_EXE) : \ + $(RUNNER_DIR)\stdalone\hbrun.prg \ + $(RUNNER_LIB) + + $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $(RUNNER_DIR)\stdalone\hbrun.prg + $(CC) $(CLIBFLAGS) -o$(OBJ_DIR)\hbrun.obj $(OBJ_DIR)\hbrun.c + + echo. $(CFLAGS) > make.tmp + echo. -e$(RUNNER_EXE) >> make.tmp + echo. -I$(INCLUDE_DIR) >> make.tmp + echo. $(OBJ_DIR)\hbrun.obj >> make.tmp + echo. $(PP_LIB) >> make.tmp + echo. $(COMMON_LIB) >> make.tmp + echo. $(VM_LIB) >> make.tmp + echo. $(RTL_LIB) >> make.tmp + echo. $(RDD_LIB) >> make.tmp + echo. $(MACRO_LIB) >> make.tmp + echo. $(TOOLS_LIB) >> make.tmp + echo. $(RUNNER_LIB) >> make.tmp + echo. $(DBFNTX_LIB) >> make.tmp + echo. $(DBFCDX_LIB) >> make.tmp + $(CC) @make.tmp + del make.tmp + +# +# HBTEST.EXE dependencies # $(HBTEST_EXE) : $(HBTEST_EXE_OBJS) @@ -1406,7 +1505,7 @@ $(OBJ_DIR)\rt_misc.obj : $(OBJ_DIR)\rt_misc.c $(CC) $(CLIBFLAGS) -o$@ $** # -# hbdoc.exe +# HBDOC.EXE dependencies # $(HBDOC_EXE) : $(HBDOC_EXE_OBJS) diff --git a/harbour/makefile.vc b/harbour/makefile.vc index 463212a970..84a50d20c3 100644 --- a/harbour/makefile.vc +++ b/harbour/makefile.vc @@ -41,9 +41,9 @@ HBDOC_DIR = utils\hbdoc AS = masm CC = cl -CFLAGS = -W1 -nologo -I$(INCLUDE_DIR) -D_Windows -DHB_GT_WIN -CLIBFLAGS = $(CFLAGS) -c /TP -CLIBFLAGSDEBUG = $(CFLAGS) -c -Zi /TP +CFLAGS = -TP -W1 -nologo -I$(INCLUDE_DIR) -D_Windows -DHB_GT_WIN +CLIBFLAGS = $(CFLAGS) -c +CLIBFLAGSDEBUG = $(CLIBFLAGS) -Zi HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w -es2 -gc0 @@ -132,9 +132,6 @@ LIBS2 = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(RTL_DIR)}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - RTL_LIB_OBJS = \ $(OBJ_DIR)\binnum.obj \ $(OBJ_DIR)\console.obj \ @@ -226,9 +223,6 @@ RTL_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - TOOLS_LIB_OBJS = \ $(OBJ_DIR)\asciisum.obj \ $(OBJ_DIR)\ascpos.obj \ @@ -278,8 +272,8 @@ TOOLS_LIB_OBJS = \ $(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $< MACRO_LIB_OBJS = \ - $(OBJ_DIR)\macrol.obj \ $(OBJ_DIR)\macroy.obj \ + $(OBJ_DIR)\macrol.obj \ $(OBJ_DIR)\macro.obj # @@ -293,9 +287,6 @@ MACRO_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(RDD_DIR)}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - RDD_LIB_OBJS = \ $(OBJ_DIR)\dbcmd.obj \ $(OBJ_DIR)\dbf0.obj \ @@ -317,9 +308,6 @@ RDD_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(RDD_DIR)\nulsys}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - NULSYS_LIB_OBJS = \ $(OBJ_DIR)\nulsys.obj @@ -331,9 +319,6 @@ NULSYS_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(RDD_DIR)\dbfntx}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - DBFNTX_LIB_OBJS = \ $(OBJ_DIR)\dbfntx0.obj \ $(OBJ_DIR)\dbfntx1.obj @@ -346,9 +331,6 @@ DBFNTX_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(RDD_DIR)\dbfcdx}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - DBFCDX_LIB_OBJS = \ $(OBJ_DIR)\dbfcdx0.obj \ $(OBJ_DIR)\dbfcdx1.obj @@ -387,9 +369,6 @@ PP_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(DEBUG_DIR)}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - DEBUG_LIB_OBJS = \ $(OBJ_DIR)\dbgmenu.obj \ $(OBJ_DIR)\debugger.obj \ @@ -422,9 +401,6 @@ COMMON_LIB_OBJS = \ $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$*.c $(CC) $(CLIBFLAGS) -Fo$@ $*.c -{$(VM_DIR)}.prg{$(OBJ_DIR)}.c: - $(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@ - VM_LIB_OBJS = \ $(OBJ_DIR)\arrays.obj \ $(OBJ_DIR)\break.obj \ @@ -439,7 +415,9 @@ VM_LIB_OBJS = \ $(OBJ_DIR)\initexit.obj \ $(OBJ_DIR)\initsymb.obj \ $(OBJ_DIR)\itemapi.obj \ - $(OBJ_DIR)\main.obj \ + $(OBJ_DIR)\maindll.obj \ + $(OBJ_DIR)\mainstd.obj \ + $(OBJ_DIR)\mainwin.obj \ $(OBJ_DIR)\memvars.obj \ $(OBJ_DIR)\pcount.obj \ $(OBJ_DIR)\proc.obj \ @@ -453,7 +431,8 @@ VM_LIB_OBJS = \ # Our default target # -all: $(HARBOUR_EXE) \ +all: \ + $(HARBOUR_EXE) \ $(LIBLIST) \ $(PP_EXE) \ $(RUNNER_EXE) \ @@ -465,30 +444,29 @@ $(PP_EXE) : \ $(PP_DIR)\stdalone\hbpp.c \ $(COMMON_DIR)\hbfsapi.c \ $(COMMON_DIR)\hbstr.c - $(CC) -TP $(CFLAGS) $** -o $(PP_EXE) /link $(PP_LIB) - -del hbpp.obj - -del hbfsapi.obj - -del hbstr.obj + $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $** -o $(PP_EXE) /link $(PP_LIB) # -# Runner +# HBRUN.EXE rules # $(RUNNER_EXE) : \ $(RUNNER_DIR)\stdalone\hbrun.prg $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $** - $(CC) -TP $(CFLAGS) $(OBJ_DIR)\hbrun.c -o $(BIN_DIR)\hbrun /link $(LIBS2) - -del hbrun.obj + $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbrun.c -o $(BIN_DIR)\hbrun /link $(LIBS2) # # To compile this you must have a JDK installed # #$(RUNNER_DLL) : $(RUNNER_DIR)\runjava.c -# $(CC) -TP $(CFLAGS) $(RUNNER_DIR)\runjava.c -o $(BIN_DIR)\runjava.dll /link-dll $(LIBS) -# -del runjava.obj +# $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(RUNNER_DIR)\runjava.c -o $(BIN_DIR)\runjava.dll /link-dll $(LIBS) # -del $(BIN_DIR)\runjava.exp # -del $(BIN_DIR)\runjava.lib +# +# HBTEST.EXE rules +# + $(HBTEST_EXE) : \ $(HBTEST_DIR)\hbtest.prg \ $(HBTEST_DIR)\rt_array.prg \ @@ -500,16 +478,11 @@ $(HBTEST_EXE) : \ $(HBTEST_DIR)\rt_str.prg \ $(HBTEST_DIR)\rt_trans.prg $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $** - $(CC) -TP $(CFLAGS) $(OBJ_DIR)\hbtest.c $(OBJ_DIR)\rt_array.c $(OBJ_DIR)\rt_date.c $(OBJ_DIR)\rt_file.c $(OBJ_DIR)\rt_hvm.c $(OBJ_DIR)\rt_math.c $(OBJ_DIR)\rt_misc.c $(OBJ_DIR)\rt_str.c $(OBJ_DIR)\rt_trans.c -o $(HBTEST_EXE) /link $(LIBS) - -del hbtest.obj - -del rt_array.obj - -del rt_date.obj - -del rt_file.obj - -del rt_hvm.obj - -del rt_math.obj - -del rt_misc.obj - -del rt_str.obj - -del rt_trans.obj + $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbtest.c $(OBJ_DIR)\rt_array.c $(OBJ_DIR)\rt_date.c $(OBJ_DIR)\rt_file.c $(OBJ_DIR)\rt_hvm.c $(OBJ_DIR)\rt_math.c $(OBJ_DIR)\rt_misc.c $(OBJ_DIR)\rt_str.c $(OBJ_DIR)\rt_trans.c -o $(HBTEST_EXE) /link $(LIBS) + +# +# HBDOC.EXE rules +# $(HBDOC_EXE) : \ $(HBDOC_DIR)\hbdoc.prg \ @@ -521,15 +494,11 @@ $(HBDOC_EXE) : \ $(HBDOC_DIR)\genhpc.prg \ $(HBDOC_DIR)\genasc.prg $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $** - $(CC) -TP $(CFLAGS) $(OBJ_DIR)\hbdoc.c $(OBJ_DIR)\genos2.c $(OBJ_DIR)\gentrf.c $(OBJ_DIR)\genng.c $(OBJ_DIR)\genhtm.c $(OBJ_DIR)\genrtf.c $(OBJ_DIR)\genhpc.c $(OBJ_DIR)\genasc.c -o $(HBDOC_EXE) /link $(LIBS2) - -del hbdoc.obj - -del genos2.obj - -del gentrf.obj - -del genng.obj - -del genhtm.obj - -del genrtf.obj - -del genhpc.obj - -del genasc.obj + $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbdoc.c $(OBJ_DIR)\genos2.c $(OBJ_DIR)\gentrf.c $(OBJ_DIR)\genng.c $(OBJ_DIR)\genhtm.c $(OBJ_DIR)\genrtf.c $(OBJ_DIR)\genhpc.c $(OBJ_DIR)\genasc.c -o $(HBDOC_EXE) /link $(LIBS2) + +# +# HARBOUR.EXE rules +# $(HARBOUR_EXE) : \ $(COMPILER_DIR)\harbour.c \ @@ -554,29 +523,8 @@ $(HARBOUR_EXE) : \ $(PP_DIR)\ppcomp.c \ $(PP_DIR)\pptable.c command /c echo. > include\unistd.h - $(CC) $(CFLAGS) -w $** -o $(HARBOUR_EXE) + $(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ -w $** -o $(HARBOUR_EXE) command /c del include\unistd.h - -del harbour.obj - -del harboury.obj - -del harbourl.obj - -del hbgenerr.obj - -del cmdcheck.obj - -del hbfunchk.obj - -del hbpcode.obj - -del hbusage.obj - -del reserved.obj - -del genobj32.obj - -del genc.obj - -del genhrb.obj - -del genrc.obj - -del genjava.obj - -del genpas.obj - -del expropt.obj - -del hbfsapi.obj - -del hbstr.obj - -del ppcore.obj - -del ppcomp.obj - -del pptable.obj # # Library dependencies and build rules @@ -619,24 +567,24 @@ $(VM_LIB) : $(VM_LIB_OBJS) lib /out:$@ $** # -# Compiler dependencies +# HARBOUR.EXE dependencies # $(OBJ_DIR)\harboury.c : $(COMPILER_DIR)\harbour.y - bison -d -v $(COMPILER_DIR)\harbour.y -o$(OBJ_DIR)\harboury.c + bison -d $(COMPILER_DIR)\harbour.y -o$(OBJ_DIR)\harboury.c $(OBJ_DIR)\harbourl.c : $(COMPILER_DIR)\harbour.l - flex -iB8 -o$(OBJ_DIR)\harbourl.c $(COMPILER_DIR)\harbour.l + flex -i -8 -o$(OBJ_DIR)\harbourl.c $(COMPILER_DIR)\harbour.l # # MACRO.LIB dependencies # $(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y - bison -d -v -p hb_comp -o$(OBJ_DIR)\macroy.c $(MACRO_DIR)\macro.y + bison -d -p hb_comp -o$(OBJ_DIR)\macroy.c $(MACRO_DIR)\macro.y $(OBJ_DIR)\macrol.c : $(OBJ_DIR)\macroy.c $(MACRO_DIR)\macro.l - flex -iB8 -Phb_comp -o$(OBJ_DIR)\macrol.c $(MACRO_DIR)\macro.l + flex -i -8 -Phb_comp -o$(OBJ_DIR)\macrol.c $(MACRO_DIR)\macro.l $(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c $(CC) $(CLIBFLAGS) -w -DYY_NEVER_INTERACTIVE -Fo$@ $** @@ -770,7 +718,9 @@ $(OBJ_DIR)\hvm.obj : $(VM_DIR)\hvm.c $(OBJ_DIR)\initexit.obj : $(VM_DIR)\initexit.c $(OBJ_DIR)\initsymb.obj : $(VM_DIR)\initsymb.c $(OBJ_DIR)\itemapi.obj : $(VM_DIR)\itemapi.c -$(OBJ_DIR)\main.obj : $(VM_DIR)\main.c +$(OBJ_DIR)\maindll.obj : $(VM_DIR)\maindll.c +$(OBJ_DIR)\mainstd.obj : $(VM_DIR)\mainstd.c +$(OBJ_DIR)\mainwin.obj : $(VM_DIR)\mainwin.c $(OBJ_DIR)\memvars.obj : $(VM_DIR)\memvars.c $(OBJ_DIR)\pcount.obj : $(VM_DIR)\pcount.c $(OBJ_DIR)\proc.obj : $(VM_DIR)\proc.c diff --git a/harbour/source/macro/macro.l b/harbour/source/macro/macro.l index 63243346f1..4929dde71e 100644 --- a/harbour/source/macro/macro.l +++ b/harbour/source/macro/macro.l @@ -362,7 +362,7 @@ Separator {SpaceTab} yytext[yyleng] = 0; { - if( strlen( yytext ) > YYLEX_PARAM->uiNameLen ) + if( ( USHORT ) strlen( yytext ) > YYLEX_PARAM->uiNameLen ) { yytext[ YYLEX_PARAM->uiNameLen ] = '\0'; yyleng = YYLEX_PARAM->uiNameLen; @@ -480,7 +480,7 @@ Separator {SpaceTab} {Identifier} { HB_TRACE(HB_TR_DEBUG, ("{Identifier}(%s)", yytext)); - if( strlen( yytext ) > YYLEX_PARAM->uiNameLen ) + if( ( USHORT ) strlen( yytext ) > YYLEX_PARAM->uiNameLen ) { yytext[ YYLEX_PARAM->uiNameLen ] = '\0'; yyleng = YYLEX_PARAM->uiNameLen; diff --git a/harbour/source/vm/maindll.c b/harbour/source/vm/maindll.c index c8567e7539..a74bccac7f 100644 --- a/harbour/source/vm/maindll.c +++ b/harbour/source/vm/maindll.c @@ -38,8 +38,9 @@ #include #include "hbvm.h" -BOOL WINAPI _export DllEntryPoint( HINSTANCE hInstance, DWORD fdwReason, - PVOID pvReserved ) +__declspec(dllexport) BOOL WINAPI DllEntryPoint( HINSTANCE hInstance, + DWORD fdwReason, + PVOID pvReserved ) { HB_TRACE( HB_TR_DEBUG, ("DllEntryPoint(%p, %p, %d)", hInstance, fdwReason, pvReserved ) );