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:
@@ -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.
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user