204 lines
4.6 KiB
Makefile
204 lines
4.6 KiB
Makefile
#
|
|
# $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;include
|
|
TOOLS_DIR = source
|
|
TOOLS1_DIR = examples
|
|
#
|
|
# 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 -w0 -gc0 $(PRG_USR) $(HARBOURFLAGS) -p
|
|
LDFLAGS = $(LDFLAGS)
|
|
|
|
#
|
|
# Macros to access our library names
|
|
#
|
|
|
|
TOOLS_LIB = $(LIB_DIR)\html.lib
|
|
|
|
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
|
|
|
|
#
|
|
# Rules
|
|
#
|
|
|
|
#
|
|
# TOOLS.LIB rules
|
|
#
|
|
TOOLS_LIB_OBJS = \
|
|
$(OBJ_DIR)\ohtm.obj \
|
|
$(OBJ_DIR)\htmbrows.obj \
|
|
$(OBJ_DIR)\oedit.obj \
|
|
$(OBJ_DIR)\ofile.obj \
|
|
$(OBJ_DIR)\jlist.obj \
|
|
$(OBJ_DIR)\oini.obj \
|
|
$(OBJ_DIR)\jwindow.obj \
|
|
$(OBJ_DIR)\ocgi.obj \
|
|
$(OBJ_DIR)\oframe.obj \
|
|
$(OBJ_DIR)\counter.obj \
|
|
$(OBJ_DIR)\errorsys.obj \
|
|
$(OBJ_DIR)\htmutil.obj
|
|
|
|
#
|
|
# Our default target
|
|
#
|
|
|
|
all: \
|
|
$(TOOLS_LIB) \
|
|
|
|
#
|
|
# Library dependencies and build rules
|
|
#
|
|
|
|
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
|
|
|
|
|
|
$(OBJ_DIR)\ohtm.c : $(TOOLS_DIR)\ohtm.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\ohtm.obj : $(OBJ_DIR)\ohtm.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\htmbrows.c : $(TOOLS_DIR)\htmbrows.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\htmbrows.obj : $(OBJ_DIR)\htmbrows.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\oedit.c : $(TOOLS_DIR)\oedit.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\oedit.obj : $(OBJ_DIR)\oedit.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\ofile.c : $(TOOLS_DIR)\ofile.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\ofile.obj : $(OBJ_DIR)\ofile.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\jlist.c : $(TOOLS_DIR)\jlist.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\jlist.obj : $(OBJ_DIR)\jlist.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
|
|
$(OBJ_DIR)\oini.c : $(TOOLS_DIR)\oini.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\oini.obj : $(OBJ_DIR)\oini.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\jwindow.c : $(TOOLS_DIR)\jwindow.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\jwindow.obj : $(OBJ_DIR)\jwindow.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\ocgi.c : $(TOOLS_DIR)\ocgi.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\ocgi.obj : $(OBJ_DIR)\ocgi.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\oframe.c : $(TOOLS_DIR)\oframe.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\oframe.obj : $(OBJ_DIR)\oframe.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\counter.c : $(TOOLS1_DIR)\counter.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\counter.obj : $(OBJ_DIR)\counter.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\errorsys.c : $(TOOLS_DIR)\errorsys.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\errorsys.obj : $(OBJ_DIR)\errorsys.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|
|
$(OBJ_DIR)\htmutil.c : $(TOOLS_DIR)\htmutil.prg
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
|
|
|
$(OBJ_DIR)\htmutil.obj : $(OBJ_DIR)\htmutil.c
|
|
$(CC) $(CLIBFLAGS) -o$@ $**
|
|
tlib $(TOOLS_LIB) $(ARFLAGS) -+$@,,
|
|
|