2009-08-21 19:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* source/dynlib/mt/Makefile
   * source/dynlib/Makefile
     + Added 'install' logic for dynamic lib implibs.

   * config/global.mk
     + Added useful GNU Make link.
     ! Added HB_HOST_CPU "detection" for os2 and dos to avoid
       situation where cross-build is detected due to different
       to HB_CPU value. (HB_CPU autodetection for os2 dos was
       added yesterday). It's quite theoretical, as os2 dos
       has CPU type set to constant 'x86'.
     + Added IMP_DIR value. This hold where to store implibs
       for dynamic libs. Empty if platform don't need implibs
       (huge relief BTW). For *nix this value is set empty, for
       non-*nix it's set to LIB_DIR.
     + Added initialization for DYN_PREF (to empty).

   * config/dyn.mk
     + Added handling of IMP_DIR, IMP_FILE.
     ! Dyn lib build rule guarded with HB_BUILD_DLL and DY_RULE
       checks.

   * config/globsh.mk
     + Added dirbase and clean rules for implibs.
     ! Fixed using OS version of dirs in $(wildcard) for nt
       clean rules for OBJ_DIR and PKG_DIR.

   * config/wce/mingwarm.mk
   * config/wce/poccarm.mk
   * config/wce/msvcarm.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
     + Dynamic lib rules extended to generate implib in IMP_DIR.
       This goes smoothly with all compiler except bcc, which requires
       a copy and a delete to move the implib to lib dir. 'move'
       doesn't work (says 'command not found' or equivalent and
       requires '$(COMSPEC) /C' with GNU Make + nt shell), so I
       didn't use it finally. Anyhow bcc implib is small.

  * config/globsh.mk
    - Deleted $(MV) variable with move command.
      (problematic under nt shells)

  - config/dj-mv.exe
  * config/readme.txt
    - Deleted DJGPP mv tool.

   ; NOTE: dynamic library handling seems to be about feature complete.
This commit is contained in:
Viktor Szakats
2009-08-21 17:55:52 +00:00
parent d27e95d5d8
commit 68ebf06051
19 changed files with 135 additions and 20 deletions

View File

@@ -17,6 +17,62 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-21 19:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/mt/Makefile
* source/dynlib/Makefile
+ Added 'install' logic for dynamic lib implibs.
* config/global.mk
+ Added useful GNU Make link.
! Added HB_HOST_CPU "detection" for os2 and dos to avoid
situation where cross-build is detected due to different
to HB_CPU value. (HB_CPU autodetection for os2 dos was
added yesterday). It's quite theoretical, as os2 dos
has CPU type set to constant 'x86'.
+ Added IMP_DIR value. This hold where to store implibs
for dynamic libs. Empty if platform don't need implibs
(huge relief BTW). For *nix this value is set empty, for
non-*nix it's set to LIB_DIR.
+ Added initialization for DYN_PREF (to empty).
* config/dyn.mk
+ Added handling of IMP_DIR, IMP_FILE.
! Dyn lib build rule guarded with HB_BUILD_DLL and DY_RULE
checks.
* config/globsh.mk
+ Added dirbase and clean rules for implibs.
! Fixed using OS version of dirs in $(wildcard) for nt
clean rules for OBJ_DIR and PKG_DIR.
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.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
+ Dynamic lib rules extended to generate implib in IMP_DIR.
This goes smoothly with all compiler except bcc, which requires
a copy and a delete to move the implib to lib dir. 'move'
doesn't work (says 'command not found' or equivalent and
requires '$(COMSPEC) /C' with GNU Make + nt shell), so I
didn't use it finally. Anyhow bcc implib is small.
* config/globsh.mk
- Deleted $(MV) variable with move command.
(problematic under nt shells)
- config/dj-mv.exe
* config/readme.txt
- Deleted DJGPP mv tool.
; NOTE: dynamic library handling seems to be about feature complete.
2009-08-21 19:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/axcore.c
* do not pass event number as 1-st parameter to user handlers

Binary file not shown.

View File

@@ -13,9 +13,13 @@ include $(TOP)$(ROOT)config/c.mk
include $(TOP)$(ROOT)config/prg.mk
DYN_NAME := $(DYN_PREF)$(DYNNAME)$(DYN_EXT)
DYN_FILE := $(DYN_DIR)/$(DYN_NAME)
ifneq ($(IMP_DIR),)
IMP_NAME := $(basename $(DYN_NAME))$(LIB_EXT)
IMP_FILE := $(IMP_DIR)/$(IMP_NAME)
endif
ALL_OBJS := $(subst /,$(DIRSEP),$(foreach dir,$(DYNDIRLIST),$(wildcard $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_POSTFIX)$(OBJ_EXT))))
first:: dirbase descend
@@ -23,10 +27,16 @@ first:: dirbase descend
descend:: dirbase
+@$(MK) $(MKFLAGS) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(DYN_NAME)
ifneq ($(HB_BUILD_DLL),no)
ifneq ($(DY_RULE),)
vpath $(DYN_NAME) $(DYN_DIR)
$(DYN_NAME) : $(ALL_OBJS)
$(DY_RULE)
endif
endif
INSTALL_FILES := $(DYN_FILE)
INSTALL_DIR := $(HB_DYN_INSTALL)

View File

@@ -12,6 +12,7 @@
# http://www.gnu.org/software/make/manual/make.html
# http://www.jgc.org/feeds/topic-gnumake.xml
# http://lists.gnu.org/archive/html/help-make/
# http://make.paulandlesley.org/
# Portable shell programming:
# http://www.gnu.org/software/autoconf/manual/html_node/Portable-Shell.html
# http://www.gnu.org/software/bash/manual/bashref.html
@@ -444,12 +445,16 @@ ifeq ($(HB_HOST_ARCH),win)
endif
endif
else
# TODO: CPU detection for rest of systems.
ifneq ($(filter $(HB_HOST_ARCH),dos os2),)
HB_CPU := x86
else
# TODO: CPU detection for rest of systems.
endif
endif
ifeq ($(HB_INIT_DONE),)
ifneq ($(MAKE_381),)
$(info ! HB_HOST_ARCH: $(HB_HOST_ARCH)$(if $(HB_HOST_CPU), ($(HB_HOST_CPU)),) HB_SHELL: $(HB_SHELL) $(if $(HB_SHELL_XP),,(pre-xp)))
$(info ! HB_HOST_ARCH: $(HB_HOST_ARCH)$(if $(HB_HOST_CPU), ($(HB_HOST_CPU)),) HB_SHELL: $(HB_SHELL))
endif
endif
@@ -725,9 +730,12 @@ BIN_DIR := $(TOP)$(ROOT)bin/$(ARCH_COMP)
LIB_DIR := $(TOP)$(ROOT)lib/$(ARCH_COMP)
ifeq ($(HB_OS_UNIX),no)
DYN_DIR := $(BIN_DIR)
IMP_DIR := $(LIB_DIR)
else
DYN_DIR := $(LIB_DIR)
IMP_DIR :=
endif
DYN_PREF :=
# define PKG_DIR only if run from root Makefile
ifeq ($(ROOT),./)
PKG_DIR := $(TOP)$(ROOT)pkg/$(ARCH_COMP)

View File

@@ -26,6 +26,8 @@ BIN_DIR_OS = $(subst /,\,$(BIN_DIR))
BIN_FILE_OS = $(subst /,\,$(BIN_FILE))
DYN_DIR_OS = $(subst /,\,$(DYN_DIR))
DYN_FILE_OS = $(subst /,\,$(DYN_FILE))
IMP_DIR_OS = $(subst /,\,$(IMP_DIR))
IMP_FILE_OS = $(subst /,\,$(IMP_FILE))
endif
@@ -35,7 +37,6 @@ MK := $(MAKE)
RM := rm -f
RDP := rm -f -r
CP := cp -f
MV := mv -f
LN := ln -sf
MD := mkdir
MDP := mkdir -p
@@ -47,6 +48,7 @@ dirbase::
@[ -z "$(LIB_FILE)" ] || [ -d "$(LIB_DIR)" ] || $(MDP) $(LIB_DIR)
@[ -z "$(BIN_FILE)" ] || [ -d "$(BIN_DIR)" ] || $(MDP) $(BIN_DIR)
@[ -z "$(DYN_FILE)" ] || [ -d "$(DYN_DIR)" ] || $(MDP) $(DYN_DIR)
@[ -z "$(IMP_FILE)" ] || [ -d "$(IMP_DIR)" ] || $(MDP) $(IMP_DIR)
clean::
-@$(RDP) $(PKG_DIR) $(OBJ_DIR) $(LIB_FILE) $(BIN_FILE) $(DYN_FILE); \
@@ -63,6 +65,10 @@ clean::
$(RM) $(basename $(DYN_FILE)).exp; \
[ "`$(ECHO) $(DYN_DIR)/*`" != "$(DYN_DIR)/*" ] || $(RDP) $(DYN_DIR); \
fi
if [ -n "$(IMP_FILE)" ]; then \
$(RM) $(basename $(IMP_FILE)).exp; \
[ "`$(ECHO) $(IMP_DIR)/*`" != "$(IMP_DIR)/*" ] || $(RDP) $(IMP_DIR); \
fi
endif
@@ -77,7 +83,6 @@ MK := "$(subst \,/,$(MAKE))"
RM := del /q /f
RDP := rmdir /q /s
CP := copy
MV := move /y
LN :=
MD := mkdir
MDP := mkdir
@@ -89,10 +94,11 @@ dirbase::
$(if $(LIB_FILE),$(if $(wildcard $(LIB_DIR)),,-@$(MDP) "$(LIB_DIR_OS)"),)
$(if $(BIN_FILE),$(if $(wildcard $(BIN_DIR)),,-@$(MDP) "$(BIN_DIR_OS)"),)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)),,-@$(MDP) "$(DYN_DIR_OS)"),)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)),,-@$(MDP) "$(IMP_DIR_OS)"),)
clean::
$(if $(wildcard $(OBJ_DIR_OS)),-@$(RDP) "$(OBJ_DIR_OS)",)
$(if $(wildcard $(PKG_DIR_OS)),-@$(RDP) "$(PKG_DIR_OS)",)
$(if $(wildcard $(OBJ_DIR)),-@$(RDP) "$(OBJ_DIR_OS)",)
$(if $(wildcard $(PKG_DIR)),-@$(RDP) "$(PKG_DIR_OS)",)
$(if $(LIB_FILE),$(if $(wildcard $(LIB_FILE)),-@$(RM) "$(LIB_FILE_OS)",),)
$(if $(LIB_FILE),$(if $(wildcard $(basename $(LIB_FILE)).bak),-@$(RM) "$(basename $(LIB_FILE_OS)).bak",),)
$(if $(LIB_FILE),$(if $(wildcard $(LIB_DIR)),$(if $(wildcard $(LIB_DIR)/*),,-@$(RDP) "$(LIB_DIR_OS)"),),)
@@ -103,6 +109,9 @@ clean::
$(if $(DYN_FILE),$(if $(wildcard $(basename $(DYN_FILE)).def),-@$(RM) "$(basename $(DYN_FILE_OS)).def",),)
$(if $(DYN_FILE),$(if $(wildcard $(basename $(DYN_FILE)).exp),-@$(RM) "$(basename $(DYN_FILE_OS)).exp",),)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)),$(if $(wildcard $(DYN_DIR)/*),,-@$(RDP) "$(DYN_DIR_OS)"),),)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_FILE)),-@$(RM) "$(IMP_FILE_OS)",),)
$(if $(IMP_FILE),$(if $(wildcard $(basename $(IMP_FILE)).exp),-@$(RM) "$(basename $(IMP_FILE_OS)).exp",),)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)),$(if $(wildcard $(IMP_DIR)/*),,-@$(RDP) "$(IMP_DIR_OS)"),),)
endif
@@ -117,7 +126,6 @@ MK := $(subst \,/,$(MAKE))
RM := $(TOOL_DIR)os2-rm -f
RDP := $(TOOL_DIR)os2-rm -fr
CP := copy
MV := move /y
LN :=
MD := mkdir
MDP := $(TOOL_DIR)os2-mkdir -p
@@ -129,6 +137,7 @@ dirbase::
$(if $(LIB_FILE),-@$(MDP) $(LIB_DIR),)
$(if $(BIN_FILE),-@$(MDP) $(BIN_DIR),)
$(if $(DYN_FILE),-@$(MDP) $(DYN_DIR),)
$(if $(IMP_FILE),-@$(MDP) $(IMP_DIR),)
clean::
-@$(RDP) $(PKG_DIR_OS) $(OBJ_DIR_OS) $(LIB_FILE_OS) $(BIN_FILE_OS)
@@ -139,6 +148,8 @@ clean::
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).def,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).exp,)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)/*.*),,-@$(RDP) $(DYN_DIR_OS)),)
$(if $(IMP_FILE),-@$(RM) $(basename $(IMP_FILE_OS)).exp,)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)/*.*),,-@$(RDP) $(IMP_DIR_OS)),)
endif
@@ -148,7 +159,6 @@ MK := $(subst \,/,$(MAKE))
RM := $(TOOL_DIR)dj-rm -f
RDP := $(TOOL_DIR)dj-rm -fr
CP := $(TOOL_DIR)dj-cp -f
MV := $(TOOL_DIR)dj-mv -f
LN :=
MD := $(TOOL_DIR)dj-mkdir
MDP := $(TOOL_DIR)dj-mkdir -p
@@ -160,6 +170,7 @@ dirbase::
$(if $(LIB_FILE),-@$(MDP) $(LIB_DIR_OS),)
$(if $(BIN_FILE),-@$(MDP) $(BIN_DIR_OS),)
$(if $(DYN_FILE),-@$(MDP) $(DYN_DIR_OS),)
$(if $(IMP_FILE),-@$(MDP) $(IMP_DIR_OS),)
clean::
-@$(RDP) $(PKG_DIR_OS) $(OBJ_DIR_OS) $(LIB_FILE_OS) $(BIN_FILE_OS)
@@ -170,5 +181,7 @@ clean::
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).def,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).exp,)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)/*.*),,-@$(RDP) $(DYN_DIR_OS)),)
$(if $(IMP_FILE),-@$(RM) $(basename $(IMP_FILE_OS)).exp,)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)/*.*),,-@$(RDP) $(IMP_DIR_OS)),)
endif

View File

@@ -27,7 +27,7 @@ Included utilities are:
Licence:
GPL 2 (see below)
Links to included binaries + sources:
- DJGPP (dj-mkdir.exe, dj-rm.exe, dj-cp.exe, dj-mv.exe, dj-echo.exe)
- DJGPP (dj-mkdir.exe, dj-rm.exe, dj-cp.exe, dj-echo.exe)
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/fil41b.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/fil41s.zip

View File

@@ -59,7 +59,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def"
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def",--out-implib,"$(IMP_FILE)"
endef
DY_RULE = $(create_dynlib)

View File

@@ -93,7 +93,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -68,7 +68,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -98,6 +98,8 @@ define create_dynlib
$(foreach file,$^,$(dyn_object))
@$(ECHO) $(ECHOQUOTE), "$(subst /,$(DIRSEP),$(DYN_DIR)/$@)",, cw32mt.lib import32.lib$(ECHOQUOTE) >> __dyn__.tmp
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) c0d32.obj @__dyn__.tmp
@$(CP) $(subst /,$(DIRSEP),$(DYN_DIR)/$(basename $@)$(LIB_EXT)) $(subst /,$(DIRSEP),$(IMP_FILE))
@$(RM) $(subst /,$(DIRSEP),$(DYN_DIR)/$(basename $@)$(LIB_EXT))
endef
DY_RULE = $(create_dynlib)

View File

@@ -58,7 +58,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(HB_USER_DFLAGS) $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def"
$(DY) $(DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(HB_USER_DFLAGS) $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def",--out-implib,"$(IMP_FILE)"
endef
DY_RULE = $(create_dynlib)

View File

@@ -66,7 +66,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -68,7 +68,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def"
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(DYN_DIR)/$@"$(ECHOQUOTE) __dyn__.tmp $(DLIBS) -Wl,--output-def,"$(DYN_DIR)/$(basename $@).def",--out-implib,"$(IMP_FILE)"
endef
DY_RULE = $(create_dynlib)

View File

@@ -77,7 +77,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -63,7 +63,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -81,7 +81,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) OP implib name '$(subst /,$(DIRSEP),$(DYN_DIR)/$@)' @__dyn__.tmp LIB $(DLIBS_COMMA)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) NAME '$(subst /,$(DIRSEP),$(DYN_DIR)/$@)' OP implib='$(IMP_FILE)' @__dyn__.tmp LIB $(DLIBS_COMMA)
endef
DY_RULE = $(create_dynlib)

View File

@@ -56,7 +56,7 @@ endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) @__dyn__.tmp $(DLIBS)
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)"$(subst /,$(DIRSEP),$(DYN_DIR)/$@)"$(ECHOQUOTE) /implib:"$(IMP_FILE)" @__dyn__.tmp $(DLIBS)
endef
DY_RULE = $(create_dynlib)

View File

@@ -16,6 +16,19 @@ ifneq ($(DYNDIRLIST_BASE),)
include $(TOP)$(ROOT)config/dyn.mk
include $(TOP)$(ROOT)config/dir.mk
INSTALL_RULE_LIBRARIES := $(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
install::
$(INSTALL_RULE_LIBRARIES)
else
include $(TOP)$(ROOT)config/none.mk
endif

View File

@@ -13,6 +13,19 @@ ifneq ($(DYNDIRLIST_BASE),)
DYNNAME := harbourmt$(DYNNAME_POST)
include $(TOP)$(ROOT)config/dyn.mk
INSTALL_RULE_LIBRARIES := $(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
install::
$(INSTALL_RULE_LIBRARIES)
else
include $(TOP)$(ROOT)config/none.mk
endif