diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d1c42953fb..4a4b852bc7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,18 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-22 13:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * source/dynlib/mt/Makefile + * source/dynlib/Makefile + * source/Makefile + - Deleted extra dos platform guards. It's not needed. I hope + it won't cause bad side effects. + + * config/common/watcom.mk + ! Fixed to not use $? in LD_RULE. Typo of yesterday. + ! Restored remaining $? to $^. It exploited some bad side effects + in hbpp lib. + 2009-08-22 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/globsh.mk + Switched os2 $(CP) command to use config/os2-cp.exe. diff --git a/harbour/config/common/watcom.mk b/harbour/config/common/watcom.mk index 6c4fc9e23c..909e52341e 100644 --- a/harbour/config/common/watcom.mk +++ b/harbour/config/common/watcom.mk @@ -27,14 +27,14 @@ comma := , LDFILES_COMMA = $(subst $(subst x,x, ),$(comma) ,$(^F)) LDLIBS_COMMA := $(subst $(subst x,x, ),$(comma) ,$(strip $(LDLIBS))) LD_RULE = $(LD) $(LDFLAGS) $(HB_USER_LDFLAGS) NAME $(BIN_DIR)/$@$(BIN_EXT) FILE $(LDFILES_COMMA) $(if $(LDLIBS_COMMA), LIB $(LDLIBS_COMMA),) -AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) $(LIB_DIR)/$@ $(foreach file,$(?F),-+$(file)) +AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) $(LIB_DIR)/$@ $(foreach file,$(^F),-+$(file)) ifeq ($(HB_SHELL),os2) # maximum size of command line in OS2 is limited to 1024 characters # the trick with divided 'wordlist' is workaround for it: - # -$(if $(wordlist 1,100,$(?F)), $(ECHO) $(wordlist 1,100,$(addprefix -+,$(?F))) >> __lib__.tmp,) - # -$(if $(wordlist 101,200,$(?F)), $(ECHO) $(wordlist 101,200,$(addprefix -+,$(?F))) >> __lib__.tmp,) - # -$(if $(wordlist 201,300,$(?F)), $(ECHO) $(wordlist 301,300,$(addprefix -+,$(?F))) >> __lib__.tmp,) + # -$(if $(wordlist 1,100,$(^F)), $(ECHO) $(wordlist 1,100,$(addprefix -+,$(^F))) >> __lib__.tmp,) + # -$(if $(wordlist 101,200,$(^F)), $(ECHO) $(wordlist 101,200,$(addprefix -+,$(^F))) >> __lib__.tmp,) + # -$(if $(wordlist 201,300,$(^F)), $(ECHO) $(wordlist 301,300,$(addprefix -+,$(^F))) >> __lib__.tmp,) # anyhow OS/2 port# of GNU make 3.81 seems to have bug and GPFs when total # commands length is too big so for %i in ( *$(OBJ_EXT) ) do ... below is # ugly workaround for both problems @@ -65,7 +65,7 @@ ifeq ($(HB_SHELL),dos) define link_exe_file @$(ECHO) $(LDFLAGS) NAME $(BIN_DIR)/$@ > __link__.tmp - $(foreach file,$(?F),$(link_file)) + $(foreach file,$(^F),$(link_file)) $(foreach lib,$(LDLIBS),$(link_lib)) -$(LD) @__link__.tmp endef @@ -80,7 +80,7 @@ ifeq ($(HB_SHELL),dos) define create_library @$(ECHO) $(LIB_DIR)/$@ > __lib__.tmp - $(foreach file,$(?F),$(lib_object)) + $(foreach file,$(^F),$(lib_object)) $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) @__lib__.tmp endef diff --git a/harbour/source/Makefile b/harbour/source/Makefile index 5883038f39..04f20e0137 100644 --- a/harbour/source/Makefile +++ b/harbour/source/Makefile @@ -18,88 +18,90 @@ ifeq ($(HB_HOST_BUILD),yes) else ifneq ($(HB_BUILD_DLL),no) - ifneq ($(HB_ARCHITECTURE),dos) - ifeq ($(HB_OS_UNIX),yes) - DYNNAME_POST := .$(HB_DYN_VER) - else - DYNNAME_POST := -$(HB_DYN_VER) - endif - - ifeq ($(HB_ARCHITECTURE),win) - ifeq ($(HB_COMPILER),bcc) - DYNNAME_POST := $(DYNNAME_POST)-bcc - else - ifeq ($(HB_CPU),x86_64) - DYNNAME_POST := $(DYNNAME_POST)-x64 - else - ifeq ($(HB_CPU),ia64) - DYNNAME_POST := $(DYNNAME_POST)-ia64 - endif - endif - endif - else - ifeq ($(HB_ARCHITECTURE),wce) - DYNNAME_POST := $(DYNNAME_POST)-wce - ifeq ($(HB_CPU),arm) - DYNNAME_POST := $(DYNNAME_POST)-arm - else - ifeq ($(HB_CPU),mips) - DYNNAME_POST := $(DYNNAME_POST)-mips - else - ifeq ($(HB_CPU),sh) - DYNNAME_POST := $(DYNNAME_POST)-sh - endif - endif - endif - else - ifeq ($(HB_ARCHITECTURE),os2) - DYNNAME_POST := $(DYNNAME_POST)-os2 - endif - endif - endif - - DYNDIRLIST_BASE := \ - source/common \ - source/pp \ - source/rtl \ - source/macro \ - source/lang \ - source/codepage \ - source/hbpcre \ - source/hbzlib \ - source/hbextern \ - source/rdd \ - source/rdd/dbfntx \ - source/rdd/dbfnsx \ - source/rdd/dbfcdx \ - source/rdd/dbffpt \ - source/rdd/hbsix \ - source/rdd/hsx \ - source/rdd/usrrdd \ - source/rtl/gtcgi \ - source/rtl/gtpca \ - source/rtl/gtstd - - ifeq ($(HB_ARCHITECTURE),os2) - DYNDIRLIST_BASE += source/rtl/gtos2 - endif - ifeq ($(HB_ARCHITECTURE),wce) - DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui - endif - ifeq ($(HB_ARCHITECTURE),win) - DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui source/rtl/gtwin - endif - ifeq ($(HB_OS_UNIX),yes) - DYNDIRLIST_BASE += source/rtl/gttrm - endif - ifeq ($(HB_COMPILER),watcom) - DYNDIRLIST_BASE += source/vm/maindllh - endif - - export DYNDIRLIST_BASE - export DYNNAME_POST + ifeq ($(HB_OS_UNIX),yes) + DYNNAME_POST := .$(HB_DYN_VER) + else + DYNNAME_POST := -$(HB_DYN_VER) endif + + ifeq ($(HB_ARCHITECTURE),win) + ifeq ($(HB_COMPILER),bcc) + DYNNAME_POST := $(DYNNAME_POST)-bcc + else + ifeq ($(HB_CPU),x86_64) + DYNNAME_POST := $(DYNNAME_POST)-x64 + else + ifeq ($(HB_CPU),ia64) + DYNNAME_POST := $(DYNNAME_POST)-ia64 + endif + endif + endif + else + ifeq ($(HB_ARCHITECTURE),wce) + DYNNAME_POST := $(DYNNAME_POST)-wce + ifeq ($(HB_CPU),arm) + DYNNAME_POST := $(DYNNAME_POST)-arm + else + ifeq ($(HB_CPU),mips) + DYNNAME_POST := $(DYNNAME_POST)-mips + else + ifeq ($(HB_CPU),sh) + DYNNAME_POST := $(DYNNAME_POST)-sh + endif + endif + endif + else + ifeq ($(HB_ARCHITECTURE),os2) + DYNNAME_POST := $(DYNNAME_POST)-os2 + endif + endif + endif + + DYNDIRLIST_BASE := \ + source/common \ + source/pp \ + source/rtl \ + source/macro \ + source/lang \ + source/codepage \ + source/hbpcre \ + source/hbzlib \ + source/hbextern \ + source/rdd \ + source/rdd/dbfntx \ + source/rdd/dbfnsx \ + source/rdd/dbfcdx \ + source/rdd/dbffpt \ + source/rdd/hbsix \ + source/rdd/hsx \ + source/rdd/usrrdd \ + source/rtl/gtcgi \ + source/rtl/gtpca \ + source/rtl/gtstd + + ifeq ($(HB_ARCHITECTURE),dos) + # for testing only. dos doesn't have .dlls. + DYNDIRLIST_BASE += source/rtl/gtdos + endif + ifeq ($(HB_ARCHITECTURE),os2) + DYNDIRLIST_BASE += source/rtl/gtos2 + endif + ifeq ($(HB_ARCHITECTURE),wce) + DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui + endif + ifeq ($(HB_ARCHITECTURE),win) + DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui source/rtl/gtwin + endif + ifeq ($(HB_OS_UNIX),yes) + DYNDIRLIST_BASE += source/rtl/gttrm + endif + ifeq ($(HB_COMPILER),watcom) + DYNDIRLIST_BASE += source/vm/maindllh + endif + + export DYNDIRLIST_BASE + export DYNNAME_POST endif ifeq ($(HB_HOST_BUILD),lib) diff --git a/harbour/source/dynlib/Makefile b/harbour/source/dynlib/Makefile index d0999cad11..7e6f3bd42b 100644 --- a/harbour/source/dynlib/Makefile +++ b/harbour/source/dynlib/Makefile @@ -7,31 +7,27 @@ ROOT := ../../ include $(TOP)$(ROOT)config/global.mk ifneq ($(DYNDIRLIST_BASE),) - ifneq ($(HB_ARCHITECTURE),dos) - DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm - DYNNAME := harbour$(DYNNAME_POST) + DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm + DYNNAME := harbour$(DYNNAME_POST) - DIRS := mt + DIRS := mt - include $(TOP)$(ROOT)config/dyn.mk - include $(TOP)$(ROOT)config/dir.mk + include $(TOP)$(ROOT)config/dyn.mk + include $(TOP)$(ROOT)config/dir.mk - INSTALL_RULE_DYN := $(INSTALL_RULE) + INSTALL_RULE_DYN := $(INSTALL_RULE) - ifneq ($(HB_LIB_INSTALL),) - INSTALL_FILES := $(IMP_FILE) - INSTALL_DIR := $(HB_LIB_INSTALL) - HB_INSTALL_DEF := yes - include $(TOP)$(ROOT)config/install.mk - endif + ifneq ($(HB_LIB_INSTALL),) + INSTALL_FILES := $(IMP_FILE) + INSTALL_DIR := $(HB_LIB_INSTALL) + HB_INSTALL_DEF := yes + include $(TOP)$(ROOT)config/install.mk + endif install:: $(INSTALL_RULE_DYN) - else - include $(TOP)$(ROOT)config/none.mk - endif else $(warning ! Warning: Please run make from one level up) include $(TOP)$(ROOT)config/none.mk diff --git a/harbour/source/dynlib/mt/Makefile b/harbour/source/dynlib/mt/Makefile index 7fc4ab4d1c..b547855ef0 100644 --- a/harbour/source/dynlib/mt/Makefile +++ b/harbour/source/dynlib/mt/Makefile @@ -7,28 +7,24 @@ ROOT := ../../../ include $(TOP)$(ROOT)config/global.mk ifneq ($(DYNDIRLIST_BASE),) - ifneq ($(HB_ARCHITECTURE),dos) - DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm/vmmt - DYNNAME := harbourmt$(DYNNAME_POST) + DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm/vmmt + DYNNAME := harbourmt$(DYNNAME_POST) - include $(TOP)$(ROOT)config/dyn.mk + include $(TOP)$(ROOT)config/dyn.mk - INSTALL_RULE_DYN := $(INSTALL_RULE) + INSTALL_RULE_DYN := $(INSTALL_RULE) - ifneq ($(HB_LIB_INSTALL),) - INSTALL_FILES := $(IMP_FILE) - INSTALL_DIR := $(HB_LIB_INSTALL) - HB_INSTALL_DEF := yes - include $(TOP)$(ROOT)config/install.mk - endif + ifneq ($(HB_LIB_INSTALL),) + INSTALL_FILES := $(IMP_FILE) + INSTALL_DIR := $(HB_LIB_INSTALL) + HB_INSTALL_DEF := yes + include $(TOP)$(ROOT)config/install.mk + endif install:: $(INSTALL_RULE_DYN) - else - include $(TOP)$(ROOT)config/none.mk - endif else $(warning ! Warning: Please run make from one level up) include $(TOP)$(ROOT)config/none.mk