* bin/commit.hb
* config/detect.mk
* config/detfun.mk
* config/detplat.mk
* config/dir.mk
* config/dirsh.mk
* config/global.mk
* config/globsh.mk
* config/instsh.mk
* config/lang.hb
* config/lang2po.hb
* config/po2lang.hb
* config/postinst.hb
* contrib/hbexpat/tests/tohash.prg
* contrib/hbformat/utils/hbformat.ini
* contrib/hbmisc/hbedit.prg
* contrib/hbmxml/tests/testmxml.prg
* contrib/hbnetio/utils/hbnetio/_console.prg
* contrib/hbnetio/utils/hbnetio/_winsvc.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* contrib/hbnetio/utils/hbnetio/netiomgm.hb
* contrib/hbwin/tests/ole.prg
* contrib/hbwin/tests/oletst2.js
* contrib/hbwin/tests/oletst2.vbs
* contrib/hbxpp/doc/en/binnumx.txt
* contrib/hbxpp/doc/en/dbcmdx.txt
* contrib/xhb/htmutil.prg
* contrib/xhb/tfile.prg
* contrib/xhb/tframe.prg
* contrib/xhb/thtm.prg
* ChangeLog.txt
* debian/copyright
* doc/class_tp.txt
* doc/hdr_tpl.txt
* doc/xhb-diff.txt
* LICENSE.txt
* package/harbour-wce.spec.in
* package/harbour-win.spec.in
* package/harbour.spec
* package/mpkg_rpm_wce.sh
* package/mpkg_rpm_win.sh
* package/mpkg_rpm.sh
* package/mpkg_src.sh
* package/mpkg_ver.sh
* src/rtl/achoice.prg
* src/rtl/getsys53.prg
* src/rtl/tgetlist.prg
* src/rtl/tlabel.prg
* src/rtl/tmenusys.prg
* tests/hbdoc.prg
* tests/langmsg.prg
* tests/rto_get.prg
* tests/rto_tb.prg
+ doc/en/ati.txt
+ doc/en/dirdrive.txt
+ doc/en/hashfunc.txt
+ doc/en/hbtoken.txt
+ doc/en/left.txt
+ doc/en/proc.txt
+ doc/en/strtran.txt
+ doc/en/transfrm.txt
+ doc/en/typefile.txt
* doc/en/*
* more partial sync with 3.4 fork
77 lines
1.7 KiB
Makefile
77 lines
1.7 KiB
Makefile
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 MS-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' HAS 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
|