* 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)
174 lines
3.3 KiB
Makefile
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
|