Files
harbour-core/harbour/source/Makefile
Viktor Szakats 8a6466e7fd 2009-09-10 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* Makefile
  - source/hbpcre
  - source/hbzlib
  * external/Makefile
  + external/pcre
  + external/zlib
  * external/pcre/Makefile
  * external/zlib/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * include/hbsetup.h
  * include/hbzlib.h
  * include/hbregex.h
  * source/rtl/hbzlibgz.c
  * source/rtl/Makefile
  * source/rtl/hbregexc.c
  * source/rtl/hbregex.c
  * source/rtl/hbzlib.c
  * source/Makefile
  * contrib/xhb/Makefile
  * contrib/hbmzip/Makefile
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * config/lib.mk
  * config/bin.mk
  * config/detect.mk
  * config/darwin/libs.mk
  * config/linux/libs.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/dyn.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/bsd/libs.mk
  * config/hpux/libs.mk
  * config/sunos/libs.mk
    * Changed the way embedded zlib and pcre are handled:
      - They now reside in /external dir.
      - They are now excluded from Harbour dynlib. This means they
        will now be linked statically on non-*nix systems and
        dynamically on *nix systems. On *nix it's probably easy to
        switch to link statically. On non-*nix this is quite
        complicated to do.
      - If these libs are provided by the system, those will be used.
      - On non-*nix systems the locally hosted versions will be used,
        unless user overrides them using HB_INC_PCRE or HB_INC_ZLIB.
      - There is currently no officially supported way to force usage
        of locally hosted libs.
      - If PCRE lib is forcibly disabled or not found, build system
        will fall back to POSIX regex on *nix systems and Borland regex
        with bcc compiler. Otherwise it will stop the build with an error.
      - If zlib is forcibly disabled or not found, an error will be
        generated at build-time (in hbrtl). hbmzip is simply skipped
        in this case.
      - hbmk2 will use local builds of these libs if they are present
        in lib dir.
    ; TOFIX: hbmk script.
    ; TOFIX: dos builds. cmdline lenghts are most probably too big for them.
    ; NOTE: Bumps are expected.
    ; NOTE: I've yet to test/verify it.

  - external/libhpdf/ori_src
  - external/libhpdf/ori_dst
    - Deleted. (added in prev commit by oversight)
2009-09-10 14:08:51 +00:00

141 lines
3.3 KiB
Makefile

#
# $Id$
#
ROOT := ../
include $(TOP)$(ROOT)config/global.mk
ifeq ($(HB_HOST_BUILD),yes)
DIRS := \
common \
nortl \
pp{common,nortl} \
compiler{pp} \
main{compiler} \
else
ifneq ($(HB_BUILD_DLL),no)
ifeq ($(HB_PLATFORM),darwin)
DYNNAME_POST := .$(HB_DYN_VER)
else
DYNNAME_POST := -$(HB_DYN_VER)
endif
ifeq ($(HB_PLATFORM),win)
ifeq ($(HB_COMPILER),bcc)
DYNNAME_POST := $(DYNNAME_POST)-bcc
else
ifeq ($(HB_CPU),x86_64)
DYNNAME_POST := $(DYNNAME_POST)-x64
else
ifeq ($(HB_CPU),ia64)
DYNNAME_POST := $(DYNNAME_POST)-ia64
endif
endif
endif
else
ifeq ($(HB_PLATFORM),wce)
DYNNAME_POST := $(DYNNAME_POST)-wce
ifeq ($(HB_CPU),arm)
DYNNAME_POST := $(DYNNAME_POST)-arm
else
ifeq ($(HB_CPU),mips)
DYNNAME_POST := $(DYNNAME_POST)-mips
else
ifeq ($(HB_CPU),sh)
DYNNAME_POST := $(DYNNAME_POST)-sh
endif
endif
endif
else
ifeq ($(HB_PLATFORM),os2)
DYNNAME_POST := $(DYNNAME_POST)-os2
endif
endif
endif
DYNDIRLIST_BASE := \
source/common \
source/pp \
source/rtl \
source/macro \
source/lang \
source/codepage \
source/hbextern \
source/rdd \
source/rdd/dbfntx \
source/rdd/dbfnsx \
source/rdd/dbfcdx \
source/rdd/dbffpt \
source/rdd/hbsix \
source/rdd/hsx \
source/rdd/usrrdd \
source/rtl/gtcgi \
source/rtl/gtpca \
source/rtl/gtstd
ifeq ($(HB_PLATFORM),dos)
# Don't consume environment space
DYNDIRLIST_BASE := x
endif
ifeq ($(HB_PLATFORM),os2)
DYNDIRLIST_BASE += source/rtl/gtos2
endif
ifeq ($(HB_PLATFORM),wce)
DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui
endif
ifeq ($(HB_PLATFORM),win)
DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui source/rtl/gtwin
endif
ifneq ($(HB_PLATFORM_UNIX),)
DYNDIRLIST_BASE += source/rtl/gttrm
DYNDIRLIST_BASE += source/rtl/gtcrs
DYNDIRLIST_BASE += source/rtl/gtsln
DYNDIRLIST_BASE += source/rtl/gtxwc
endif
ifeq ($(HB_COMPILER),watcom)
DYNDIRLIST_BASE += source/vm/maindllh
endif
ifeq ($(HB_COMPILER),xcc)
DYNDIRLIST_BASE += source/vm/maindllh
endif
export DYNDIRLIST_BASE
export DYNNAME_POST
endif
ifeq ($(HB_HOST_BUILD),lib)
HB_COMP_DIR :=
HB_COMP_REF :=
else
HB_COMP_DIR := main{compiler}
HB_COMP_REF := {main}
endif
DIRS := \
common \
nortl \
pp{common,nortl} \
compiler{pp} \
$(HB_COMP_DIR) \
rtl$(HB_COMP_REF) \
vm$(HB_COMP_REF) \
macro \
codepage \
lang \
rdd$(HB_COMP_REF) \
hbextern$(HB_COMP_REF) \
debug$(HB_COMP_REF)
ifneq ($(HB_BUILD_DLL),no)
DIRS += dynlib{codepage,common,hbextern,lang,macro,pp,rdd,rtl,vm}
endif
endif
include $(ROOT)config/dir.mk