Files
harbour-core/harbour/config/bin.mk
Viktor Szakats 9adc0c8611 2010-06-14 11:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbsetup.h
  * utils/hbmk2/hbmk2.prg
    + Added experimental support for QNX operating systems.
      Tested with 6.2.1.

  + config/qnx
  + config/qnx/gcc.mk
  + config/qnx/global.mk
    + Added qnx GNU make files. For now this is a simple copy
      of linux ones.

  * src/common/hbgete.c
  * src/common/hbprintf.c
    + HB_OS_QNX tweaks.

  * src/common/hbffind.c
  * src/rtl/fssize.c
    ! Disabled stat64 for HB_OS_QNX.

  * src/common/hbffind.c
    ! Fixed very old error in default (todo) branch 
      where hbrtl function was mistakenly referenced.

  * external/Makefile
  * contrib/Makefile
  * contrib/sddoci/Makefile
  * config/none.mk
  * config/global.mk
  * config/bin.mk
  * config/dir.mk
    + Since QNX has GNU Make 3.79.1, I had to re-xmastree
      the GNU Make files (though I didn't restore the xmas
      indentation), plus restore all logic that dealt
      with older GNU Make versions. Also added some new logic.
    + Changed to give warning only when using older than
      3.81 make versions. Some feature are disabled in this case,
      f.e. HB_BUILD_PKG (win/dos specific feature)
    ; TOFIX: host platform and cpu detection relies on $(eval)
             which is not present on pre 3.80.

  ; habour and hbpp builds fine, but there are several remaining
    problems in rtl and vm.

  * mpkg_nightly.sh
    + Added feeback about what the script does.
    + Using -q for zip to lessen large amount of unnecessary feedback

  * external/pcre/pcre.dif
  * external/pcre/Makefile
    ! Tweak to make PCRE build on djgpp 2.3
      Patch by Tamas Tevesz (2nd version posted on dev list)
2010-06-14 09:59:41 +00:00

174 lines
3.3 KiB
Makefile

#
# $Id$
#
include $(TOP)$(ROOT)config/global.mk
ifneq ($(HB_PLATFORM),)
ifneq ($(HB_COMPILER),)
# Assemble template lib list to help create a few common variations
BUILD_SHARED :=
ifeq ($(flavor LIBS),recursive)
ifeq ($(HB_BUILD_SHARED),yes)
BUILD_SHARED := yes
endif
endif
ifeq ($(BUILD_SHARED),yes)
HB_LIBS_TPL := \
hbcplr \
hbdebug \
ifneq ($(filter $(HB_PLATFORM),win wce),)
ifneq ($(filter $(HB_COMPILER),mingw mingw64 mingwarm),)
HB_LIBS_TPL += hbmainstd
else
ifeq ($(HB_COMPILER),watcom)
HB_LDFLAGS += FILE $(LIB_DIR)/hbmainstd.lib
else
HB_LIBS_TPL += hbmainstd hbmainwin
endif
endif
else
ifeq ($(HB_PLATFORM),os2)
ifeq ($(HB_COMPILER),watcom)
HB_LDFLAGS += FILE $(LIB_DIR)/hbmainstd.lib
else
HB_LIBS_TPL += hbmainstd
endif
endif
endif
HB_LIBS_ST_RDD := $(HB_LIBS_TPL) $(HB_DYNLIB_ST)
HB_LIBS_MT_RDD := $(HB_LIBS_TPL) $(HB_DYNLIB_MT)
HB_LIBS_ST_NORDD := $(HB_LIBS_ST_RDD)
HB_LIBS_MT_NORDD := $(HB_LIBS_MT_RDD)
HB_LIBS_TPL :=
else
# (have to use '=' operator here)
HB_LIBS_TPL = \
hbextern \
hbdebug \
$(_HB_VM) \
hbrtl \
hblang \
hbcpage \
$(HB_GT_LIBS) \
$(_HB_RDD) \
hbrtl \
$(_HB_VM) \
hbmacro \
hbcplr \
hbpp \
hbcommon
ifneq ($(HB_HAS_PCRE_LOCAL),)
HB_LIBS_TPL += hbpcre
endif
ifneq ($(HB_HAS_ZLIB_LOCAL),)
HB_LIBS_TPL += hbzlib
endif
# Create a few common core lib lists
_HB_RDD := \
hbrdd \
rddntx \
rddnsx \
rddcdx \
rddfpt \
hbsix \
hbhsx \
hbusrrdd \
hbuddall
_HB_VM := hbvm
HB_LIBS_ST_RDD := $(HB_LIBS_TPL)
_HB_VM := hbvmmt
HB_LIBS_MT_RDD := $(HB_LIBS_TPL)
_HB_RDD := hbnulrdd
_HB_VM := hbvm
HB_LIBS_ST_NORDD := $(HB_LIBS_TPL)
_HB_VM := hbvmmt
HB_LIBS_MT_NORDD := $(HB_LIBS_TPL)
# Cleanup temp vars
HB_LIBS_TPL :=
_HB_RDD :=
_HB_VM :=
endif
HB_LINKING_RTL :=
HB_LINKING_VMMT :=
ifneq ($(filter hbrtl,$(LIBS)),)
HB_LINKING_RTL := yes
ifneq ($(filter hbvmmt,$(LIBS)),)
HB_LINKING_VMMT := yes
endif
endif
-include $(TOP)$(ROOT)config/$(HB_PLATFORM)/libs.mk
ifneq ($(HB_PLATFORM_UNIX),)
ifeq ($(BUILD_SHARED),yes)
SYSLIBS :=
SYSLIBPATHS :=
endif
endif
LIBS := $(HB_USER_LIBS) $(LIBS)
include $(TOP)$(ROOT)config/$(HB_PLATFORM)/$(HB_COMPILER).mk
include $(TOP)$(ROOT)config/c.mk
include $(TOP)$(ROOT)config/prg.mk
include $(TOP)$(ROOT)config/res.mk
BIN_NAME :=
ifneq ($(C_MAIN),)
ifeq ($(BIN_NAME),)
BIN_NAME := $(C_MAIN:.c=$(BIN_EXT))
endif
endif
ifneq ($(PRG_MAIN),)
ifeq ($(BIN_NAME),)
BIN_NAME := $(PRG_MAIN:.prg=$(BIN_EXT))
endif
endif
BIN_FILE := $(BIN_DIR)/$(BIN_NAME)
ALL_OBJS := $(ALL_C_OBJS) $(ALL_PRG_OBJS)
ifneq ($(RC),)
ALL_OBJS += $(ALL_RC_OBJS)
endif
first:: dirbase descend
descend:: dirbase
+@$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(BIN_NAME)
vpath $(BIN_NAME) $(BIN_DIR)
$(BIN_NAME) : $(ALL_OBJS)
$(LD_RULE)
INSTALL_FILES := $(BIN_FILE)
INSTALL_DIR := $(HB_BIN_INSTALL)
include $(TOP)$(ROOT)config/instsh.mk
INSTALL_RULE_BIN := $(INSTALL_RULE)
ifneq ($(INSTALL_RULE_BIN),)
install:: first
$(INSTALL_RULE_BIN)
endif
endif
endif