From a41615108971decfed257e6c4e114fc8bbcc4af1 Mon Sep 17 00:00:00 2001 From: Maurilio Longo Date: Fri, 18 Sep 2009 14:22:22 +0000 Subject: [PATCH] 2009-09-18 16:22 UTC+0200 Maurilio Longo (maurilio.longo@libero.it) * config/os2/gcc.mk * enabled .dll creation for OS/2 and GCC. --- harbour/config/os2/gcc.mk | 43 +++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/harbour/config/os2/gcc.mk b/harbour/config/os2/gcc.mk index a95d5e122a..1c71d19951 100644 --- a/harbour/config/os2/gcc.mk +++ b/harbour/config/os2/gcc.mk @@ -47,7 +47,7 @@ LDLIBS := $(foreach lib,$(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) -# NOTE: The empty line directly before 'endef' HAVE TO exist! +# NOTE: The empty line directly before 'endef' HAS TO exist! # It causes that every command will be separated by LF #define lib_object # @$(ECHO) $(ECHOQUOTE)ADDMOD $(file)$(ECHOQUOTE) >> __lib__.tmp @@ -70,22 +70,29 @@ AR := $(HB_CCPATH)$(HB_CCPREFIX)ar ARFLAGS := AR_RULE = $(create_library) & $(RM) __lib__.tmp -#DY := $(CC) -#DFLAGS := -shared $(LIBPATHS) -#DY_OUT := $(LD_OUT) -#DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# -# NOTE: The empty line directly before 'endef' HAVE TO exist! -#define dyn_object -# @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp -# -#endef -#define create_dynlib -# $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) -# $(foreach file,$^,$(dyn_object)) -# $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -Wl,--output-def,$(DYN_DIR)/$(basename $@).def,--out-implib,$(IMP_FILE) -#endef -# -#DY_RULE = $(create_dynlib) +DY := $(CC) +DFLAGS := -shared $(LIBPATHS) +DY_OUT := $(LD_OUT) +DLIBS := $(foreach lib,$(LIBS) $(SYSLIBS),-l$(lib)) + +# NOTE: The empty line directly before 'endef' HAS TO exist! +define dyn_object + @$(ECHO) $(file)>> __dyn__.tmp + @emxexp $(file)>> __dyn__.def + +endef +define create_dynlib + $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) + $(if $(wildcard __dyn__.def),@$(RM) __dyn__.def,) + @$(ECHO) LIBRARY $@ INITINSTANCE TERMINSTANCE >> __dyn__.def + @$(ECHO) PROTMODE >> __dyn__.def + @$(ECHO) CODE PRELOAD MOVEABLE DISCARDABLE >> __dyn__.def + @$(ECHO) DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> __dyn__.def + @$(ECHO) EXPORTS >> __dyn__.def + $(foreach file,$^,$(dyn_object)) + $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ @__dyn__.tmp __dyn__.def $(DLIBS) +endef + +DY_RULE = $(create_dynlib) include $(TOP)$(ROOT)config/rules.mk