* harbour/makefile.bc
* harbour/makefile.vc
* harbour/config/rules.cf
* harbour/contrib/btree/makefile.bc
* harbour/contrib/htmllib/Makefile.bc
* harbour/contrib/htmllib/makefile.vc
* harbour/contrib/libct/makefile.bc
* harbour/contrib/libct/makefile.vc
* harbour/contrib/libgt/makefile.bc
* harbour/contrib/libgt/makefile.vc
* harbour/contrib/libmisc/makefile.bc
* harbour/contrib/libmisc/makefile.vc
* harbour/contrib/libnf/makefile.vc
* harbour/contrib/libnf/nanfor.bc
* harbour/contrib/samples/makefile.bc
* harbour/contrib/samples/makefile.vc
+ harbour/contrib/samples/make_b32.bat
+ harbour/contrib/samples/make_vc.bat
- harbour/contrib/samples/makevc.bat
+ -w default Harbour build switch changed to -w2,
to further maintain code quality.
; Notice that CONTRIB might need some fixing here.
+ Added proper BC/VC make batch files for "samples".
* harbour/include/hbclass.ch
* harbour/source/debug/dbgmenu.prg
* harbour/source/debug/debugger.prg
* harbour/source/rtl/teditor.prg
* harbour/utils/hbdoc/genchm.prg
* harbour/utils/hbdoc/genhtm.prg
* harbour/utils/hbdoc/genng.prg
* harbour/utils/hbdoc/genos2.prg
* harbour/utils/hbdoc/genpdf1.prg
* harbour/utils/hbdoc/genrtf.prg
* harbour/utils/hbdoc/os2.prg
* harbour/utils/hbmake/hbmake.prg
* harbour/utils/hbmake/radios.prg
* harbour/utils/hbpptest/pretest.prg
* harbour/utils/hbtest/rt_misc.prg
+ Added HB_SYMBOL_UNUSED() inside codeblocks.
! Removed a few uneeded codeblock parameters.
+ Added HB_SYMBOL_UNUSED() to some class syntax generated
code to avoid unused "Self" var warnings.
* harbour/ChangeLog.017
! Typos.
171 lines
4.8 KiB
Plaintext
171 lines
4.8 KiB
Plaintext
#
|
|
# $Id$
|
|
#
|
|
|
|
#
|
|
# Makefile for Harbour Project for Microsoft Visual C (32 bits)
|
|
#
|
|
|
|
#
|
|
# 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)
|
|
#
|
|
|
|
#
|
|
# Notes about this makefile:
|
|
#
|
|
# 1. To add new files to a dependancy list, add an obj name to one of the
|
|
# OBJ lists for the appropriate library.
|
|
# NOTE: put .prg related obj's last in the lib list.
|
|
#
|
|
# 2. This is a recursive script. If you change the name of this file,
|
|
# be sure to change MK_FILE (a few lines down) to the new name as well.
|
|
#
|
|
# 3. Recurrsion rules are quite simple:
|
|
# If you specifiy /a on the command line, files in the obj\vc dir
|
|
# will be deleted, and when nmake recurses, it's without the /a flag
|
|
#
|
|
# If a .prg.obj rule is fired, nmake will execute this script with
|
|
# a specific target as a parameter immediatley after compiling a given
|
|
# set of prg files.
|
|
# ie: Harbour $<
|
|
# nmake /fmakefile.vc obj\vc\rtl.lib2
|
|
# which will simply get make to re-evaluate the dependancy list for the
|
|
# lib, and as a result, it will execute the C compiler using the .c.obj
|
|
# rule below to create the obj's for the prg's that were created just
|
|
# prior to the recurrsive call. Once the obj's are created, the
|
|
# recurrsion is complete.
|
|
# See additional notes under RTL.LIB below.
|
|
#
|
|
|
|
MK_FILE = makefile.vc
|
|
MK_FLAGS = $(MAKEFLAGS: =)
|
|
|
|
OBJ_DIR = ..\..\obj\vc
|
|
LIB_DIR = ..\..\lib\vc
|
|
BIN_DIR = ..\..\bin
|
|
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
AS = masm
|
|
CFLAGS = -I$(INCLUDE_DIR) -TP -W3 -nologo $(C_USR) $(CFLAGS)
|
|
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
|
|
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
|
|
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -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
|
|
#
|
|
|
|
.SUFFIXES: .prg .lib .c .obj .asm
|
|
|
|
# override builtin
|
|
|
|
.c.obj::
|
|
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
|
|
|
|
#
|
|
#
|
|
#
|
|
|
|
LIBLIST = \
|
|
$(TOOLS_LIB)
|
|
|
|
#
|
|
# TOOLS.LIB rules
|
|
#
|
|
|
|
{$(TOOLS_DIR)}.c{$(OBJ_DIR)}.obj::
|
|
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
|
|
|
|
{$(TOOLS_DIR)}.prg{$(OBJ_DIR)}.obj::
|
|
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
|
|
$(MAKE) -nologo /$(MK_FLAGS) /f$(MK_FILE) $(TOOLS_LIB)2
|
|
|
|
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)
|
|
|
|
CLEAN:
|
|
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
|
|
-@if exist $(OBJ_DIR)\asciisum.obj del $(OBJ_DIR)\asciisum.obj
|
|
-@if exist $(OBJ_DIR)\ascpos.obj del $(OBJ_DIR)\ascpos.obj
|
|
-@if exist $(OBJ_DIR)\atdiff.obj del $(OBJ_DIR)\atdiff.obj
|
|
-@if exist $(OBJ_DIR)\chareven.obj del $(OBJ_DIR)\chareven.obj
|
|
-@if exist $(OBJ_DIR)\charmix.obj del $(OBJ_DIR)\charmix.obj
|
|
-@if exist $(OBJ_DIR)\charodd.obj del $(OBJ_DIR)\charodd.obj
|
|
-@if exist $(OBJ_DIR)\chrcount.obj del $(OBJ_DIR)\chrcount.obj
|
|
-@if exist $(OBJ_DIR)\chrfirst.obj del $(OBJ_DIR)\chrfirst.obj
|
|
-@if exist $(OBJ_DIR)\chrtotal.obj del $(OBJ_DIR)\chrtotal.obj
|
|
-@if exist $(OBJ_DIR)\strasint.obj del $(OBJ_DIR)\strasint.obj
|
|
-@if exist $(OBJ_DIR)\strcount.obj del $(OBJ_DIR)\strcount.obj
|
|
-@if exist $(OBJ_DIR)\strcspn.obj del $(OBJ_DIR)\strcspn.obj
|
|
-@if exist $(OBJ_DIR)\strdiff.obj del $(OBJ_DIR)\strdiff.obj
|
|
-@if exist $(OBJ_DIR)\strexpan.obj del $(OBJ_DIR)\strexpan.obj
|
|
-@if exist $(OBJ_DIR)\strleft.obj del $(OBJ_DIR)\strleft.obj
|
|
-@if exist $(OBJ_DIR)\strpbrk.obj del $(OBJ_DIR)\strpbrk.obj
|
|
-@if exist $(OBJ_DIR)\strright.obj del $(OBJ_DIR)\strright.obj
|
|
-@if exist $(TOOLS_LIB) del $(TOOLS_LIB)
|
|
|
|
#
|
|
# Library dependencies and build rules
|
|
#
|
|
|
|
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
|
|
lib /out:$@ $**
|
|
|
|
# dummy targets used for prg to c creation
|
|
|
|
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)
|
|
|