DSO_REF_VER = $(IMPLIB_VER) DSO_REF_SONAME = $(IMPLIB_SONAME) DSO_REF_SOLINK = $(IMPLIB_SOLINK)
LDFLAGS_IMPLIB += -Wl,--output-def LDFLAGS_IMPLIB += -Wl,$(IMPLIB_DEF) LDFLAGS_SHARED += $(LDFLAGS_IMPLIB)
LDFLAGS_SONAME += -Wl,-soname LDFLAGS_SONAME += -Wl,$(DSO_SONAME) LDFLAGS_SHARED += $(LDFLAGS_SONAME)
DSO_LIBPATH ?= loader PE_SUBSYSTEM ?= windows LDFLAGS_COMMON += -Wl,--subsystem=$(PE_SUBSYSTEM)
implib: implib-ver package-implib-soname package-implib-solink
implib-ver: shared-lib $(IMPLIB_VER)
implib-soname: shared-lib $(IMPLIB_SONAME)
implib-solink: shared-lib $(IMPLIB_SOLINK)
$(IMPLIB_DEF): shared-lib
install-implib: install-implib-ver \ package-install-implib-soname \ package-install-implib-solink
install-implib-ver: implib-ver mkdir -p $(DESTDIR)$(LIBDIR) cp $(IMPLIB_VER) $(DESTDIR)$(LIBDIR)
clean-implib: rm -f $(SHARED_LIB) rm -f $(IMPLIB_DEF) rm -f $(IMPLIB_VER) rm -f $(IMPLIB_SONAME) rm -f $(IMPLIB_SOLINK)
ifeq ($(OS_IMPLIB_TOOL),mdso)
$(IMPLIB_VER): $(IMPLIB_DEF) $(MDSO) -m $(HOST_BITS) -i $(IMPLIB_VER) -n $(DSO_VER) -l $(DSO_LIBPATH) $<
else ifeq ($(OS_IMPLIB_TOOL),dlltool)
$(IMPLIB_VER): $(IMPLIB_DEF) $(DLLTOOL) -l $(IMPLIB_VER) -d $(IMPLIB_DEF) -D $(DSO_VER)
endif
ifeq ($(AVOID_VERSION),yes)
package-implib-soname: package-implib-solink: package-install-implib-soname: package-install-implib-solink:
else
package-implib-soname: implib-soname package-implib-solink: implib-solink package-install-implib-soname: install-implib-soname package-install-implib-solink: install-implib-solink
ifeq ($(OS_IMPLIB_TOOL),mdso)
$(IMPLIB_SONAME): $(IMPLIB_DEF) $(MDSO) -m $(HOST_BITS) -i $(IMPLIB_SONAME) -n $(DSO_SONAME) $(IMPLIB_DEF)
else ifeq ($(OS_IMPLIB_TOOL),dlltool)
$(IMPLIB_SONAME): $(IMPLIB_DEF) $(DLLTOOL) -l $(IMPLIB_SONAME) -d $(IMPLIB_DEF) -D $(DSO_SONAME)
endif
$(IMPLIB_SOLINK): $(IMPLIB_SONAME) rm -f $(IMPLIB_SOLINK).tmp ln -s $(IMP_SONAME) $(IMPLIB_SOLINK).tmp mv $(IMPLIB_SOLINK).tmp $(IMPLIB_SOLINK)
install-implib-soname: implib-soname mkdir -p $(DESTDIR)$(LIBDIR) cp $(IMPLIB_SONAME) $(DESTDIR)$(LIBDIR)
install-implib-solink: implib-soname mkdir -p $(DESTDIR)$(LIBDIR) rm -f $(IMPLIB_SOLINK).tmp ln -s $(IMP_SONAME) $(IMPLIB_SOLINK).tmp mv $(IMPLIB_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(IMP_SOLINK)
endif