# # Makefile for Harbour project for Microsoft Visual C (32 bits) # # To add new files to this makefile: # # 1. Add obj name to one of the OBJ list for the appropriate # library (if adding RTL functions) # 2. Add file dependency and compile rule to end of this file # (see current one as an example) # # # Directory macros. These should never have to change. # COMPILER_DIR=source\compiler RTL_DIR=source\rtl RDD_DIR=source\rdd HBPP_DIR=source\hbpp TOOLS_DIR=source\tools DEBUG_DIR=source\debug VM_DIR=source\vm INCLUDE_DIR=include BIN_DIR=bin LIB_DIR=libs\vc OBJ_DIR=obj #MACOMP_DIR=source\macro # # C compiler definition and C flags. These should never have to change. # CC=cl CFLAGS=-w -I$(INCLUDE_DIR) -DHARBOUR_USE_WIN_GTAPI CLIBFLAGS=$(CFLAGS) -c /TP CLIBFLAGSDEBUG=$(CFLAGS) -c -Zi /TP # # Macros to access our library names # HARBOUR_LIB=$(LIB_DIR)\harbour.lib TERMINAL_LIB=$(LIB_DIR)\terminal.lib TOOLS_LIB=$(LIB_DIR)\hbtools.lib HBPP_LIB=$(LIB_DIR)\hbpp.lib DEBUG_LIB=$(LIB_DIR)\debug.lib DBFNTX_LIB=$(LIB_DIR)\dbfntx.lib HARBOUR_EXE=$(BIN_DIR)\harbour.exe HARBOURFLAGS=-iinclude -n # # OBJ list for harbour.lib. Add new ones as needed # HARBOUR_LIB_OBJS = \ $(OBJ_DIR)\achoice.obj \ $(OBJ_DIR)\adir.obj \ $(OBJ_DIR)\alert.obj \ $(OBJ_DIR)\arrays.obj \ $(OBJ_DIR)\asort.obj \ $(OBJ_DIR)\browdb.obj \ $(OBJ_DIR)\classes.obj \ $(OBJ_DIR)\codebloc.obj \ $(OBJ_DIR)\console.obj \ $(OBJ_DIR)\copyfile.obj \ $(OBJ_DIR)\dates.obj \ $(OBJ_DIR)\descend.obj \ $(OBJ_DIR)\devoutp.obj \ $(OBJ_DIR)\dir.obj \ $(OBJ_DIR)\do.obj \ $(OBJ_DIR)\dynsym.obj \ $(OBJ_DIR)\environ.obj \ $(OBJ_DIR)\errorapi.obj \ $(OBJ_DIR)\errorsys.obj \ $(OBJ_DIR)\extend.obj \ $(OBJ_DIR)\filesys.obj \ $(OBJ_DIR)\fm.obj \ $(OBJ_DIR)\gtapi.obj \ $(OBJ_DIR)\hardcr.obj \ $(OBJ_DIR)\hvm.obj \ $(OBJ_DIR)\initsymb.obj \ $(OBJ_DIR)\inkey.obj \ $(OBJ_DIR)\itemapi.obj \ $(OBJ_DIR)\langapi.obj \ $(OBJ_DIR)\math.obj \ $(OBJ_DIR)\memvars.obj \ $(OBJ_DIR)\menuto.obj \ $(OBJ_DIR)\msgxxx.obj \ $(OBJ_DIR)\mtran.obj \ $(OBJ_DIR)\objfunc.obj \ $(OBJ_DIR)\readvar.obj \ $(OBJ_DIR)\set.obj \ $(OBJ_DIR)\setcolor.obj \ $(OBJ_DIR)\setkey.obj \ $(OBJ_DIR)\strings.obj \ $(OBJ_DIR)\tbcolumn.obj \ $(OBJ_DIR)\tbrowse.obj \ $(OBJ_DIR)\tclass.obj \ $(OBJ_DIR)\terror.obj \ $(OBJ_DIR)\tget.obj \ $(OBJ_DIR)\tgetlist.obj \ $(OBJ_DIR)\tone.obj \ $(OBJ_DIR)\transfrm.obj \ $(OBJ_DIR)\xsavescr.obj \ $(RDD_OBJS) # # OBJ list for hbtools.lib. Add new ones as needed # #$(OBJ_DIR)\genobj.obj \ PatrickMast 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)\dates2.obj \ $(OBJ_DIR)\datesx.obj \ $(OBJ_DIR)\debug.obj \ $(OBJ_DIR)\fileread.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)\stringp.obj \ $(OBJ_DIR)\stringsx.obj \ $(OBJ_DIR)\strleft.obj \ $(OBJ_DIR)\strpbrk.obj \ $(OBJ_DIR)\strright.obj # # OBJ list for terminal.lib. Add new ones as needed # TERMINAL_LIB_OBJS = \ $(OBJ_DIR)\console.obj \ $(OBJ_DIR)\gtxxx.obj # # OBJ list for rdds. Add new ones as needed # RDD_OBJS = \ $(OBJ_DIR)\dbcmd.obj \ $(OBJ_DIR)\dbf0.obj \ $(OBJ_DIR)\dbf1.obj \ $(OBJ_DIR)\sdf0.obj \ $(OBJ_DIR)\sdf1.obj \ $(OBJ_DIR)\delim0.obj \ $(OBJ_DIR)\delim1.obj \ $(OBJ_DIR)\rddsys.obj DBFNTX_LIB_OBJS = \ $(OBJ_DIR)\dbfntx0.obj \ $(OBJ_DIR)\dbfntx1.obj # # OBJ list for hbpp.lib. Add new ones as needed # HBPP_LIB_OBJS = \ $(OBJ_DIR)\hbppint.obj \ $(OBJ_DIR)\hbpp.obj \ $(OBJ_DIR)\table.obj \ $(OBJ_DIR)\hbpplib.obj # # OBJ list for debug.lib. Add new ones as needed # DEBUG_LIB_OBJS = \ $(OBJ_DIR)\debugger.obj \ $(OBJ_DIR)\tbrwtext.obj # # Our default target # all: $(HARBOUR_EXE) \ $(HARBOUR_LIB) \ $(TOOLS_LIB) \ $(TERMINAL_LIB) \ $(HBPP_LIB) \ $(DEBUG_LIB) \ $(DBFNTX_LIB) $(HARBOUR_EXE) : \ $(COMPILER_DIR)\harboury.c \ $(COMPILER_DIR)\harbourl.c \ $(COMPILER_DIR)\genobj32.c \ $(COMPILER_DIR)\harbour.c \ $(HBPP_DIR)\hbpp.c \ $(HBPP_DIR)\hbppint.c \ $(HBPP_DIR)\table.c $(CC) $(CFLAGS) $(COMPILER_DIR)\harboury.c $(COMPILER_DIR)\harbourl.c $(COMPILER_DIR)\harbour.c $(HBPP_DIR)\hbppint.c $(HBPP_DIR)\hbpp.c $(HBPP_DIR)\table.c -o $(BIN_DIR)\harbour -del harboury.obj -del harbourl.obj -del harbour.obj -del hbppint.obj -del hbpp.obj -del table.obj # # Library dependencies and build rules # $(HARBOUR_LIB) : $(HARBOUR_LIB_OBJS) lib /OUT:$(HARBOUR_LIB) $(HARBOUR_LIB_OBJS) $(TOOLS_LIB) : $(TOOLS_LIB_OBJS) lib /OUT:$(TOOLS_LIB) $(TOOLS_LIB_OBJS) $(HBPP_LIB) : $(HBPP_LIB_OBJS) lib /OUT:$(HBPP_LIB) $(HBPP_LIB_OBJS) $(DEBUG_LIB) : $(DEBUG_LIB_OBJS) lib /OUT:$(DEBUG_LIB) $(DEBUG_LIB_OBJS) $(TERMINAL_LIB) : $(TERMINAL_LIB_OBJS) lib /OUT:$(TERMINAL_LIB) $(TERMINAL_LIB_OBJS) $(DBFNTX_LIB) : $(DBFNTX_LIB_OBJS) lib /OUT:$(DBFNTX_LIB) $(DBFNTX_LIB_OBJS) # # Compiler source dependencies and build rules # $(COMPILER_DIR)\harboury.c : $(COMPILER_DIR)\harbour.y bison -d -v $(COMPILER_DIR)\harbour.y -o$(COMPILER_DIR)\harboury.c $(COMPILER_DIR)\harbourl.c : $(COMPILER_DIR)\harbour.l flex -i -o$(COMPILER_DIR)\harbourl.c $(COMPILER_DIR)\harbour.l # # Macro compiler source dependencies and build rules # #$(MACOMP_DIR)\macroy.c : $(MACOMP_DIR)\macro.y # bison --debug --verbose -d -v --name-prefix=mc -o$(MACOMP_DIR)\macroy.c $(MACOMP_DIR)\macro.y # #$(MACOMP_DIR)\macrol.c : $(MACOMP_DIR)\macro.l $(MACOMP_DIR)\macroy.c # flex -bdviB8 -Pmc -o$(MACOMP_DIR)\macrol.c $(MACOMP_DIR)\macro.l # #$(OBJ_DIR)\macroy.obj : $(MACOMP_DIR)\macroy.c # $(CC) $(CLIBFLAGS) -DYY_NEVER_INTERACTIVE -Fo$@ $** # #$(OBJ_DIR)\macrol.obj : $(MACOMP_DIR)\macrol.c # $(CC) $(CLIBFLAGS) -DYY_NEVER_INTERACTIVE -Fo$@ $** # #$(OBJ_DIR)\macro.obj : $(MACOMP_DIR)\macro.c # $(CC) $(CLIBFLAGS) -Fo$@ $** # # HBPP source dependencies below. Add as needed # $(OBJ_DIR)\hbpplib.obj : $(HBPP_DIR)\hbpplib.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\hbpp.obj : $(HBPP_DIR)\hbpp.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\hbppint.obj : $(HBPP_DIR)\hbppint.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\table.obj : $(HBPP_DIR)\table.c $(CC) $(CLIBFLAGS) -Fo$@ $** # # RTL source dependencies below. Add as needed # #$(OBJ_DIR)\getch.obj : $(RTL_DIR)\getch.c # cl -w -Ow -Ge -I\mvs\vc98\crt\src -I$(INCLUDE_DIR) -Zi -GZ -GA -GF -DDEBUG -D_CRTBLD -c -Fo$@ $** $(RTL_DIR)\achoice.c : $(RTL_DIR)\achoice.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\achoice.obj : $(RTL_DIR)\achoice.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\adir.c : $(RTL_DIR)\adir.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\adir.obj : $(RTL_DIR)\adir.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\alert.c : $(RTL_DIR)\alert.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\alert.obj : $(RTL_DIR)\alert.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\arrays.obj : $(RTL_DIR)\arrays.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\asort.c : $(RTL_DIR)\asort.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\asort.obj : $(RTL_DIR)\asort.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\browdb.c : $(RTL_DIR)\browdb.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\browdb.obj : $(RTL_DIR)\browdb.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\classes.obj : $(RTL_DIR)\classes.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\codebloc.obj : $(RTL_DIR)\codebloc.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\console.obj : $(RTL_DIR)\console.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\copyfile.obj : $(RTL_DIR)\copyfile.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\dates.obj : $(RTL_DIR)\dates.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\descend.obj : $(RTL_DIR)\descend.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\devoutp.c : $(RTL_DIR)\devoutp.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\devoutp.obj : $(RTL_DIR)\devoutp.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\dir.obj : $(RTL_DIR)\dir.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\do.obj : $(RTL_DIR)\do.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\environ.obj : $(RTL_DIR)\environ.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\errorapi.obj : $(RTL_DIR)\errorapi.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\errorsys.c : $(RTL_DIR)\errorsys.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\errorsys.obj : $(RTL_DIR)\errorsys.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\extend.obj : $(RTL_DIR)\extend.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\filesys.obj : $(RTL_DIR)\filesys.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\fm.obj : $(RTL_DIR)\fm.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\gtapi.obj : $(RTL_DIR)\gtapi.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\gtxxx.obj : $(RTL_DIR)\gtxxx.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\hardcr.obj : $(RTL_DIR)\hardcr.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\inkey.obj : $(RTL_DIR)\inkey.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\itemapi.obj : $(RTL_DIR)\itemapi.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\langapi.obj : $(RTL_DIR)\langapi.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\math.obj : $(RTL_DIR)\math.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\memvars.obj : $(RTL_DIR)\memvars.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\menuto.c : $(RTL_DIR)\menuto.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\menuto.obj : $(RTL_DIR)\menuto.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\msgxxx.obj : $(RTL_DIR)\msgxxx.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\mtran.obj : $(RTL_DIR)\mtran.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\objfunc.c : $(RTL_DIR)\objfunc.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\objfunc.obj : $(RTL_DIR)\objfunc.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\readvar.c : $(RTL_DIR)\readvar.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\readvar.obj : $(RTL_DIR)\readvar.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\set.obj : $(RTL_DIR)\set.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\setcolor.obj : $(RTL_DIR)\setcolor.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\setkey.c : $(RTL_DIR)\setkey.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\setkey.obj : $(RTL_DIR)\setkey.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strings.obj : $(RTL_DIR)\strings.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\tbcolumn.c : $(RTL_DIR)\tbcolumn.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tbcolumn.obj : $(RTL_DIR)\tbcolumn.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\tbrowse.c : $(RTL_DIR)\tbrowse.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tbrowse.obj : $(RTL_DIR)\tbrowse.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\tclass.c : $(RTL_DIR)\tclass.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tclass.obj : $(RTL_DIR)\tclass.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\terror.c : $(RTL_DIR)\terror.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\terror.obj : $(RTL_DIR)\terror.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\tget.c : $(RTL_DIR)\tget.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tget.obj : $(RTL_DIR)\tget.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\tgetlist.c : $(RTL_DIR)\tgetlist.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tgetlist.obj : $(RTL_DIR)\tgetlist.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\tone.obj : $(RTL_DIR)\tone.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\transfrm.obj : $(RTL_DIR)\transfrm.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RTL_DIR)\xsavescr.c : $(RTL_DIR)\xsavescr.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\xsavescr.obj : $(RTL_DIR)\xsavescr.c $(CC) $(CLIBFLAGS) -Fo$@ $** # # Debugger source dependencies below. Add as needed # $(DEBUG_DIR)\debugger.c : $(DEBUG_DIR)\debugger.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\debugger.obj : $(DEBUG_DIR)\debugger.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(DEBUG_DIR)\tbrwtext.c : $(DEBUG_DIR)\tbrwtext.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\tbrwtext.obj : $(DEBUG_DIR)\tbrwtext.c $(CC) $(CLIBFLAGS) -Fo$@ $** # # VM source dependencies below. Add as needed # $(OBJ_DIR)\dynsym.obj : $(VM_DIR)\dynsym.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\hvm.obj : $(VM_DIR)\hvm.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\initsymb.obj : $(VM_DIR)\initsymb.c $(CC) $(CLIBFLAGS) -Fo$@ $** # # TOOLS source dependencies below. Add as needed # $(OBJ_DIR)\asciisum.obj : $(TOOLS_DIR)\asciisum.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\ascpos.obj : $(TOOLS_DIR)\ascpos.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\atdiff.obj : $(TOOLS_DIR)\atdiff.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\chareven.obj : $(TOOLS_DIR)\chareven.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\charmix.obj : $(TOOLS_DIR)\charmix.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\charodd.obj : $(TOOLS_DIR)\charodd.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\chrcount.obj : $(TOOLS_DIR)\chrcount.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\chrfirst.obj : $(TOOLS_DIR)\chrfirst.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\chrtotal.obj : $(TOOLS_DIR)\chrtotal.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\dates2.obj : $(TOOLS_DIR)\dates2.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\datesx.obj : $(TOOLS_DIR)\datesx.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\debug.obj : $(TOOLS_DIR)\debug.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(TOOLS_DIR)\fileread.c : $(TOOLS_DIR)\fileread.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\fileread.obj : $(TOOLS_DIR)\fileread.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\hb_f.obj : $(TOOLS_DIR)\hb_f.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\io.obj : $(TOOLS_DIR)\io.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\mathx.obj : $(TOOLS_DIR)\mathx.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strasint.obj : $(TOOLS_DIR)\strasint.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strcount.obj : $(TOOLS_DIR)\strcount.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strcspn.obj : $(TOOLS_DIR)\strcspn.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strdiff.obj : $(TOOLS_DIR)\strdiff.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strexpan.obj : $(TOOLS_DIR)\strexpan.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(TOOLS_DIR)\stringp.c : $(TOOLS_DIR)\stringp.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\stringp.obj : $(TOOLS_DIR)\stringp.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\stringsx.obj : $(TOOLS_DIR)\stringsx.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strleft.obj : $(TOOLS_DIR)\strleft.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strpbrk.obj : $(TOOLS_DIR)\strpbrk.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\strright.obj : $(TOOLS_DIR)\strright.c $(CC) $(CLIBFLAGS) -Fo$@ $** # # RDD and related source dependencies below. Add as needed # $(OBJ_DIR)\dbcmd.obj : $(RDD_DIR)\dbcmd.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RDD_DIR)\rddsys.c : $(RDD_DIR)\rddsys.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\rddsys.obj : $(RDD_DIR)\rddsys.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RDD_DIR)\dbf0.c : $(RDD_DIR)\dbf0.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\dbf0.obj : $(RDD_DIR)\dbf0.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\dbf1.obj : $(RDD_DIR)\dbf1.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RDD_DIR)\sdf0.c : $(RDD_DIR)\sdf0.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\sdf0.obj : $(RDD_DIR)\sdf0.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\sdf1.obj : $(RDD_DIR)\sdf1.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RDD_DIR)\delim0.c : $(RDD_DIR)\delim0.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\delim0.obj : $(RDD_DIR)\delim0.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\delim1.obj : $(RDD_DIR)\delim1.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(RDD_DIR)\dbfntx\dbfntx0.c : $(RDD_DIR)\dbfntx\dbfntx0.prg $(HARBOUR_EXE) $** $(HARBOURFLAGS) -o$(**D) $(OBJ_DIR)\dbfntx0.obj : $(RDD_DIR)\dbfntx\dbfntx0.c $(CC) $(CLIBFLAGS) -Fo$@ $** $(OBJ_DIR)\dbfntx1.obj : $(RDD_DIR)\dbfntx\dbfntx1.c $(CC) $(CLIBFLAGS) -Fo$@ $**