Files
harbour-core/harbour/source/Makefile
Przemyslaw Czerpak 23ee7ce5f0 2009-01-30 20:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gcc.mak
    ! added additional rules to fix time conditions in parallel compilation

  * harbour/config/dos/dir.cf
  * harbour/config/w32/dir.cf
    * changed simple assignments to recursive ones

  * harbour/config/dir.cf
    + added support for dependencies between build directories for
      parallel execution. If compilation of dirX needs results of
      dirY and dirZ compilation then it hsould be declared as:
         dirX{dirY,dirZ}
    % process directories defined in DIRS simultaneously when -j<N>
      GNU make switch is used - it gives additional speed improvement
      on multi CPU machines

  * harbour/Makefile
  * harbour/source/Makefile
    * set directory dependencies for parallel compilation

   The parallel compilation can be enabled by using -j<n> GNU make
   switch on multiprocess platforms, f.e.:
      ./gnu_make.sh -j3
   It should give some speed improvement even on single CPU machines.
   These are results of clean Harbour compilation on my 3 phantom CPU
   computer:

      1. leaner compilation without -j<n>                6m29.895s
      2. parallel compilation with -j5 but without
         parallel directory processing                   3m20.163s
      3. parallel compilation with -j5 and with new
         parallel directory processing                   2m6.168s
2009-01-30 19:15:26 +00:00

42 lines
427 B
Makefile

#
# $Id$
#
ROOT = ../
ifeq ($(HB_HOST_BUILD),yes)
DIRS=\
common \
pp{common} \
compiler{pp} \
main{compiler} \
else
ifeq ($(HB_HOST_BUILD),lib)
HB_COMP_DIR=
else
HB_COMP_DIR=main{compiler}
endif
DIRS=\
common \
pp{common} \
compiler{pp} \
$(HB_COMP_DIR) \
rtl{main} \
vm{main} \
macro \
codepage \
lang \
rdd{main} \
hbextern{main} \
hbpcre \
hbzlib \
debug{main} \
endif
include $(ROOT)config/dir.cf