Files
harbour-core/harbour/config/linux/watcom.cf
Viktor Szakats 74bdd7ee01 2009-07-14 10:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* Makefile
    ! Adjusted a little bit to postinst.bat executed for Linux
      cross builds also.

  * doc/linux1st.txt
  * source/rtl/Makefile
  * config/hpux/global.cf
  * config/darwin/global.cf
  * config/dos/global.cf
  * config/win/global.cf
  * config/win/xcc.cf
  * config/win/mingw.cf
  * config/win/pocc.cf
  * config/linux/watcom.cf
  * config/linux/global.cf
  * config/os2/global.cf
  * config/sunos/global.cf
  * config/bsd/global.cf
  * config/wce/global.cf
  * config/wce/poccarm.cf
    - Deleted references of already halfly-deleted HB_GT_LIB
      support. Users should use -DHB_GT_LIB=<gtname>. HB_GT_LIB
      also has a different, special purpose in os2, this is still
      kept, but it would be better to use some other names for it.
    ! Fixed linux/watcom to suppress .elf extension of binaries
      when built on a non-Linux host.
    - Deleted extra GT libs from link list. Now all *portable* GTs
      plus the default one are *linked*, and all GTs are always
      attempted to be *built*.
    - Deleted checking GT libs extistance. They always exist
      unless the source tree is corrupted, so there is no point
      to do this check.
    * wce/poccarm now always have /SUBSYSTEM:WINDOWS.
    ; NOTE: If we want to support build-time default GT selection/override,
            we should find some proper ways, but it makes things
            very complicated without much benefit, since GT can be
            easily overridden in final apps, supplied binary tools can
            also very easily rebuilt using hbmk2 with whatever GT.

  * utils/hbmk2/hbmk2.prg
    * Minor formatting.
2009-07-14 08:54:11 +00:00

117 lines
2.6 KiB
CFEngine3

#
# $Id$
#
# GNU MAKE file for Open Watcom C/C++ compiler
# ---------------------------------------------------------------
# See option docs here:
# http://www.users.pjwstk.edu.pl/~jms/qnx/help/watcom/compiler-tools/cpopts.html
# http://www.users.pjwstk.edu.pl/~jms/qnx/help/watcom/compiler-tools/wlink.html
# ---------------------------------------------------------------
OBJ_EXT = .o
EXE_EXT =
LIB_PREF =
LIB_EXT = .lib
ifeq ($(HB_BUILD_MODE),c)
CC = wcc386
endif
ifeq ($(HB_BUILD_MODE),cpp)
CC = wpp386
endif
# Build in C++ mode by default
ifeq ($(HB_BUILD_MODE),)
CC = wpp386
endif
CC_IN =
CC_OUT = -fo=
CPPFLAGS = -zq -bt=linux
ifneq ($(HB_BUILD_WARN),no)
CPPFLAGS += -w3
endif
ifneq ($(HB_BUILD_OPTIM),no)
# architecture flags
CPPFLAGS += -6r -fp6
# optimization flags
# don't enable -ol optimization in OpenWatcom 1.1 - gives buggy code
# -oxaht
CPPFLAGS += -onaehtr -s -ei -zp4 -zt0
#CPPFLAGS += -obl+m
ifeq ($(CC),wpp386)
CPPFLAGS += -oi+
else
CPPFLAGS += -oi
endif
else
CPPFLAGS += -3r
endif
CPPFLAGS += -i. -i$(TOP)$(ROOT)include
ifneq ($(HB_LIB_COMPILE),)
CPPFLAGS += -i$(HB_INC_COMPILE)
endif
ifeq ($(HB_BUILD_DEBUG),yes)
CPPFLAGS += -d2
endif
empty:=
space:= $(empty) $(empty)
comma:= ,
LD = wlink
LDFLAGS = sys Linux
ifeq ($(HB_BUILD_DEBUG),yes)
LDFLAGS := debug all $(LDFLAGS)
endif
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)))
ifeq ($(SHLVL),) # non-bash
LD_RULE = $(LD) $(LDFLAGS) $(HB_USER_LDFLAGS) NAME $@. FILE $(LDFILES)
else
LD_RULE = $(LD) $(LDFLAGS) $(HB_USER_LDFLAGS) NAME $@ FILE $(LDFILES)
endif
ifneq ($(LDLIBS),)
LD_RULE += LIB $(LDLIBS)
endif
AR = wlib
# ARFLAGS = -c -n -fa $(HB_USER_AFLAGS)
ARFLAGS = -c -n $(HB_USER_AFLAGS)
AR_RULE = $(AR) $(ARFLAGS) $(LIB_DIR)/$@ $(foreach file, $(^F), -+$(file))
include $(TOP)$(ROOT)config/rules.cf