Files
harbour-core/harbour/config/rules.cf
Viktor Szakats cebe0c72ed 2009-08-12 14:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/rules.cf
    ! Changed CC_RULE and CPP_RULE to have CC_OUT option _before_ CC_IN.
      Quick check didn't reveal any problems with this accross our supported
      compiler, but I may be wrong, so pls check me, I didn't test this 
      change thoroughly.
      This change fixes CC_OUT for bcc, where it was ignored before.
      If this is breaks other compilers, bcc specific CC_RULE should be
      added to win/bcc.cf.

  * utils/hbmk2/hbmk2.prg
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/gtcrs/gtcrs.h
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/gttrm/gttrm.c
  * source/rtl/gtsln/mousesln.c
  * source/rtl/gtsln/gtsln.c
  * source/rtl/gtsln/Makefile
    * HAVE_GPM_H -> HB_HAS_GPM

  * config/global.cf
    + Added some compile-time macros in comment.
    * Minor correction to MKFLAGS comment.

  * source/rtl/console.c
  * source/rtl/hbgtcore.c
    * Changed wording 'screen driver' to 'Harbour terminal (GT)'.
      Former term isn't used by us.

  * config/bsd/gcc.cf
  * config/darwin/gcc.cf
  * config/hpux/gcc.cf
  * config/dos/djgpp.cf
  * config/linux/gcc.cf
  * config/linux/icc.cf
  * config/linux/sunpro.cf
  * config/os2/gcc.cf
  * config/sunos/gcc.cf
  * config/sunos/sunpro.cf
    + Readded accidentally deleted feature to include *nix system
      libs needed for rtl, only if rtl is actually linked.
      (IOW in practice don't link them for harbour/hbpp executables)
    ! Fixed a few old problems where some extra libs were always
      linked. Now m is the only one linked in all scenarios.
    + Added linking pdcurses along with gtcrs for djgpp.
    * Standardized LDFLAGS in linux/icc (left from previous modification).
    ! Indentations corrected.
2009-08-12 12:49:09 +00:00

76 lines
1.8 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
ifeq ($(HB_BUILD_UNICODE),yes)
HB_CUNICODE := -DUNICODE
endif
# How to run Harbour
HB := $(HB_HOST_BIN_DIR)/harbour$(HB_HOST_BIN_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_INC_DEPEND) $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_FLAGSEXTRA) $(HB_USER_PRGFLAGS)
# Use default rules if architecture/compiler specific rule is not defined
# The rule to compile a C source file.
ifeq ($(CC_RULE),)
CC_RULE = $(CC) $(HB_INC_DEPEND) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN) $<
endif
# The rule to compile a C++ source file.
ifeq ($(CPP_RULE),)
CPP_RULE = $(CC) $(HB_INC_DEPEND) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(HB_CUNICODE) $(CC_OUT)$(<F:.cpp=$(OBJ_EXT)) $(CC_IN) $<
endif
# The rule to link an executable.
ifeq ($(LD_RULE),)
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$(subst /,$(DIRSEP),$(BIN_DIR)/$@) $(^F) $(LDFLAGS) $(HB_USER_LDFLAGS) $(LDLIBS)
endif
# Eliminate these rules.
%.c : %.y
%.c : %.l
# Rule to generate an object file from a C source file in the parent.
%$(OBJ_EXT) : $(GRANDP)%.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) : $(GRANDP)%.cpp
$(CPP_RULE)
%$(OBJ_EXT) : %.cpp
$(CPP_RULE)
# Rule to generate an executable file from an object file.
%$(BIN_EXT) : %$(OBJ_EXT)
$(LD_RULE)
# Rule to generate a C file from a PRG file.
%.c : $(GRANDP)%.prg
$(HB_RULE)