Files
harbour-core/harbour/config/rules.cf
Viktor Szakats 2ff37b72ec 2009-05-28 08:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    * .hbl extension changed to .hbc (Harbour Make Config).
    * -nohbl -> -nohbc
    ; Sorry for the mess.
    + Added support for instpaths= in .hbc files.
    + Added support for HB_USER_LIBPATHS envvar to specify
      lib search paths (similar to -L).
    ! Fixed so that sripping/compressing isn't attempted if
      the target didn't need an update.

  * source/rtl/Makefile
  * source/rdd/Makefile
    + Enabled -gc3 for hbrtl and hbrdd locally
      (except for wce builds). Same can be done locally
      for any libs where we find performance increase
      due to -gc3.
    ; NOTE: Probably it would be enough to compile just a few
            sensitive .prg sources (or program parts) with -gc3,
            so it would great to have such #pragma option in
            Harbour. Doesn't seem easy to implement though.

  * config/rules.cf
    * HB_GCMODE default set 0 (from 3).
      This means .prgs will be again compiled with -gc0 by default.
      Because of the contribs, this means the complete size
      of Harbour libs is now reduced significantly.

  * config/wce/global.cf
  * config/wce/msvcarm.cf
  * config/wce/mingwarm.cf
  * config/wce/poccarm.cf
    % HB_GCMODE=0 moved to wce/global.cf

  - utils/hbmk2/examples/hmg.hbl
  + utils/hbmk2/examples/fwh.hbc
  - utils/hbmk2/examples/whoo.hbl
  + utils/hbmk2/examples/xhgtk.hbc
  - utils/hbmk2/examples/xbgtk.hbl
  - utils/hbmk2/examples/hwgui.hbl
  - utils/hbmk2/examples/fwh.hbl
  + utils/hbmk2/examples/c4w.hbc
  - utils/hbmk2/examples/xhgtk.hbl
  + utils/hbmk2/examples/contrib.hbc
  - utils/hbmk2/examples/c4w.hbl
  + utils/hbmk2/examples/contribf.hbc
  - utils/hbmk2/examples/contrib.hbl
  + utils/hbmk2/examples/hmg.hbc
  + utils/hbmk2/examples/whoo.hbc
  - utils/hbmk2/examples/contribf.hbl
  + utils/hbmk2/examples/xbgtk.hbc
  + utils/hbmk2/examples/hwgui.hbc
  - contrib/gtalleg/tests/gtallegs.hbl
  - contrib/gtalleg/tests/gtallegd.hbl
  + contrib/gtalleg/tests/gtallegs.hbc
  + contrib/gtalleg/tests/gtallegd.hbc
  - contrib/hbmysql/utils/hbmysql.hbl
  + contrib/hbmysql/utils/hbmysql.hbc
  - contrib/hbmysql/tests/hbmysql.hbl
  + contrib/hbmysql/tests/hbmysql.hbc
  + contrib/hbct/tests/hbct.hbc
  - contrib/hbct/tests/hbct.hbl
  - contrib/xhb/tests/xhb.hbl
  + contrib/xhb/tests/xhb.hbc
  - contrib/hbodbc/tests/hbodbc.hbl
  + contrib/hbodbc/tests/hbodbc.hbc
  - contrib/hbtpathy/tests/hbtpathy.hbl
  + contrib/hbtpathy/tests/hbtpathy.hbc
  + contrib/hbmsql/tests/hbmsql.hbc
  - contrib/hbmsql/tests/hbmsql.hbl
  + contrib/hbmzip/tests/hbmzip.hbc
  - contrib/hbmzip/tests/hbmzip.hbl
  + contrib/hbsqlit3/tests/hbsqlit3.hbc
  - contrib/hbsqlit3/tests/hbsqlit3.hbl
  - contrib/hbblat/tests/hbblat.hbl
  + contrib/hbblat/tests/hbblat.hbc
  - contrib/hbqt/tests/hbqt.hbl
  + contrib/hbqt/tests/hbqt.hbc
  - contrib/hbfbird/tests/hbfbird.hbl
  + contrib/hbfbird/tests/hbfbird.hbc
  - contrib/hbziparc/tests/hbziparc.hbl
  + contrib/hbziparc/tests/hbziparc.hbc
  - contrib/hbnf/tests/hbnf.hbl
  + contrib/hbnf/tests/hbnf.hbc
  - contrib/hbcurl/tests/hbcurl.hbl
  + contrib/hbcurl/tests/hbcurl.hbc
  - contrib/gtqtc/tests/gtqtc.hbl
  + contrib/gtqtc/tests/gtqtc.hbc
  - contrib/rddsql/sddmy/tests/sddmy.hbl
  + contrib/rddsql/sddmy/tests/sddmy.hbc
  + contrib/rddsql/tests/rddsql.hbc
  - contrib/rddsql/tests/rddsql.hbl
  - contrib/rddsql/sddodbc/tests/sddodbc.hbl
  + contrib/rddsql/sddodbc/tests/sddodbc.hbc
  - contrib/hbhpdf/tests/hbhpdf.hbl
  + contrib/hbhpdf/tests/hbhpdf.hbc
  - contrib/rddado/tests/rddado.hbl
  + contrib/rddado/tests/rddado.hbc
  + contrib/gtwvg/tests/gtwvg.hbc
  - contrib/gtwvg/tests/gtwvg.hbl
  - contrib/hbpgsql/tests/hbpgsql.hbl
  + contrib/hbpgsql/tests/hbpgsql.hbc
  - contrib/rddads/tests/rddads.hbl
  + contrib/rddads/tests/rddads.hbc
  - contrib/hbclipsm/tests/hbclipsm.hbl
  + contrib/hbclipsm/tests/hbclipsm.hbc
  - contrib/hbfimage/tests/hbfimage.hbl
  + contrib/hbfimage/tests/hbfimage.hbc
  + contrib/hbgd/tests/hbgd.hbc
  - contrib/hbgd/tests/hbgd.hbl
  + contrib/hbmisc/tests/hbmisc.hbc
  - contrib/hbmisc/tests/hbmisc.hbl
  + contrib/hbtip/tests/hbtip.hbc
  - contrib/hbtip/tests/hbtip.hbl
  + contrib/hbwin/tests/hbwin.hbc
  - contrib/hbwin/tests/hbwin.hbl
  + contrib/hbvpdf/tests/hbvpdf.hbc
  - contrib/hbvpdf/tests/hbvpdf.hbl
  - contrib/hbssl/tests/hbssl.hbl
  + contrib/hbssl/tests/hbssl.hbc
  - contrib/hbbtree/tests/hbbtree.hbl
  + contrib/hbbtree/tests/hbbtree.hbc
  - contrib/hbcrypt/tests/hbcrypt.hbl
  + contrib/hbcrypt/tests/hbcrypt.hbc
  + contrib/examples/hbsqlit2/tests/hbsqlit2.hbc
  - contrib/examples/hbsqlit2/tests/hbsqlit2.hbl
  - contrib/examples/hbapollo/tests/hbapollo.hbl
  + contrib/examples/hbapollo/tests/hbapollo.hbc
  + contrib/examples/hbgf/tests/hbgf.hbc
  - contrib/examples/hbgf/tests/hbgf.hbl
  - contrib/examples/terminal/terminal.hbl
  + contrib/examples/terminal/terminal.hbc
  - contrib/examples/hbwhat/tests/hbwhat.hbl
  + contrib/examples/hbwhat/tests/hbwhat.hbc
    * Renamed *.hbl -> *.hbc (Harbour Make Config) in whole source tree.
2009-05-28 06:26:06 +00:00

99 lines
2.3 KiB
CFEngine3

#
# $Id$
#
# How to run yacc.
YACC = bison
YACC_FLAGS := -d $(YACC_FLAGS)
# How to run lex.
LEX = flex
LEX_FLAGS := -i -8 $(LEX_FLAGS)
ifeq ($(HB_BUILD_DEBUG),yes)
HB_CDBG = -DHB_TR_LEVEL_DEBUG
else
HB_PDBG = -l
endif
#
# How to run Harbour.
#
HB := $(notdir $(HB_BIN_COMPILE))
ifneq ($(HB),)
# there is no slash at the end
HB := $(HB_BIN_COMPILE)/
endif
HB := $(HB)harbour$(EXE_EXT)
ifeq ($(HB_GCMODE),)
HB_GCMODE=0
endif
HB_FLAGS := -i$(HB_INC_COMPILE) -q0 -w3 -es2 -kmo $(HB_PDBG)
HB_RULE = $(HB) $? -n1 $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_FLAGSEXTRA) $(HB_USER_PRGFLAGS)
# The rule to link an executable.
ifeq ($(LD_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$@ $(^F) $(LDFLAGS) $(HB_USER_LDFLAGS) $(LINKLIBS)
endif
# The rule to compile a C source file.
ifeq ($(CC_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
CC_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(CC_IN) $< $(CC_OUT)$(<F:.c=$(OBJ_EXT))
endif
# The rule to compile a C++ source file.
ifeq ($(CPP_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
CPP_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(CC_IN) $< $(CC_OUT)$(<F:.cpp=$(OBJ_EXT))
endif
# Eliminate these rules.
%.c : %.y
%.c : %.l
# Location of source C files
# Some DOS compilers doesn't like '/' in filenames - however the MAKE system
# requires '/' in filenames - this trick allows to solve this conflict
SOURCE_DIR := $($(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP)
ifeq ($(SOURCE_DIR),)
SOURCE_DIR = $(GRANDP)
endif
# Rule to generate an object file from a C source file in the parent.
%$(OBJ_EXT) : $(SOURCE_DIR)%.c
$(CC_RULE)
# Rule to generate an object file from a C source file.
%$(OBJ_EXT) : %.c
$(CC_RULE)
#rules for CPP files
%$(OBJ_EXT) : $(SOURCE_DIR)%.cpp
$(CPP_RULE)
%$(OBJ_EXT) : %.cpp
$(CPP_RULE)
# Rule to generate an executable file from an object file.
%$(EXE_EXT) : %$(OBJ_EXT)
$(LD_RULE)
# Rule to generate a C file from a PRG file.
%.c : $(GRANDP)%.prg
$(HB_RULE)
ifeq ($(SHLVL),) # COMMAND.COM
# Do nothing. the $(HB_ARCHITECTURE)/global.cf will handle clean up.
else
# Generic rule to clean up.
clean::
-$(RM) *.bak *.obj core *.core *~ *.o *.ppo *.err
endif