# makefile for Borland C/C++ 16 bits .path.asm = source\compiler .path.c = source\rtl .path.h = include .path.l = source\compiler .path.y = source\compiler .path.exe = bin .path.lib = libs\b16 .path.obj = obj .path.prg = source\rtl c_opt = -mh -O2 -I.\include -DUSE_GTAPI #c_opt = -mh -O2 -I.\include PROJECT: harbour.lib hbtools.lib terminal.lib libs\win16\terminal.lib harbour.exe harbour.lib : arrays.obj asort.obj classes.obj codebloc.obj dates.obj \ descend.obj dynsym.obj environ.obj error.obj \ errorapi.obj errorsys.obj extend.obj \ files.obj gtapi.obj initsymb.obj itemapi.obj \ math.obj objfunc.obj \ set.obj strings.obj strcmp.obj symbols.obj tclass.obj transfrm.obj hbtools.lib : datesx.obj debug.obj genobj.obj io.obj mathx.obj \ stringp.obj stringsx.obj \ asciisum.obj ascpos.obj atdiff.obj \ chareven.obj charmix.obj charodd.obj \ chrcount.obj chrfirst.obj chrtotal.obj \ strasint.obj strcount.obj strcspn.obj \ strdiff.obj strexpan.obj strleft.obj \ strpbrk.obj strright.obj terminal.lib : console.obj gtdos.obj libs\win16\terminal.lib : console.obj console.obj : console.c extend.h types.h ctoharb.h dates.h gtapi.h set.h bcc -c $(c_opt) -o$@ source\rtl\console.c tlib .\libs\b16\terminal.lib -+$@,, # bcc -c -DWINDOWS $(c_opt) -o$@ source\rtl\console.c # tlib .\libs\win16\terminal.lib -+$@,, arrays.obj : arrays.c extend.h types.h itemapi.h ctoharb.h asort.obj : asort.prg extend.h types.h init.h pcode.h harbour.exe classes.obj : classes.c extend.h types.h itemapi.h codebloc.obj : codebloc.c extend.h types.h dates.obj : dates.c extend.h types.h dates.h set.h descend.obj : descend.c extend.h types.h environ.obj : environ.c extend.h types.h error.obj : error.prg extend.h types.h init.h pcode.h harbour.exe errorapi.obj : errorapi.c extend.h types.h ctoharb.h errorsys.obj : errorsys.prg extend.h types.h init.h pcode.h harbour.exe extend.obj : extend.c extend.h types.h set.h files.obj : extend.c extend.h types.h gtapi.obj : gtapi.c extend.h types.h gtapi.h itemapi.obj : itemapi.c extend.h types.h ctoharb.h itemapi.h set.h math.obj : math.c extend.h types.h objfunc.obj : objfunc.prg extend.h types.h init.h pcode.h harbour.exe set.obj : set.c extend.h types.h set.h strcmp.obj : strcmp.c extend.h types.h set.h strings.obj : strings.c extend.h types.h set.h symbols.obj : symbols.asm tclass.obj : tclass.prg extend.h types.h init.h pcode.h harbour.exe transfrm.obj : transfrm.c extend.h types.h ctoharb.h set.h gtdos.obj : source\rtl\gt\gtdos.c extend.h types.h gtapi.h dynsym.obj : source\vm\dynsym.c extend.h types.h initsymb.obj : source\vm\initsymb.c extend.h types.h datesx.obj : source\tools\datesx.c extend.h types.h debug.obj : source\tools\debug.c extend.h types.h ctoharb.h itemapi.h genobj.obj : source\tools\genobj.c extend.h types.h io.obj : source\tools\io.c extend.h types.h mathx.obj : source\tools\mathx.c extend.h types.h stringp.obj : source\tools\stringp.prg extend.h types.h init.h pcode.h harbour.exe stringsx.obj : source\tools\stringsx.c extend.h types.h asciisum.obj : source\tools\asciisum.c extend.h types.h ascpos.obj : source\tools\ascpos.c extend.h types.h atdiff.obj : source\tools\atdiff.c extend.h types.h chareven.obj : source\tools\chareven.c extend.h types.h charmix.obj : source\tools\charmix.c extend.h types.h charodd.obj : source\tools\charodd.c extend.h types.h chrcount.obj : source\tools\chrcount.c extend.h types.h chrfirst.obj : source\tools\chrfirst.c extend.h types.h chrtotal.obj : source\tools\chrtotal.c extend.h types.h strasint.obj : source\tools\strasint.c extend.h types.h strcount.obj : source\tools\strcount.c extend.h types.h strcspn.obj : source\tools\strcspn.c extend.h types.h strdiff.obj : source\tools\strdiff.c extend.h types.h strexpan.obj : source\tools\strexpan.c extend.h types.h strleft.obj : source\tools\strleft.c extend.h types.h strpbrk.obj : source\tools\strpbrk.c extend.h types.h strright.obj : source\tools\strright.c extend.h types.h {source\tools}.prg{obj}.obj: bin\harbour $< /n /osource\tools bcc -c $(c_opt) -o$@ $*.c tlib .\libs\b16\hbtools.lib -+$@,, .prg.obj: bin\harbour $< /n /osource\rtl bcc -c $(c_opt) -o$@ $*.c tlib .\libs\b16\harbour.lib -+$@,, {source\vm}.c{obj}.obj: bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\harbour.lib -+$@,, {source\tools}.c{obj}.obj: bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\hbtools.lib -+$@,, {source\rtl\gt}.c{obj}.obj: bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\terminal.lib -+$@,, {source\compiler}.c{obj}.obj: bcc -c $(c_opt) -Isource\compiler -o$@ $< .c.obj: bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\harbour.lib -+$@,, .asm.obj: tasm -I.\include $< $@ tlib .\libs\b16\harbour.lib -+$@,, harbour.exe : y_tab.obj lexyy.obj lex_t1.obj lex_t2.obj lex_t3.obj harbour.obj genobj32.obj echo -ebin\harbour.exe obj\y_tab.obj > b31.bc echo obj\lexyy.obj obj\lex_t1.obj >> b31.bc echo obj\lex_t2.obj obj\lex_t3.obj >> b31.bc echo obj\harbour.obj obj\genobj32.obj >> b31.bc bcc $(c_opt) -Isource\compiler @b31.bc fixflex.obj : source\compiler\fixflex.c genobj32.obj : source\compiler\genobj32.c harbour.obj : source\compiler\harbour.c lexyy.obj : source\compiler\lexyy.c harbour.l lex_t1.obj : source\compiler\lex_t1.c harbour.l lex_t2.obj : source\compiler\lex_t2.c harbour.l lex_t3.obj : source\compiler\lex_t3.c harbour.l y_tab.obj : source\compiler\y_tab.c harbour.y source\compiler\y_tab.c : harbour.y bison -d -v -y -osource\compiler\y_tab.c source\compiler\harbour.y fixflex.exe : fixflex.obj bcc -mh $(c_opt) -ebin\fixflex.exe obj\fixflex.obj source\compiler\lex_t1.c :: harbour.l fixflex.exe source\compiler\lex_t2.c :: harbour.l fixflex.exe source\compiler\lexyy.c :: harbour.l fixflex.exe flex -i -8 -osource\compiler\lexyy.c source\compiler\harbour.l if exist source\compiler\lexyy.bak del source\compiler\lexyy.bak fixflex source\compiler\lexyy.c source\compiler\lex_t1.c source\compiler\lex_t2.c source\compiler\lex_t3.c -P-