linux

  Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic! Mail us feedback on this topic!  
c:\harbour\config\linux
c:\harbour\config\linux\dir.cf
#
# $Id: dir.cf 6690 2006-06-14 11:21:26Z druzus $
#

ifeq ($(PM),) # Only traverse directories if not compiling a specific module

DIR_RULE =\
	@for d in $(DIRS); do \
	  if [ -d $$d ]; then \
	    $(MAKE) -C $$d $@; \
	  fi \
	done

endif # ! compiling a specific program module
c:\harbour\config\linux\gcc.cf
#
# $Id: gcc.cf 9516 2008-09-29 14:02:59Z vszakats $
#

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)

CFLAGS = -Wall -W -O3

# 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 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 -lrt -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
c:\harbour\config\linux\global.cf
#
# $Id: global.cf 9487 2008-09-23 23:38:08Z vszakats $
#

all : first

HB_GT_LIST=\
	gtcgi \
	gtpca \
	gtstd \
	gttrm \

ifneq ($(HB_WITHOUT_GTCRS),yes)
   HB_GT_LIST += gtcrs
endif
ifeq ($(HB_COMMERCE),yes)
   HB_GPM_MOUSE = no
else
ifneq ($(HB_WITHOUT_GTSLN),yes)
   HB_GT_LIST += gtsln
endif
endif
ifneq ($(HB_WITHOUT_X11),yes)
   HB_GT_LIST += gtxwc
endif

# verify if GT drivers exist
HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),))

ARCH_DIR = $(HB_ARCH)
MK = $(MAKE)
RM = rm -f
RD = rm -f -r
CP = cp -f
MV = mv -f
MD = mkdir
MDP = mkdir -p
RANLIB = ranlib

dirbase::
	@[ -d $(ARCH_DIR) ] || $(MDP) $(ARCH_DIR)
	@[ -z $(LIB_DIR) ] || [ -d $(LIB_DIR) ] || $(MDP) $(LIB_DIR)

clean::
	-$(RD) $(ARCH_DIR) $(LIB_ARCH)
c:\harbour\config\linux\gpp.cf
#
# $Id: gpp.cf 6514 2005-10-12 00:30:49Z druzus $
#

include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/gcc.cf
c:\harbour\config\linux\install.cf
#
# $Id: install.cf 8279 2008-02-04 08:32:17Z druzus $
#

INSTALL_RULE =\
	@if [ ! -d $(INSTALL_DIR) ]; \
	then \
	  echo "! Can't install, path not found: $(INSTALL_DIR)" 1>&2; \
	else \
	  for i in $(INSTALL_OBJS); \
	  do \
	    if [ -r $$i ]; \
	    then \
	      echo "! Installing $$i on $(INSTALL_DIR)"; \
	      $(CP) $$i $(INSTALL_DIR); \
	    else \
	      echo "! Can't install $$i, not found" 1>&2; \
	    fi \
	  done \
	fi
c:\harbour\config\linux\owatcom.cf
#
# $Id: owatcom.cf 8279 2008-02-04 08:32:17Z druzus $
#
# 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=

#CPPFLAGS = -j -w3 -d1 -5s -5r -fp5 -oehtz -s -zq -zt0 -bt=linux
CPPFLAGS = -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

empty:=
space:= $(empty) $(empty)
comma:= ,

LD = wlink
LDFLAGS = debug all sys Linux OP CASEEXACT

ifeq ($(HB_LIB_COMPILE),)
   LINKLIBS = $(foreach lib, $(CONTRIBS), $(LIB_DIR)/$(lib))
   LINKLIBS += $(foreach lib, $(LIBS), $(LIB_DIR)/$(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), $(LIB_DIR)/$(drv))
   else
      RDDLIBS = $(foreach drv, $(HB_DB_DRIVERS), $(HB_LIB_COMPILE)/$(drv))
   endif
endif

ifeq ($(findstring rtl,$(LIBS)),rtl)
   ifeq ($(HB_LIB_COMPILE),)
      GTLIBS = $(foreach gt, $(HB_GT_LIBS), $(LIB_DIR)/$(gt))
   else
      GTLIBS = $(foreach gt, $(HB_GT_LIBS), $(HB_LIB_COMPILE)/$(gt))
   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) $(LIB_DIR)/$@ $(foreach file, $(^F), -+$(file))

include $(TOP)$(ROOT)config/rules.cf

Page url: http://www.yourdomain.com/help/index.html?linux.htm