Files
harbour-core/harbour/source/Makefile
Viktor Szakats 55fa645e86 2009-09-17 00:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/Makefile
  * config/lib.mk
    + Added Przemek's patch to add local hbzlib and hbpcre
      libs to Harbour dynlib.
    ; TODO: Add some ways to disable this because it has some
            drawbacks (it f.e. makes it impossible to link 3rd
            party libs also exporting zlib / pcre interfaces).
            This information needs to be passed to hbmk2, too.
            I don't have any elegant way to solve this problem ATM.

  * utils/hbmk2/hbmk2.prg
    * Changed to only add local hbzlib and hbpcre libs to liblist
      in static mode. (this is needed to support change above).
    + Enabled lib grouping for beos/gcc.
    + Added supc++/supcxx lib to liblist of gcc family compilers.
      This aims to solve link problems when Harbour is built
      in C++, but hbmk2 is used in C mode.

  * contrib/hbqt/hbqts.hbc
  * contrib/hbqt/hbqt.hbc
  * contrib/gtqtc/gtqtcs.hbc
  * contrib/gtqtc/gtqtc.hbc
    - Deleted explicit supc++ libspec. Now it's added by
      hbmk2 automatically.

  * config/dyn.mk
    ! Modified to add local hbpcre and hbzlib to syslib
      list to make it link with beos/haiku.
      Please test/confirm this change.
    - Disabled above logic, since it's not needed.

  * config/global.mk
    + Added autodetection for linux/sunpro, linux/icc,
      darwin/clang, darwin/gcc, darwin/icc.
      On darwin clang became the default, if available.

  * external/sqlite3/Makefile
    + Tweak for linux/watcom. Based on Przemek patch sent to the devlist.

  * config/detfun.mk
  * config/bin.mk
  * config/dyn.mk
  * source/Makefile
  * config/lib.mk
    % Minor modification to HB_HAS_*_LOCAL logic to make
      it safe to use this var without first checking HB_HAS_*.

  ; Please test/review these. I didn't restest everything after above changes.
2009-09-16 22:59:47 +00:00

148 lines
3.5 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
ifneq ($(HB_HAS_PCRE_LOCAL),)
DYNDIRLIST_BASE += external/pcre
endif
ifneq ($(HB_HAS_ZLIB_LOCAL),)
DYNDIRLIST_BASE += external/zlib
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