make --dry-run makes it

anyway, it is the same issue, this piece of config/os2/gcc.mk

# NOTE: The empty line directly before 'endef' HAVE TO exist!
define dyn_object
$(COMSPEC) /C @$(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_RULE = $(foreach file,$^,$(dyn_object))

Works if I add $(COMSPEC) and I use the commented out DY_RULE, at least it
says that  this is not supported on OS/2 but give no error anymore

I don't have any suggestion yet, but here is a small test Makefile,
which makes it easy to experiment:

--- Makefile
LIST := a b c d e f g h i j k l m n o p q r s t u v w x y z

define dyn_object
   @echo START_dyn_object
   @echo INPUT($(file)) >> __dyn__.tmp
   @echo END_dyn_object

endef

define create_dynlib
   @echo START_create_dynlib
   del __dyn__.tmp
   $(foreach file,$(LIST),$(dyn_object))
   @echo END_create_dynlib
endef

DY_RULE = $(create_dynlib)

all:
        $(DY_RULE)
---

Run with 'make'.

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to