Files
harbour-core/harbour/config/dir.mk
Viktor Szakats cd42aa6417 2012-10-23 22:16 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbamf/hbamf.hbp
  * contrib/hbblink/hbblink.hbp
  * contrib/hbcomm/hbcomm.hbp
  * contrib/hbcups/hbcups.hbp
  * contrib/hbcurl/hbcurl.hbm
  * contrib/hbdroid/hbdroid.hbp
  * contrib/hbexpat/hbexpat.hbp
  * contrib/hbfbird/hbfbird.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbformat/hbformat.hbp
  * contrib/hbfoxpro/hbfoxpro.hbp
  * contrib/hbfship/hbfship.hbp
  * contrib/hbgs/hbgs.hbp
  * contrib/hbgt/hbgt.hbp
  * contrib/hbhttpd/hbhttpd.hbp
  * contrib/hblzf/hblzf.hbp
  * contrib/hbmagic/hbmagic.hbp
  * contrib/hbmemio/hbmemio.hbp
  * contrib/hbmisc/hbmisc.hbp
  * contrib/hbmlzo/hbmlzo.hbp
  * contrib/hbmxml/hbmxml.hbp
  * contrib/hbnetio/hbnetio.hbp
  * contrib/hbnf/hbnf.hbp
  * contrib/hboslib/hboslib.hbp
  * contrib/hbsms/hbsms.hbp
  * contrib/hbssl/hbssl.hbm
  * contrib/hbtpathy/hbtpathy.hbp
  * contrib/hbxdiff/hbxdiff.hbp
  * contrib/hbxpp/hbxpp.hbp
  * contrib/hbziparc/hbziparc.hbp
    * do not copy .ch/.hbx files to central Harbour
      directory. It means that if you need to use
      these files from now on, you need to use the
      .hbc files to add these packages to your project:
      freeimag.ch ftmenuto.ch hbblink.ch hbcurl.ch hbexpat.ch
      hbfoxpro.ch hblzf.ch hbmagic.ch hbmlzo.ch hbmxml.ch
      hbssl.ch hbxdiff.ch hbxppext.ch telepath.ch
      (and more if you need an .hbx file.) INCOMPATIBLE.
      This is a gradual step to complete this TODO:
         2012-03-04 20:31 UTC+0100

  * contrib/hbfbird/readme.txt
  * contrib/hbfimage/readme.txt
  * contrib/hbmysql/readme.txt
  * contrib/hbnf/doc/en/chdir.txt
  * contrib/hbnf/doc/en/cint86.txt
  * contrib/hbziparc/doc/en/hbziparc.txt
  * contrib/rddads/doc/en/readme.txt
  * contrib/rddads/readme.txt
  * doc/en/file.txt
  * doc/dirstruc.txt
  * doc/en/dir.txt
  * doc/gmake.txt
  * doc/gtapi.txt
  * extras/httpsrv/readme.txt
  * utils/hbmk2/hbmk2.1
    * various updates (removed OS specific stuff,
      added reference to .hbc files, hbmk2,
      removed certain outdated information,
      DOS -> MS-DOS)

  - tests/dosshell.prg
  + tests/osshell.prg
    * renamed/changed to be OS agnostic

  * config/dir.mk
  * config/dos/djgpp.mk
  * config/globsh.mk
    * DOS -> MS-DOS

  * extras/httpsrv/uhttpd.prg
  * src/debug/dbghelp.prg
  * utils/hbmk2/hbmk2.es_PE.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/hbmk2.pt_BR.po
    * DOS -> OS

  * contrib/gtwvg/class.prg
  * contrib/gtwvg/crt.prg
  * contrib/gtwvg/dialog.prg
  * contrib/gtwvg/mle.prg
  * contrib/gtwvg/syswnd.prg
  * contrib/gtwvg/wnd.prg
    * removed unnecessary parentheses
2012-10-23 20:49:40 +00:00

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 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' 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