* 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.
89 lines
1.6 KiB
Makefile
89 lines
1.6 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(TOP)$(ROOT)config/global.mk
|
|
|
|
ifneq ($(HB_PLATFORM),)
|
|
ifneq ($(HB_COMPILER),)
|
|
|
|
HB_LINKING_RTL :=
|
|
HB_LINKING_VMMT :=
|
|
|
|
ifneq ($(DYNNAME),)
|
|
HB_LINKING_RTL := yes
|
|
ifneq ($(findstring vmmt, $(DYNDIRLIST)),)
|
|
HB_LINKING_VMMT := yes
|
|
endif
|
|
endif
|
|
|
|
-include $(TOP)$(ROOT)config/$(HB_PLATFORM)/libs.mk
|
|
|
|
# We're linking them directly to Harbour dynlib now.
|
|
#ifneq ($(HB_HAS_PCRE_LOCAL),)
|
|
# SYSLIBS += hbpcre
|
|
#endif
|
|
#ifneq ($(HB_HAS_ZLIB_LOCAL),)
|
|
# SYSLIBS += hbzlib
|
|
#endif
|
|
|
|
include $(TOP)$(ROOT)config/$(HB_PLATFORM)/$(HB_COMPILER).mk
|
|
include $(TOP)$(ROOT)config/c.mk
|
|
include $(TOP)$(ROOT)config/prg.mk
|
|
|
|
HB_LIBS_TPL = \
|
|
hbextern \
|
|
hbdebug \
|
|
$(_HB_VM) \
|
|
hbrtl \
|
|
hblang \
|
|
hbcpage \
|
|
$(HB_GT_LIBS) \
|
|
$(_HB_RDD) \
|
|
hbrtl \
|
|
$(_HB_VM) \
|
|
hbmacro \
|
|
hbcplr \
|
|
hbpp \
|
|
hbcommon
|
|
|
|
DYN_FILE :=
|
|
IMP_FILE :=
|
|
|
|
ifneq ($(HB_BUILD_DLL),no)
|
|
ifneq ($(DY_RULE),)
|
|
|
|
DYN_NAME := $(DYN_PREF)$(DYNNAME)$(DYN_EXT)
|
|
DYN_FILE := $(DYN_DIR)/$(DYN_NAME)
|
|
|
|
ifneq ($(IMP_DIR),)
|
|
IMP_NAME := $(LIB_PREF)$(DYNNAME)$(LIB_EXT)
|
|
IMP_FILE := $(IMP_DIR)/$(IMP_NAME)
|
|
endif
|
|
|
|
ALL_OBJS := $(subst /,$(DIRSEP),$(foreach dir,$(DYNDIRLIST),$(wildcard $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_POSTFIX)$(OBJ_EXT))))
|
|
|
|
first:: dirbase descend
|
|
|
|
descend:: dirbase
|
|
+@$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(DYN_NAME)
|
|
|
|
vpath $(DYN_NAME) $(DYN_DIR)
|
|
$(DYN_NAME) : $(ALL_OBJS)
|
|
$(DY_RULE)
|
|
|
|
INSTALL_FILES := $(DYN_FILE)
|
|
INSTALL_DIR := $(HB_DYN_INSTALL)
|
|
include $(TOP)$(ROOT)config/instsh.mk
|
|
INSTALL_RULE_DYN := $(INSTALL_RULE)
|
|
ifneq ($(INSTALL_RULE_DYN),)
|
|
install:: first
|
|
$(INSTALL_RULE_DYN)
|
|
|
|
endif
|
|
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|