diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4d7fcab7c9..c042e7e1d8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,17 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-03-12 02:49 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * config/dos/owatcom.cf + * config/linux/owatcom.cf + + Added support for HB_BUILD_DEBUG=yes. + + + config/os2/owatcom.cf + + Added os2/owatcom build file. OS/2 users please test. + + * config/win/owatcom.cf + * Minor formatting. + 2009-03-12 02:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * INSTALL * config/darwin/gcc.cf diff --git a/harbour/config/dos/owatcom.cf b/harbour/config/dos/owatcom.cf index 2e77723396..e12a3e1712 100644 --- a/harbour/config/dos/owatcom.cf +++ b/harbour/config/dos/owatcom.cf @@ -25,8 +25,8 @@ CC = wpp386 CC_IN = CC_OUT = -fo= -#CPPFLAGS = -j -w3 -d1 -5s -5r -fp5 -oehtz -s -zq -zt0 -bt=DOS -CPPFLAGS = -w2 -d1 -zq -bt=DOS +#CPPFLAGS = -j -w3 -5s -5r -oehtz -s -zq -zt0 -bt=DOS +CPPFLAGS = -w2 -zq -bt=DOS ifneq ($(HB_BUILD_OPTIM),no) #architecture flags @@ -37,6 +37,10 @@ CPPFLAGS += -5 -fp5 CPPFLAGS += -onaehtzr -oi+ -ei -zp8 -s -zt0 endif +ifeq ($(HB_BUILD_DEBUG),yes) +CFLAGS += -d2 +endif + CPPFLAGS += -i. -i$(TOP)include -i$(TOP)$(ROOT)include -iinclude ifneq ($(HB_LIB_COMPILE),) CPPFLAGS += -i$(HB_INC_COMPILE) diff --git a/harbour/config/linux/owatcom.cf b/harbour/config/linux/owatcom.cf index 12dcfb3f4f..6b61543690 100644 --- a/harbour/config/linux/owatcom.cf +++ b/harbour/config/linux/owatcom.cf @@ -15,8 +15,8 @@ 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 +#CPPFLAGS = -j -w3 -5s -5r -fp5 -oehtz -s -zq -zt0 -bt=linux +CPPFLAGS = -w2 -zq -bt=linux ifneq ($(HB_BUILD_OPTIM),no) #architecture flags @@ -27,6 +27,10 @@ CPPFLAGS += -5 -fp5 CPPFLAGS += -onaehtzr -oi+ -ei -zp8 -s -zt0 endif +ifeq ($(HB_BUILD_DEBUG),yes) +CFLAGS += -d2 +endif + CPPFLAGS += -i. -i$(TOP)include -i$(TOP)$(ROOT)include -iinclude ifneq ($(HB_LIB_COMPILE),) CPPFLAGS += -i$(HB_INC_COMPILE) diff --git a/harbour/config/os2/owatcom.cf b/harbour/config/os2/owatcom.cf new file mode 100644 index 0000000000..8b29b8c2d0 --- /dev/null +++ b/harbour/config/os2/owatcom.cf @@ -0,0 +1,111 @@ +# +# $Id$ +# +# The Harbour project +# GNU MAKE file for Open Watcom C/C++ compiler + +include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf + +OBJ_EXT = .obj +EXE_EXT = .exe +LIB_PREF = +LIB_EXT = .lib + +CC = wpp386 +CC_IN = +CC_OUT = -fo= + +#CFLAGS = -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=OS2 +CFLAGS = -w2 -zq -bt=OS2 + +ifneq ($(HB_BUILD_OPTIM),no) +# architecture flags +CFLAGS += -5 -fp5 +# optimization flags +# don't enable -ol optimization in OpenWatcom 1.1 - gives buggy code +CFLAGS += -onaehtzr -oi+ -ei -zp8 -s -zt0 +endif + +CFLAGS += -i. -i$(TOP)include -i$(TOP)$(ROOT)include -iinclude +ifneq ($(HB_LIB_COMPILE),) +CFLAGS += -i$(HB_INC_COMPILE) +endif + +ifeq ($(HB_BUILD_DEBUG),yes) +CFLAGS += -d2 +endif + +# work arround to DOS command line size limit +export WPP386 := $(strip $(CFLAGS)) +CFLAGS = + +# Note: The empty line directly before 'endef' HAVE TO exist! +# It causes that the 'echo' command is separated by LF +define link_file +echo FILE $(file) >> __link__.tmp + +endef + +#Note: The empty line directly before 'endef' HAVE TO exist! +define link_lib +echo LIB $(lib) >> __link__.tmp + +endef + +define link_exe_file +echo $(LDFLAGS) NAME $@ > __link__.tmp +$(foreach file, $(^F), $(link_file)) +$(foreach lib, $(LINKLIBS), $(link_lib)) +$(foreach lib, $(RDDLIBS), $(link_lib)) +$(foreach lib, $(GTLIBS), $(link_lib)) +echo @%WATCOM%/binp/wlink.lnk >> __link__.tmp +-$(LD) @__link__.tmp +endef + +LD = wlink +LDFLAGS = OP stack=65536 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 + +LD_RULE = $(link_exe_file) $(HB_USER_LDFLAGS) + +#Note: The empty line below HAVE TO exist! +define lib_object +echo -+$(file) >> __lib__.tmp + +endef + +define create_library +echo $(LIB_DIR)/$@ > __lib__.tmp +$(foreach file, $(^F), $(lib_object)) +$(AR) $(ARFLAGS) @__lib__.tmp +endef + +AR = wlib +ARFLAGS = -p=64 -c -n $(HB_USER_AFLAGS) +AR_RULE = $(create_library) + +include $(TOP)$(ROOT)config/rules.cf diff --git a/harbour/config/win/owatcom.cf b/harbour/config/win/owatcom.cf index cb57c5cfb6..1b132dd0c1 100644 --- a/harbour/config/win/owatcom.cf +++ b/harbour/config/win/owatcom.cf @@ -58,7 +58,7 @@ $(foreach file, $(^F), $(link_file)) $(foreach lib, $(LINKLIBS), $(link_lib)) $(foreach lib, $(RDDLIBS), $(link_lib)) $(foreach lib, $(GTLIBS), $(link_lib)) -echo @%watcom%/binnt/wlink.lnk >> __link__.tmp +echo @%WATCOM%/binnt/wlink.lnk >> __link__.tmp echo LIB kernel32.lib, user32.lib, wsock32.lib >> __link__.tmp -$(LD) @__link__.tmp endef