* harbour/config/global.cf
+ added HB_DB_DRVEXT envvar support for additional RDDs
* harbour/config/linux/gcc.cf
+ harbour/config/linux/gpp.cf
+ added GNU C++ support
* harbour/config/linux/owatcom.cf
* harbour/contrib/btree/hb_btree.c
* harbour/contrib/libct/ct.h
* harbour/contrib/libct/ctc.c
* harbour/contrib/odbc/odbc.c
* harbour/contrib/rdd_ads/adsfunc.c
* harbour/include/hbapi.h
* harbour/include/hbapierr.h
* harbour/include/hbapigt.h
* harbour/include/hbapilng.h
* harbour/source/compiler/harbour.c
* harbour/source/rtl/console.c
* harbour/source/rtl/datec.c
* harbour/source/rtl/diskspac.c
* harbour/source/rtl/errorapi.c
* harbour/source/rtl/errorint.c
* harbour/source/rtl/filesys.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/gtapi.c
* harbour/source/rtl/isprint.c
* harbour/source/rtl/natmsg.c
* harbour/source/rtl/philes.c
* harbour/source/rtl/setcolor.c
* harbour/source/rtl/spfiles.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtsln/gtsln.c
* harbour/source/rtl/gtsln/kbsln.c
* harbour/source/vm/itemapi.c
* harbour/source/vm/memvars.c
* harbour/source/vm/runner.c
* fixed for popper compilation with GNU C++ and OpenWatcom on Linux
87 lines
1.9 KiB
CFEngine3
87 lines
1.9 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf
|
|
|
|
ifeq ($(HB_COMPILER),gpp)
|
|
HB_CMP = g++
|
|
else
|
|
HB_CMP = $(HB_COMPILER)
|
|
endif
|
|
|
|
OBJ_EXT = .o
|
|
EXE_EXT =
|
|
LIB_PREF = lib
|
|
LIB_EXT = .a
|
|
|
|
CC = $(HB_CCACHE) $(HB_CMP)
|
|
CC_IN = -c
|
|
CC_OUT = -o
|
|
CPPFLAGS = -I. -I$(HB_INC_COMPILE)
|
|
|
|
# We are under linux
|
|
CFLAGS = -DHB_OS_LINUX -Wall -W -fsigned-char
|
|
|
|
# uncomment this if you want to farce relocateable code for .so libs
|
|
# it's necessary on some platforms but can reduce performance
|
|
#CFLAGS += -fPIC
|
|
|
|
ifeq ($(HB_LEX),SIMPLEX)
|
|
CFLAGS += -DSIMPLEX
|
|
endif
|
|
|
|
|
|
LD = $(HB_CCACHE) $(HB_CMP)
|
|
LD_OUT = -o
|
|
|
|
# Add all libraries specified in CONTRIBS and LIBS.
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
LINKPATHS += $(foreach lib, $(CONTRIBS), -L$(TOP)$(ROOT)contrib/$(lib)/$(HB_ARCH))
|
|
LINKPATHS += $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(HB_ARCH))
|
|
else
|
|
LINKPATHS += -L$(HB_LIB_COMPILE)
|
|
endif
|
|
|
|
# our libs have a lot of cross referenced now and we have to group them
|
|
# untill we don't clean them
|
|
LINKLIBS += -Wl,--start-group
|
|
|
|
LINKLIBS += $(foreach lib, $(CONTRIBS), -l$(subst lib,,$(lib)))
|
|
LINKLIBS += $(foreach lib, $(LIBS), -l$(lib))
|
|
|
|
# If LIBS specifies the rdd library, add all DB drivers.
|
|
ifeq ($(findstring rdd,$(LIBS)),rdd)
|
|
LINKPATHS += $(foreach drv, $(HB_DB_DRIVERS), -L$(TOP)$(ROOT)source/rdd/$(drv)/$(HB_ARCH))
|
|
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
|
|
endif
|
|
|
|
# Add the specified GT driver library
|
|
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
|
LINKPATHS += -L$(TOP)$(ROOT)source/rtl/$(HB_GT_LIB)/$(HB_ARCH)
|
|
LINKLIBS += -l$(HB_GT_LIB)
|
|
endif
|
|
|
|
# HB_SCREEN_LIB: empty, or one of ncurses, slang
|
|
ifeq ($(HB_GT_LIB),gtcrs)
|
|
HB_SCREEN_LIB:=ncurses
|
|
else
|
|
ifeq ($(HB_GT_LIB),gtsln)
|
|
HB_SCREEN_LIB:=slang
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(HB_SCREEN_LIB),)
|
|
LINKLIBS += -l$(HB_SCREEN_LIB)
|
|
endif
|
|
|
|
LINKLIBS += -lm -Wl,--end-group
|
|
|
|
LDFLAGS = $(LINKPATHS)
|
|
|
|
AR = ar
|
|
ARFLAGS = $(A_USR)
|
|
AR_RULE = $(AR) $(ARFLAGS) cr $@ $^ || $(RM) $@
|
|
|
|
include $(TOP)$(ROOT)config/rules.cf
|