* 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)
81 lines
1.7 KiB
Makefile
81 lines
1.7 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(TOP)$(ROOT)config/global.mk
|
|
|
|
ifneq ($(HB_PLATFORM),)
|
|
ifneq ($(HB_COMPILER),)
|
|
|
|
ifeq ($(HB_HOST_PLAT),dos)
|
|
# do not use rules for parallel processing in DOS
|
|
JOB_SRV := NO
|
|
else
|
|
# these make versions does not work correctly with
|
|
# parallel execution rules below
|
|
JOB_SRV := $(MAKE_VERSION:3.7%=NO)
|
|
JOB_SRV := $(JOB_SRV:3.80%=NO)
|
|
endif
|
|
|
|
ifeq ($(JOB_SRV),NO)
|
|
|
|
DIRS := $(filter-out {%},$(subst {, {,$(DIRS)))
|
|
include $(TOP)$(ROOT)config/dirsh.mk
|
|
|
|
else
|
|
|
|
# NOTE: The empty line directly before 'endef' HAVE TO exist!
|
|
# It causes that every command will be separated by LF
|
|
define dir_mk
|
|
@$(MK) $(MKFLAGS) -C $(dir) $@
|
|
|
|
endef
|
|
|
|
DIRS_PURE := $(filter-out {%},$(subst {, {,$(DIRS)))
|
|
DIRS_DEP := $(filter-out $(DIRS_PURE),$(DIRS))
|
|
DIRS_MK := $(foreach d, $(DIRS_PURE), $(if $(wildcard $(d)/Makefile),$(d),))
|
|
DIR_RULE = $(foreach dir, $(DIRS_MK), $(dir_mk))
|
|
|
|
endif
|
|
|
|
all : first
|
|
|
|
ifeq ($(JOB_SRV),NO)
|
|
|
|
first clean install::
|
|
+$(DIR_RULE)
|
|
|
|
else
|
|
|
|
DIRS_CLEAN := $(foreach dir, $(DIRS_MK), $(dir).clean)
|
|
DIRS_INST := $(foreach dir, $(DIRS_MK), $(dir).inst)
|
|
|
|
ifneq ($(_HB_BLD),yes)
|
|
first :: $(DIRS_MK)
|
|
endif
|
|
install :: $(DIRS_INST)
|
|
clean :: $(DIRS_CLEAN)
|
|
|
|
comma := ,
|
|
define dep_rule
|
|
$(subst $(comma),$(2) ,$(subst },$(2),$(subst {,$(2)::|,$(1))))
|
|
endef
|
|
|
|
$(foreach dep, $(DIRS_DEP), $(eval $(call dep_rule,$(dep),.clean)))
|
|
$(foreach dep, $(DIRS_DEP), $(eval $(call dep_rule,$(dep),.inst)))
|
|
$(foreach dep, $(DIRS_DEP), $(eval $(call dep_rule,$(dep),)))
|
|
|
|
$(DIRS_CLEAN) ::
|
|
+@$(MK) $(MKFLAGS) -C $(@:.clean=) clean
|
|
|
|
$(DIRS_INST) ::
|
|
+@$(MK) $(MKFLAGS) -C $(@:.inst=) install _HB_BLD=yes
|
|
|
|
$(DIRS_MK) ::
|
|
+@$(MK) $(MKFLAGS) -C $(@)
|
|
|
|
endif
|
|
|
|
endif
|
|
endif
|