# # $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 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 LINKLIBS = $(foreach lib, $(LIBS), $(LIB_DIR)/$(lib)) # If LIBS specifies the RDD library, add all DB drivers. ifeq ($(findstring hbrdd,$(LIBS)),hbrdd) RDDLIBS = $(foreach drv, $(HB_DB_DRIVERS), $(LIB_DIR)/$(drv)) endif ifeq ($(findstring hbrtl,$(LIBS)),hbrtl) GTLIBS = $(foreach gt, $(HB_GT_LIBS), $(LIB_DIR)/$(gt)) endif LDFILES = $(subst $(space),$(comma) ,$(^F)) LDLIBS = $(subst $(space),$(comma) ,$(strip $(LINKLIBS) $(RDDLIBS) $(GTLIBS))) ifneq ($(HB_SHELL),sh) LD_RULE = $(LD) $(LDFLAGS) $(HB_USER_LDFLAGS) NAME $(EXE_DIR)/$@. FILE $(LDFILES) else LD_RULE = $(LD) $(LDFLAGS) $(HB_USER_LDFLAGS) NAME $(EXE_DIR)/$@ 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