* 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.
148 lines
3.5 KiB
Makefile
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
|