* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* harbour/make_rpm.sh
* removed --with zlib switch - now zlib will be created in all builds
* added hbzlib library
* added hbmzip library - MiniZIP wrapper to manage ZIP files
* harbour/contrib/Makefile
* added hbmzip library to default builds
* harbour/include/hbzlib.h
! changed \ in include path
! added relative paths for LCC and XCC
* harbour/bin/hb-func.sh
* updated for hbzlib library in core code and hbmzip in contrib
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
* added hbzlib library to linked library list
* harbour/include/hbzlib.h
* harbour/bin/hb-func.sh
* harbour/make_gcc.mak
* harbour/config/darwin/gcc.cf
* harbour/config/hpux/gcc.cf
* harbour/config/linux/gcc.cf
* harbour/config/sunos/gcc.cf
* harbour/config/bsd/gcc.cf
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
+ added support for compilation with HB_EXT_ZLIB macro
It forces using external (OS) ZLIB library instead of hbzlib.
Still some other make files should be updated to respect it.
100 lines
2.1 KiB
CFEngine3
100 lines
2.1 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
|
|
|
|
# uncomment this if you want to force relocateable code for .so libs
|
|
# it's necessary on some platforms but can reduce performance
|
|
#CFLAGS += -fPIC
|
|
|
|
LD = $(HB_CCACHE) $(HB_CMP)
|
|
LD_OUT = -o
|
|
|
|
# Add all libraries specified in CONTRIBS and LIBS.
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
LINKPATHS += -L$(LIB_DIR)
|
|
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)
|
|
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
|
|
endif
|
|
|
|
# Add the specified GT driver library and other RTLs
|
|
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
|
|
|
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
|
|
endif
|
|
ifneq ($(findstring gtalleg, $(HB_GT_LIBS)),)
|
|
LINKLIBS += `allegro-config --static`
|
|
endif
|
|
ifneq ($(findstring gtxwc, $(HB_GT_LIBS)),)
|
|
LINKLIBS += -lX11
|
|
#LINKPATHS += -L/usr/X11R6/lib64
|
|
LINKPATHS += -L/usr/X11R6/lib
|
|
endif
|
|
|
|
# HB_GPM_MOUSE: use gpm mouse driver
|
|
ifeq ($(HB_GPM_MOUSE),yes)
|
|
LINKLIBS += -lgpm
|
|
endif
|
|
|
|
endif
|
|
|
|
ifneq ($(findstring -DHB_PCRE_REGEX, $(C_USR)),)
|
|
LINKLIBS += -lpcre
|
|
endif
|
|
|
|
ifneq ($(findstring -DHB_EXT_ZLIB, $(C_USR)),)
|
|
LINKLIBS += -lz
|
|
endif
|
|
|
|
LINKLIBS += -lm -ldl -Wl,--end-group
|
|
|
|
LDFLAGS = $(LINKPATHS)
|
|
|
|
AR = ar
|
|
ARFLAGS = $(A_USR)
|
|
AR_RULE = $(AR) $(ARFLAGS) cr $(LIB_DIR)/$@ $(^F) && $(RANLIB) $(LIB_DIR)/$@ || ( $(RM) $(LIB_DIR)/$@ && false )
|
|
|
|
include $(TOP)$(ROOT)config/rules.cf
|