From 43d68fd1dee1f11a6682a9eadad0aed66ada3f62 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 3 Dec 2009 23:44:40 +0000 Subject: [PATCH] 2009-12-04 00:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * config/beos/gcc.mk * config/bsd/gcc.mk * config/wce/mingwarm.mk * config/wce/poccarm.mk * config/wce/msvcarm.mk * config/hpux/gcc.mk * config/darwin/gcc.mk * config/darwin/icc.mk * config/darwin/clang.mk * config/dos/watcom.mk * config/dos/djgpp.mk * config/common/watcom.mk * config/win/xcc.mk * config/win/mingw.mk * config/win/pocc.mk * config/win/bcc.mk * config/win/watcom.mk * config/win/icc.mk * config/win/cygwin.mk * config/win/msvc.mk * config/linux/watcom.mk * config/linux/gcc.mk * config/linux/icc.mk * config/linux/clang.mk * config/linux/sunpro.mk * config/os2/watcom.mk * config/os2/gcc.mk * config/sunos/gcc.mk * config/sunos/sunpro.mk * Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files. This allows to easily add to these var according to build settings. It also syncs all .mk files to use the same layout in this regard. * config/wce/msvcarm.mk * config/win/msvc.mk + Added -debug linker option to .dll linking for msvc/msvcarm targets. --- harbour/ChangeLog | 38 +++++++++++++++++++++++++++++++++ harbour/config/beos/gcc.mk | 5 +++-- harbour/config/bsd/gcc.mk | 5 +++-- harbour/config/common/watcom.mk | 2 +- harbour/config/darwin/clang.mk | 7 +++--- harbour/config/darwin/gcc.mk | 7 +++--- harbour/config/darwin/icc.mk | 5 +++-- harbour/config/dos/djgpp.mk | 5 +++-- harbour/config/dos/watcom.mk | 4 +++- harbour/config/hpux/gcc.mk | 5 +++-- harbour/config/linux/clang.mk | 5 +++-- harbour/config/linux/gcc.mk | 5 +++-- harbour/config/linux/icc.mk | 5 +++-- harbour/config/linux/sunpro.mk | 5 +++-- harbour/config/linux/watcom.mk | 4 +++- harbour/config/os2/gcc.mk | 6 +++--- harbour/config/os2/watcom.mk | 4 +++- harbour/config/sunos/gcc.mk | 5 +++-- harbour/config/sunos/sunpro.mk | 5 +++-- harbour/config/wce/mingwarm.mk | 5 +++-- harbour/config/wce/msvcarm.mk | 10 +++++---- harbour/config/wce/poccarm.mk | 5 +++-- harbour/config/win/bcc.mk | 3 ++- harbour/config/win/cygwin.mk | 5 +++-- harbour/config/win/icc.mk | 5 +++-- harbour/config/win/mingw.mk | 5 +++-- harbour/config/win/msvc.mk | 6 ++++-- harbour/config/win/pocc.mk | 5 +++-- harbour/config/win/watcom.mk | 4 +++- harbour/config/win/xcc.mk | 8 ++++--- 30 files changed, 130 insertions(+), 58 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a7949e25ac..3dded5b367 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,44 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-04 00:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * config/beos/gcc.mk + * config/bsd/gcc.mk + * config/wce/mingwarm.mk + * config/wce/poccarm.mk + * config/wce/msvcarm.mk + * config/hpux/gcc.mk + * config/darwin/gcc.mk + * config/darwin/icc.mk + * config/darwin/clang.mk + * config/dos/watcom.mk + * config/dos/djgpp.mk + * config/common/watcom.mk + * config/win/xcc.mk + * config/win/mingw.mk + * config/win/pocc.mk + * config/win/bcc.mk + * config/win/watcom.mk + * config/win/icc.mk + * config/win/cygwin.mk + * config/win/msvc.mk + * config/linux/watcom.mk + * config/linux/gcc.mk + * config/linux/icc.mk + * config/linux/clang.mk + * config/linux/sunpro.mk + * config/os2/watcom.mk + * config/os2/gcc.mk + * config/sunos/gcc.mk + * config/sunos/sunpro.mk + * Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files. + This allows to easily add to these var according to build settings. + It also syncs all .mk files to use the same layout in this regard. + + * config/wce/msvcarm.mk + * config/win/msvc.mk + + Added -debug linker option to .dll linking for msvc/msvcarm targets. + 2009-12-04 00:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rddads/ads1.c * added support for dynamic descend flag switching by diff --git a/harbour/config/beos/gcc.mk b/harbour/config/beos/gcc.mk index dd7ef51a75..d8ab081e87 100644 --- a/harbour/config/beos/gcc.mk +++ b/harbour/config/beos/gcc.mk @@ -19,7 +19,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -42,11 +44,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/bsd/gcc.mk b/harbour/config/bsd/gcc.mk index 2c65648f11..86dccfa082 100644 --- a/harbour/config/bsd/gcc.mk +++ b/harbour/config/bsd/gcc.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -40,11 +42,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) r $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/common/watcom.mk b/harbour/config/common/watcom.mk index 768dfe72c0..4bd9721b0e 100644 --- a/harbour/config/common/watcom.mk +++ b/harbour/config/common/watcom.mk @@ -21,7 +21,7 @@ ifeq ($(HB_PLATFORM),linux) endif AR := wlib -ARFLAGS := -q -p=72 -c -n +ARFLAGS += -q -p=72 -c -n comma := , LDFILES_COMMA = $(subst $(subst x,x, ),$(comma) ,$(^F)) diff --git a/harbour/config/darwin/clang.mk b/harbour/config/darwin/clang.mk index 9a9d3481a4..695989e7da 100644 --- a/harbour/config/darwin/clang.mk +++ b/harbour/config/darwin/clang.mk @@ -23,10 +23,12 @@ endif CC_OUT := -o$(subst x,x, ) CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := +LDFLAGS := +DFLAGS := # -fno-common enables building .dylib files CFLAGS += -fno-common -LDFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -53,11 +55,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := libtool -ARFLAGS := AR_RULE = ( $(AR) -static $(ARFLAGS) $(HB_USER_AFLAGS) -o $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(AR) -DFLAGS := -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) +DFLAGS += -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/darwin/gcc.mk b/harbour/config/darwin/gcc.mk index 5c2fbd8749..780bec6574 100644 --- a/harbour/config/darwin/gcc.mk +++ b/harbour/config/darwin/gcc.mk @@ -21,13 +21,15 @@ CC_IN := -c CC_OUT := -o$(subst x,x, ) CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := +LDFLAGS := +DFLAGS := # -no-cpp-precomp prevents from using buggy precompiled headers # CFLAGS += -no-cpp-precomp # -fno-common enables building .dylib files CFLAGS += -fno-common -LDFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -54,11 +56,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := libtool -ARFLAGS := AR_RULE = ( $(AR) -static $(ARFLAGS) $(HB_USER_AFLAGS) -o $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(AR) -DFLAGS := -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) +DFLAGS += -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/darwin/icc.mk b/harbour/config/darwin/icc.mk index 84dfaa566f..caa6172742 100644 --- a/harbour/config/darwin/icc.mk +++ b/harbour/config/darwin/icc.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := CFLAGS += -D_GNU_SOURCE @@ -42,11 +44,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := libtool -ARFLAGS := AR_RULE = ( $(AR) -static $(ARFLAGS) $(HB_USER_AFLAGS) -o $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(AR) -DFLAGS := -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) +DFLAGS += -dynamic -flat_namespace -undefined warning -multiply_defined suppress -single_module $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/dos/djgpp.mk b/harbour/config/dos/djgpp.mk index be48aa18af..2436a375c6 100644 --- a/harbour/config/dos/djgpp.mk +++ b/harbour/config/dos/djgpp.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -97,13 +99,12 @@ define link_exe_file endef AR := ar -ARFLAGS := AR_RULE = $(create_library) LD_RULE = $(link_exe_file) #DY := $(CC) -#DFLAGS := -Wl,-shared $(LIBPATHS) +#DFLAGS += -Wl,-shared $(LIBPATHS) #DY_OUT := -o$(subst x,x, ) #DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) # diff --git a/harbour/config/dos/watcom.mk b/harbour/config/dos/watcom.mk index 273a97f272..770ce5d1a3 100644 --- a/harbour/config/dos/watcom.mk +++ b/harbour/config/dos/watcom.mk @@ -22,7 +22,9 @@ CC_IN := CC_OUT := -fo= CFLAGS := -zq -bt=dos +ARFLAGS := LDFLAGS := OP quiet +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -w3 @@ -74,7 +76,7 @@ ifneq ($(HB_LINKING_RTL),) endif DY := $(LD) -DFLAGS := OP quiet SYS cwdllr +DFLAGS += OP quiet SYS cwdllr DY_OUT := DLIBS := $(foreach lib,$(HB_USER_LIBS),$(lib)) DLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) diff --git a/harbour/config/hpux/gcc.mk b/harbour/config/hpux/gcc.mk index e07715ead8..b32ffbcff8 100644 --- a/harbour/config/hpux/gcc.mk +++ b/harbour/config/hpux/gcc.mk @@ -19,7 +19,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -46,11 +48,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rc $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/linux/clang.mk b/harbour/config/linux/clang.mk index 11a3a727ca..4ab0a01abb 100644 --- a/harbour/config/linux/clang.mk +++ b/harbour/config/linux/clang.mk @@ -24,7 +24,9 @@ endif CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -47,11 +49,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/linux/gcc.mk b/harbour/config/linux/gcc.mk index c8735c21d5..7fe5e5dfbf 100644 --- a/harbour/config/linux/gcc.mk +++ b/harbour/config/linux/gcc.mk @@ -19,7 +19,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -42,11 +44,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/linux/icc.mk b/harbour/config/linux/icc.mk index 2f8025d5cc..90cde14281 100644 --- a/harbour/config/linux/icc.mk +++ b/harbour/config/linux/icc.mk @@ -19,7 +19,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := CFLAGS += -D_GNU_SOURCE #CFLAGS += -fast @@ -47,11 +49,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := xiar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) diff --git a/harbour/config/linux/sunpro.mk b/harbour/config/linux/sunpro.mk index e083392cd8..0096018bed 100644 --- a/harbour/config/linux/sunpro.mk +++ b/harbour/config/linux/sunpro.mk @@ -23,7 +23,9 @@ CC_OUT := -o$(subst x,x, ) CXX := $(HB_CCACHE) $(HB_CCPATH)$(HB_CCPREFIX)sunCC$(HB_CCPOSTFIX) CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := # try to keep `-fast' as left as possible, as later optim # flags may override values set by `-fast', and this way @@ -62,11 +64,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -G $(HB_ISAOPT) $(LIBPATHS) +DFLAGS += -G $(HB_ISAOPT) $(LIBPATHS) ifneq ($(HB_BUILD_OPTIM),no) DFLAGS += -fast -xnolibmopt endif diff --git a/harbour/config/linux/watcom.mk b/harbour/config/linux/watcom.mk index d3e319211e..3e532b3756 100644 --- a/harbour/config/linux/watcom.mk +++ b/harbour/config/linux/watcom.mk @@ -22,7 +22,9 @@ CC_IN := CC_OUT := -fo= CFLAGS := -zq -bt=linux +ARFLAGS := LDFLAGS := OP quiet +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -w3 @@ -64,7 +66,7 @@ LDLIBS := $(HB_USER_LIBS) LDLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) DY := $(LD) -DFLAGS := OP quiet FORM elf dll LIBPATH $(WATCOM)/lib386 LIBPATH $(WATCOM)/lib386/linux OP exportall +DFLAGS += OP quiet FORM elf dll LIBPATH $(WATCOM)/lib386 LIBPATH $(WATCOM)/lib386/linux OP exportall DY_OUT := DLIBS := diff --git a/harbour/config/os2/gcc.mk b/harbour/config/os2/gcc.mk index 6602319058..490fdcceec 100644 --- a/harbour/config/os2/gcc.mk +++ b/harbour/config/os2/gcc.mk @@ -21,7 +21,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifeq ($(HB_COMPILER),gccomf) CFLAGS += -Zomf @@ -102,16 +104,14 @@ endif ifeq ($(HB_COMPILER),gccomf) AR := $(HB_CCPATH)$(HB_CCPREFIX)emxomfar - ARFLAGS := AR_RULE = $(create_library) $(ARSTRIP) else AR := $(HB_CCPATH)$(HB_CCPREFIX)ar - ARFLAGS := AR_RULE = $(create_library) $(ARSTRIP) & $(RM) __lib__.tmp endif DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) ifeq ($(HB_COMPILER),gccomf) DFLAGS += -Zomf endif diff --git a/harbour/config/os2/watcom.mk b/harbour/config/os2/watcom.mk index 59c6adfd88..6c186e25e1 100644 --- a/harbour/config/os2/watcom.mk +++ b/harbour/config/os2/watcom.mk @@ -24,7 +24,9 @@ CC_IN := CC_OUT := -fo= CFLAGS := -zq -bt=os2 -bm +ARFLAGS := LDFLAGS := OP quiet +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -w3 @@ -66,7 +68,7 @@ LDLIBS := $(HB_USER_LIBS) LDLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) DY := $(LD) -DFLAGS := OP quiet SYS os2v2_dll +DFLAGS += OP quiet SYS os2v2_dll DY_OUT := DLIBS := $(HB_USER_LIBS) DLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) diff --git a/harbour/config/sunos/gcc.mk b/harbour/config/sunos/gcc.mk index d9aae0a2b7..4e6e168474 100644 --- a/harbour/config/sunos/gcc.mk +++ b/harbour/config/sunos/gcc.mk @@ -21,7 +21,9 @@ CC_IN := -c CC_OUT := -o$(subst x,x, ) CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -44,11 +46,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rc $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/sunos/sunpro.mk b/harbour/config/sunos/sunpro.mk index 4091d0f69e..9054ff1768 100644 --- a/harbour/config/sunos/sunpro.mk +++ b/harbour/config/sunos/sunpro.mk @@ -28,7 +28,9 @@ CC_OUT := -o$(subst x,x, ) CXX := $(HB_CCACHE) $(HB_CCPATH)$(HB_CCPREFIX)sunCC$(HB_CCPOSTFIX) CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := # try to keep `-fast' as left as possible, as later optim # flags may override values set by `-fast', and this way @@ -67,11 +69,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rc $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && false ) DY := $(CC) -DFLAGS := -G $(HB_ISAOPT) $(LIBPATHS) +DFLAGS += -G $(HB_ISAOPT) $(LIBPATHS) ifneq ($(HB_BUILD_OPTIM),no) DFLAGS += -fast -xnolibmopt endif diff --git a/harbour/config/wce/mingwarm.mk b/harbour/config/wce/mingwarm.mk index 0c9e0f9bf0..8135830dba 100644 --- a/harbour/config/wce/mingwarm.mk +++ b/harbour/config/wce/mingwarm.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -50,11 +52,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/wce/msvcarm.mk b/harbour/config/wce/msvcarm.mk index d950719f89..648ce01a69 100644 --- a/harbour/config/wce/msvcarm.mk +++ b/harbour/config/wce/msvcarm.mk @@ -18,6 +18,10 @@ CC_IN := -c CC_OUT := -Fo CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := +LDFLAGS := +DFLAGS := + CFLAGS += -nologo -D_WIN32_WCE=0x501 -DCE_ARCH -DWINCE -D_WINCE -D_WINDOWS -D_UNICODE -D_UWIN -DUNDER_CE ifeq ($(HB_COMPILER),msvcarm) @@ -30,8 +34,6 @@ else ifeq ($(HB_COMPILER),msvc) CFLAGS += -D_X86_ -D_M_IX86 endif -LDFLAGS := - ifeq ($(HB_BUILD_MODE),c) CFLAGS += -TC endif @@ -58,6 +60,7 @@ endif ifeq ($(HB_BUILD_DEBUG),yes) CFLAGS += -Zi LDFLAGS += -debug + DFLAGS += -debug endif LD := $(CC) @@ -75,11 +78,10 @@ endif LDFLAGS += $(LIBPATHS) AR := lib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -nologo -out:$(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@ DY := $(LD) -DFLAGS := -nologo -dll -subsystem:windowsce $(LIBPATHS) +DFLAGS += -nologo -dll -subsystem:windowsce $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) diff --git a/harbour/config/wce/poccarm.mk b/harbour/config/wce/poccarm.mk index 1e5b334bb0..8a44c5c31a 100644 --- a/harbour/config/wce/poccarm.mk +++ b/harbour/config/wce/poccarm.mk @@ -15,7 +15,9 @@ CC_IN := -c CC_OUT := -Fo CFLAGS := -I. -I$(HB_INC_COMPILE) -Ze -Go +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -W1 @@ -47,11 +49,10 @@ LDFLAGS += -subsystem:windows LDFLAGS += $(LIBPATHS) AR := polib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -out:$(LIB_DIR)/$@ $(^F) DY := $(LD) -DFLAGS := -nologo -dll $(LIBPATHS) +DFLAGS += -nologo -dll $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) diff --git a/harbour/config/win/bcc.mk b/harbour/config/win/bcc.mk index e55dfd8492..991da7d2c7 100644 --- a/harbour/config/win/bcc.mk +++ b/harbour/config/win/bcc.mk @@ -15,6 +15,7 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) -q -tWM +ARFLAGS := LDFLAGS := DFLAGS := @@ -54,7 +55,7 @@ LD_RULE = $(LD) $(LDFLAGS) $(HB_LDFLAGS) $(HB_USER_LDFLAGS) c0x32.obj $(^F), "$( LDLIBS := $(strip $(HB_USER_LIBS) $(LIBS) $(SYSLIBS)) AR := tlib.exe -ARFLAGS := /P128 +ARFLAGS += /P128 AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) "$(subst /,\,$(LIB_DIR)/$@)" $(foreach file,$(?F),-+$(file)) ifneq ($(HB_SHELL),sh) diff --git a/harbour/config/win/cygwin.mk b/harbour/config/win/cygwin.mk index a252a16505..c65fdd71cb 100644 --- a/harbour/config/win/cygwin.mk +++ b/harbour/config/win/cygwin.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -49,11 +51,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(LIB_DIR)/$@ DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/win/icc.mk b/harbour/config/win/icc.mk index b7608ef466..5ea09e926a 100644 --- a/harbour/config/win/icc.mk +++ b/harbour/config/win/icc.mk @@ -16,7 +16,9 @@ CC_IN := -c CC_OUT := -Fo CFLAGS := -nologo -I. -I$(HB_INC_COMPILE) -Gs +ARFLAGS := LDFLAGS := +DFLAGS := ifeq ($(HB_BUILD_MODE),c) CFLAGS += -TC @@ -48,11 +50,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) LDFLAGS += -nologo $(LIBPATHS) AR := xilib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -nologo -out:$(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@ DY := $(LD) -DFLAGS := -nologo -dll -subsystem:console $(LIBPATHS) +DFLAGS += -nologo -dll -subsystem:console $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) diff --git a/harbour/config/win/mingw.mk b/harbour/config/win/mingw.mk index 196cc8ecfd..2ac59e5c0d 100644 --- a/harbour/config/win/mingw.mk +++ b/harbour/config/win/mingw.mk @@ -17,7 +17,9 @@ CC_IN := -c CC_OUT := -o CFLAGS := -I. -I$(HB_INC_COMPILE) +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W @@ -59,11 +61,10 @@ endif LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -ARFLAGS := AR_RULE = ( $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) DY := $(CC) -DFLAGS := -shared $(LIBPATHS) +DFLAGS += -shared $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) diff --git a/harbour/config/win/msvc.mk b/harbour/config/win/msvc.mk index ee6c2d8557..035eadd3e3 100644 --- a/harbour/config/win/msvc.mk +++ b/harbour/config/win/msvc.mk @@ -21,7 +21,9 @@ CC_IN := -c CC_OUT := -Fo CFLAGS := -nologo -I. -I$(HB_INC_COMPILE) -Gs +ARFLAGS := LDFLAGS := +DFLAGS := ifeq ($(HB_BUILD_MODE),c) CFLAGS += -TC @@ -49,6 +51,7 @@ endif ifeq ($(HB_BUILD_DEBUG),yes) CFLAGS += -Zi LDFLAGS += -debug + DFLAGS += -debug endif ifneq ($(filter $(HB_COMPILER_VER),600 700 710),) @@ -74,11 +77,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) LDFLAGS += -nologo $(LIBPATHS) AR := lib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -nologo -out:$(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@ DY := $(LD) -DFLAGS := -nologo -dll -subsystem:console $(LIBPATHS) +DFLAGS += -nologo -dll -subsystem:console $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) diff --git a/harbour/config/win/pocc.mk b/harbour/config/win/pocc.mk index 55f362eb7f..177fb38463 100644 --- a/harbour/config/win/pocc.mk +++ b/harbour/config/win/pocc.mk @@ -15,7 +15,9 @@ CC_IN := -c CC_OUT := -Fo CFLAGS := -I. -I$(HB_INC_COMPILE) -Ze -Go -MT +ARFLAGS := LDFLAGS := +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -W1 @@ -42,11 +44,10 @@ LDFLAGS += -subsystem:console LDFLAGS += $(LIBPATHS) AR := polib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -out:$(LIB_DIR)/$@ $(^F) DY := $(LD) -DFLAGS := -nologo -dll $(LIBPATHS) +DFLAGS += -nologo -dll $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) diff --git a/harbour/config/win/watcom.mk b/harbour/config/win/watcom.mk index 48bf986217..6c43685d91 100644 --- a/harbour/config/win/watcom.mk +++ b/harbour/config/win/watcom.mk @@ -24,7 +24,9 @@ CC_IN := CC_OUT := -fo= CFLAGS := -zq -bt=nt -bm +ARFLAGS := LDFLAGS := OP quiet +DFLAGS := ifneq ($(HB_BUILD_WARN),no) CFLAGS += -w3 @@ -67,7 +69,7 @@ LDLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) LDLIBS += $(foreach lib,$(SYSLIBS),$(lib)) DY := $(LD) -DFLAGS := OP quiet SYS nt_dll +DFLAGS += OP quiet SYS nt_dll DY_OUT := DLIBS := $(foreach lib,$(HB_USER_LIBS),$(lib)) DLIBS += $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib)) diff --git a/harbour/config/win/xcc.mk b/harbour/config/win/xcc.mk index 5ff014387e..76214ebd7e 100644 --- a/harbour/config/win/xcc.mk +++ b/harbour/config/win/xcc.mk @@ -20,8 +20,11 @@ ifeq ($(HB_SHELL),sh) else CFLAGS := $(subst /,\,$(CFLAGS)) endif -CFLAGS += -MT +ARFLAGS := LDFLAGS := +DFLAGS := + +CFLAGS += -MT ifneq ($(HB_BUILD_WARN),no) CFLAGS += -W1 @@ -50,11 +53,10 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT)) LDFLAGS += $(LIBPATHS) AR := xlib.exe -ARFLAGS := AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -out:$(LIB_DIR)/$@ $(^F) DY := $(LD) -DFLAGS := -nologo -dll $(LIBPATHS) +DFLAGS += -nologo -dll $(LIBPATHS) DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))