Redfoxmoon / cross / slibtool

Forked from cross/slibtool 11 months ago
Clone
Text Blame History Raw

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_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