# # $Id$ # # # Makefile for Harbour Project for Borland C/C++ 3.x, 4.x, 5.x compilers # # # NOTE: You can use these envvars to configure the make process: # (note that these are all optional) # # CFLAGS - Extra C compiler options for libraries and for # executables # C_USR - Extra C compiler options for libraries and for # executables (GNU make compatible envvar) # CLIBFLAGS - Extra C compiler options for the libraries # HARBOURFLAGS - Extra Harbour compiler options # PRG_USR - Extra Harbour compiler options # (GNU make compatible envvar) # # # NOTE: "echo." intentionally used instead of "echo", to avoid conflicts # with external commands named echo. # !if $d(B16) CC = bcc AS = tasm # Borland C/C++ (DOS 16 bits) CFLAGS = -mh $(CFLAGS) BIN_DIR = bin\b16 OBJ_DIR = obj\b16 LIB_DIR = lib\b16 !else CC = bcc32 AS = tasm32 BIN_DIR = ..\..\bin\b32 OBJ_DIR = ..\..\obj\b32 LIB_DIR = ..\..\lib\b32 # This is needed, otherwise the libs may overflow when # debug info is requested with -v -y ARFLAGS = /P32 !endif !if !$d(BCC_NOOPTIM) CFLAGS = -O2 $(CFLAGS) !endif # # Directory macros. These should never have to change. # INCLUDE_DIR = ..\..\include TOOLS_DIR = . # # C compiler definition and C flags. These should never have to change. # CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS) CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS) CLIBFLAGSDEBUG = -v $(CLIBFLAGS) HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS) LDFLAGS = $(LDFLAGS) # # Macros to access our library names # TOOLS_LIB = $(LIB_DIR)\gt.lib HARBOUR_EXE = $(BIN_DIR)\harbour.exe # # Rules # # # 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)\strasint.obj \ $(OBJ_DIR)\strcount.obj \ $(OBJ_DIR)\strcspn.obj \ $(OBJ_DIR)\strdiff.obj \ $(OBJ_DIR)\strexpan.obj \ $(OBJ_DIR)\strleft.obj \ $(OBJ_DIR)\strpbrk.obj \ $(OBJ_DIR)\strright.obj \ # # Our default target # all: \ $(TOOLS_LIB) \ # # Library dependencies and build rules # $(TOOLS_LIB) : $(TOOLS_LIB_OBJS) # # TOOLS.LIB dependencies # $(OBJ_DIR)\asciisum.obj : $(TOOLS_DIR)\asciisum.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\ascpos.obj : $(TOOLS_DIR)\ascpos.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\atdiff.obj : $(TOOLS_DIR)\atdiff.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\chareven.obj : $(TOOLS_DIR)\chareven.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\charmix.obj : $(TOOLS_DIR)\charmix.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\charodd.obj : $(TOOLS_DIR)\charodd.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\chrcount.obj : $(TOOLS_DIR)\chrcount.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\chrfirst.obj : $(TOOLS_DIR)\chrfirst.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\chrtotal.obj : $(TOOLS_DIR)\chrtotal.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strasint.obj : $(TOOLS_DIR)\strasint.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strcount.obj : $(TOOLS_DIR)\strcount.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strcspn.obj : $(TOOLS_DIR)\strcspn.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strdiff.obj : $(TOOLS_DIR)\strdiff.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strexpan.obj : $(TOOLS_DIR)\strexpan.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strleft.obj : $(TOOLS_DIR)\strleft.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strpbrk.obj : $(TOOLS_DIR)\strpbrk.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,, $(OBJ_DIR)\strright.obj : $(TOOLS_DIR)\strright.c $(CC) $(CLIBFLAGS) -o$@ $** tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,