Files
harbour-core/harbour/config/bin.mk
Viktor Szakats eba19de1cd 2009-08-28 14:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated Ubuntu external pkg list.
    + Added slang to darwin external pkg list.

  * config/darwin/libs.mk
    + Added two syslib paths required for slang (gtsln).

  * utils/hbmk2/hbmk2.prg
    ! Fixed to add user GTs before the list of user libs.
      This is to ensure proper linkage with linkers which need
      this (mingw f.e. and all which used lib grouping switches
      before they were removed from hbmk2/make in Harbour)

  * config/bin.mk
  * config/dyn.mk
    + Added new HB_LINKING_VMMT variable, which is set to non-empty
      if hbvmmt is to be linked. It makes it possible to add
      MT dependent libs to sys lib list, if needed.

  * config/linux/libs.mk
    + Adding pthread lib when HB_LINKING_VMMT is set. This isn't
      needed on my *nix systems (Ubuntu and Darwin), but was used
      for all platforms in postinst.sh dynlib creation logic, so
      please speak up if we should add this lib to other *nix 
      platforms, or we can delete it from Linux.
2009-08-28 11:59:57 +00:00

104 lines
1.9 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
# (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
ifeq ($(filter -DHB_PCRE_REGEX, $(HB_USER_CFLAGS)),)
ifeq ($(filter -DHB_POSIX_REGEX, $(HB_USER_CFLAGS)),)
HB_LIBS_TPL += hbpcre
endif
endif
ifeq ($(filter -DHB_EXT_ZLIB, $(HB_USER_CFLAGS)),)
HB_LIBS_TPL += hbzlib
endif
# Create a few common core lib lists
_HB_RDD := hbrdd $(HB_RDD_LIBS)
_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 :=
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
include $(TOP)$(ROOT)config/$(HB_PLATFORM)/$(HB_COMPILER).mk
include $(TOP)$(ROOT)config/c.mk
include $(TOP)$(ROOT)config/prg.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)
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/install.mk
endif
endif