Files
harbour-core/harbour/config/rules.cf
Viktor Szakats f87ee247e1 2009-08-01 12:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/header.cf
  * config/rules.cf
  * config/none.cf
  * config/global.cf
  * config/doc.cf
  * config/lib.cf
  * config/bin.cf
  * config/dir.cf
  * config/test.cf
    + Added HB_COMPILER and HB_ARCHITECTURE autodetection.
      It's experimental yet.
    + Added support for HB_BUILD_SUBDIR envvar which can
      extend the <arch>/<comp> path by arbitrary subdir(s).
      Useful to keep custom binary builds in parallel, f.e.
      release/debug, cpp/c, cpu targets. Notice that hbmk2
      will not be able to use such customized directory
      structure yet, but there'll probably be a cmdline option
      for that in the future (it won't/can't be automatic).
      Notice, this feature doesn't work yet on OS/2 because
      the shell doesn't support 'mkdir -p' equivalent.
    * Cleaned internal ARCH_COMP var usage.
    % Deleted SOURCE_DIR usage, it was a no-op.

  * make_gnu.bat
    ! Fixed autodetection of mingwarm.
    ; Autodetection code will have to be deleted from here anyway.

  + config/os2-mkdir.exe
    + Added OS/2 GNU mkdir executable. (not yet used)

  * examples/superlib/superlib.dif
    + Added 'const'.

  * source/rtl/hbinet.c
    ! Fixed to use hb_retc() to return hb_socketErrorStr() value.
2009-08-01 10:41:04 +00:00

72 lines
1.6 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 := $(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_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) $(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),)
CPP_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(CC_IN) $< $(CC_OUT)$(<F:.cpp=$(OBJ_EXT))
endif
# The rule to link an executable.
ifeq ($(LD_RULE),)
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$(subst /,$(DIRSEP),$(EXE_DIR)/$@) $(^F) $(LDFLAGS) $(HB_USER_LDFLAGS) $(LINKLIBS)
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.
%$(EXE_EXT) : %$(OBJ_EXT)
$(LD_RULE)
# Rule to generate a C file from a PRG file.
%.c : $(GRANDP)%.prg
$(HB_RULE)