* 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
86 lines
2.1 KiB
CFEngine3
86 lines
2.1 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
# The Harbour project
|
|
# GNU MAKE file for OpenWatcom C/C++
|
|
|
|
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf
|
|
|
|
OBJ_EXT = .o
|
|
EXE_EXT =
|
|
LIB_PREF =
|
|
LIB_EXT = .lib
|
|
|
|
CC = wpp386
|
|
CC_IN =
|
|
CC_OUT = -fo=
|
|
|
|
# important: -j is necessary for proper build
|
|
#CPPFLAGS = -j -w3 -d1 -5s -5r -fp5 -oehtz -s -zq -zt0 -bt=linux
|
|
CPPFLAGS = -j -w2 -d1 -zq -bt=linux
|
|
|
|
#architecture flags
|
|
CPPFLAGS += -5 -fp5
|
|
|
|
# optimization flags
|
|
# don't enable -ol optimization in OpenWatcom 1.1 - gives buggy code
|
|
CPPFLAGS += -onaehtzr -oi+ -ei -zp8 -s -zt0
|
|
|
|
CPPFLAGS += -i. -i$(TOP)include -i$(TOP)$(ROOT)include -iinclude
|
|
ifneq ($(HB_LIB_COMPILE),)
|
|
CPPFLAGS += -i$(HB_INC_COMPILE)
|
|
endif
|
|
|
|
ifeq ($(HB_LEX),SIMPLEX)
|
|
CFLAGS += -DSIMPLEX
|
|
endif
|
|
|
|
empty:=
|
|
space:= $(empty) $(empty)
|
|
comma:= ,
|
|
|
|
LD = wlink
|
|
LDFLAGS = debug all sys Linux OP CASEEXACT
|
|
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
LINKLIBS := $(foreach lib, $(CONTRIBS), $(TOP)$(ROOT)contrib/$(lib)/$(HB_ARCH)/$(subst lib,,$(lib)))
|
|
LINKLIBS += $(foreach lib, $(LIBS), $(TOP)$(ROOT)source/$(lib)/$(HB_ARCH)/$(lib))
|
|
else
|
|
LINKLIBS := $(foreach lib, $(CONTRIBS), $(HB_LIB_COMPILE)/$(lib))
|
|
LINKLIBS += $(foreach lib, $(LIBS), $(HB_LIB_COMPILE)/$(lib))
|
|
endif
|
|
|
|
# If LIBS specifies the rdd library, add all DB drivers.
|
|
ifeq ($(findstring rdd,$(LIBS)),rdd)
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(TOP)$(ROOT)source/rdd/$(drv)/$(HB_ARCH)/$(drv))
|
|
else
|
|
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(HB_LIB_COMPILE)/$(drv))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
GTLIBS := $(TOP)$(ROOT)source/rtl/$(HB_GT_LIB)/$(HB_ARCH)/$(HB_GT_LIB)
|
|
else
|
|
GTLIBS := $(HB_LIB_COMPILE)/$(HB_GT_LIB)
|
|
endif
|
|
ifeq ($(HB_MULTI_GT),yes)
|
|
GTLIBS += $(TOP)$(ROOT)source/rtl/gtnul/$(HB_ARCH)/gtnul
|
|
endif
|
|
endif
|
|
|
|
LDFILES = $(subst $(space),$(comma) ,$(^F))
|
|
LDLIBS = $(subst $(space),$(comma) ,$(strip $(LINKLIBS) $(RDDLIBS) $(GTLIBS)))
|
|
LD_RULE = $(LD) $(LDFLAGS) NAME $@ FILE $(LDFILES)
|
|
ifneq ($(LDLIBS),)
|
|
LD_RULE += LIB $(LDLIBS)
|
|
endif
|
|
|
|
AR = wlib
|
|
# ARFLAGS = -c -n -fa $(A_USR)
|
|
ARFLAGS = -c -n $(A_USR)
|
|
AR_RULE = $(AR) $(ARFLAGS) $@ $(foreach file, $(^F), -+$(file))
|
|
|
|
include $(TOP)$(ROOT)config/rules.cf
|