* make_gnu.sh
* config/global.cf
+ Readded HB_GPM_MOUSE detection to starter script.
; TOFIX: This logic should be moved to GNU Make global.cf.
+ Readded HB_COMMERCE logic but now to global.cf, to
deal with Harbour-wide settings, currently this is only
HB_GPM_MOUSE. lib-specific HB_COMMERCE issues should be
handled in local Makefiles.
* config/global.cf
* Minor formatting.
* TODO added (host CPU detection on non-win platforms).
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/global.cf
* config/sunos/gcc.cf
* config/bsd/gcc.cf
- GPM isn't available on these platforms so it's not necessary
to handle it in these make files.
* utils/hbmk2/Makefile
* utils/hbrun/Makefile
! Changed ordering of hbcpl/hbpp/hbcommon libs to this:
hbcplr, hbpp, hbcommon
(from this: hbpp, hbcplr, hbcommon
and this: hbcommon, hbpp, hbcplr)
This syncs it with existing .hbp lib order and hopefully
fixes link problems on sunos/sparc, reported by a user.
Please retest & report results.
97 lines
1.7 KiB
CFEngine3
97 lines
1.7 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
ifeq ($(HB_BUILD_MODE),cpp)
|
|
HB_CMP = g++
|
|
else
|
|
HB_CMP = gcc
|
|
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)
|
|
CFLAGS =
|
|
|
|
ifneq ($(HB_BUILD_WARN),no)
|
|
CFLAGS += -Wall -W
|
|
endif
|
|
|
|
ifneq ($(HB_BUILD_OPTIM),no)
|
|
CFLAGS += -O3
|
|
endif
|
|
|
|
ifeq ($(HB_BUILD_DEBUG),yes)
|
|
CFLAGS += -g
|
|
endif
|
|
|
|
LD = $(HB_CCACHE) $(HB_CMP)
|
|
LD_OUT = -o
|
|
|
|
LINKPATHS += -L$(LIB_DIR)
|
|
|
|
LINKLIBS += -Wl,--start-group
|
|
|
|
LINKLIBS += $(foreach lib, $(LIBS), -l$(lib))
|
|
|
|
# If LIBS specifies the RDD library, add all DB drivers.
|
|
ifeq ($(findstring hbrdd,$(LIBS)),hbrdd)
|
|
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
|
|
endif
|
|
|
|
# Add the specified GT driver library and other RTLs
|
|
ifeq ($(findstring hbrtl,$(LIBS)),hbrtl)
|
|
|
|
LINKLIBS += $(foreach gt, $(HB_GT_LIBS), -l$(gt))
|
|
|
|
# screen driver libraries
|
|
ifeq ($(HB_CRS_LIB),)
|
|
HB_CRS_LIB = ncurses
|
|
endif
|
|
|
|
ifneq ($(findstring gtcrs, $(HB_GT_LIBS)),)
|
|
LINKLIBS += -l$(HB_CRS_LIB)
|
|
endif
|
|
|
|
ifneq ($(findstring gtsln, $(HB_GT_LIBS)),)
|
|
LINKLIBS += -lslang
|
|
# In BSD, slang still needs curses :(
|
|
ifeq ($(findstring gtcrs, $(HB_GT_LIBS)),)
|
|
LINKLIBS += -l$(HB_CRS_LIB)
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(findstring gtxwc, $(HB_GT_LIBS)),)
|
|
LINKLIBS += -lX11
|
|
#LINKPATHS += -L/usr/X11R6/lib64
|
|
LINKPATHS += -L/usr/X11R6/lib
|
|
endif
|
|
|
|
LINKPATHS += -L/usr/local/lib
|
|
|
|
endif
|
|
|
|
ifneq ($(findstring -DHB_PCRE_REGEX, $(HB_USER_CFLAGS)),)
|
|
LINKLIBS += -lpcre
|
|
endif
|
|
|
|
ifneq ($(findstring -DHB_EXT_ZLIB, $(HB_USER_CFLAGS)),)
|
|
LINKLIBS += -lz
|
|
endif
|
|
|
|
LINKLIBS += -lm -Wl,--end-group
|
|
|
|
LDFLAGS += $(LINKPATHS)
|
|
|
|
AR = ar
|
|
ARFLAGS = $(HB_USER_AFLAGS)
|
|
AR_RULE = $(AR) $(ARFLAGS) r $(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@
|
|
|
|
include $(TOP)$(ROOT)config/rules.cf
|