summaryrefslogtreecommitdiffstats
path: root/libasm/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libasm/Makefile.am')
-rw-r--r--libasm/Makefile.am59
1 files changed, 41 insertions, 18 deletions
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index 8094b05c..d486db9b 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -31,11 +31,10 @@ include $(top_srcdir)/config/eu.am
AM_CPPFLAGS += -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw -I$(top_srcdir)/libdwelf
GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
-VERSION = 1
lib_LIBRARIES = libasm.a
noinst_LIBRARIES = libasm_pic.a
-noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
+noinst_DATA = $(libasm_BARE)
pkginclude_HEADERS = libasm.h
libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
@@ -55,34 +54,58 @@ libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
libasm_pic_a_SOURCES =
am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
-libasm_so_LDLIBS =
+libasm_so_LDLIBS = $(intl_LDADD)
if USE_LOCKS
libasm_so_LDLIBS += -lpthread
endif
+if USE_GNULIB
+libasm_so_LDLIBS += ../libgnu/libgnu.a
+endif
+if NATIVE_PE
+GEN_DEF = -Wl,--output-def=$(libasm_BARE:.dll=.def)
+CLEANFILES += $(libasm_BARE:.dll=.def)
+else
+GEN_DEF =
+endif
-libasm_so_SOURCES =
-libasm.so$(EXEEXT): libasm_pic.a libasm.map
- $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
+$(libasm_BARE): libasm_pic.a libasm.map
+ $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
- -Wl,--soname,$@.$(VERSION) \
- ../libebl/libebl.a ../libelf/libelf.so ../libdw/libdw.so \
+ -Wl,--soname,$(libasm_SONAME) $(GEN_DEF) \
+ ../libebl/libebl.a ../libelf/$(libelf_BARE) ../libdw/$(libdw_BARE) \
$(libasm_so_LDLIBS)
@$(textrel_check)
- $(AM_V_at)ln -fs $@ $@.$(VERSION)
+ $(AM_V_at)ln -fs $@ $(libasm_SONAME)
+
+if NATIVE_PE
+install-lib: $(libasm_BARE:.dll=.lib)
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ $(INSTALL_PROGRAM) $< $(DESTDIR)$(libdir)/$(libasm_VERSIONED:.dll=.lib)
+ ln -fs $(libasm_VERSIONED:.dll=.lib) $(DESTDIR)$(libdir)/$(libasm_SONAME:.dll=.lib)
+ ln -fs $(libasm_SONAME:.dll=.lib) $(DESTDIR)$(libdir)/$(libasm_BARE:.dll=.lib)
+uninstall-lib:
+ rm -f $(DESTDIR)$(libdir)/$(libasm_VERSIONED:.dll=.lib)
+ rm -f $(DESTDIR)$(libdir)/$(libasm_SONAME:.dll=.lib)
+ rm -f $(DESTDIR)$(libdir)/$(libasm_BARE:.dll=.lib)
+CLEANFILES += $(libasm_BARE:.dll=.lib) $(libasm_BARE:.dll=.exp)
+else
+install-lib:
+uninstall-lib:
+endif
-install: install-am libasm.so
+install: install-am install-lib $(libasm_BARE)
$(mkinstalldirs) $(DESTDIR)$(libdir)
- $(INSTALL_PROGRAM) libasm.so $(DESTDIR)$(libdir)/libasm-$(PACKAGE_VERSION).so
- ln -fs libasm-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libasm.so.$(VERSION)
- ln -fs libasm.so.$(VERSION) $(DESTDIR)$(libdir)/libasm.so
+ $(INSTALL_PROGRAM) $(libasm_BARE) $(DESTDIR)$(libdir)/$(libasm_VERSIONED)
+ ln -fs $(libasm_VERSIONED) $(DESTDIR)$(libdir)/$(libasm_SONAME)
+ ln -fs $(libasm_SONAME) $(DESTDIR)$(libdir)/$(libasm_BARE)
-uninstall: uninstall-am
- rm -f $(DESTDIR)$(libdir)/libasm-$(PACKAGE_VERSION).so
- rm -f $(DESTDIR)$(libdir)/libasm.so.$(VERSION)
- rm -f $(DESTDIR)$(libdir)/libasm.so
+uninstall: uninstall-am uninstall-lib
+ rm -f $(DESTDIR)$(libdir)/$(libasm_VERSIONED)
+ rm -f $(DESTDIR)$(libdir)/$(libasm_SONAME)
+ rm -f $(DESTDIR)$(libdir)/$(libasm_BARE)
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
noinst_HEADERS = libasmP.h symbolhash.h
EXTRA_DIST = libasm.map
-CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so.$(VERSION)
+CLEANFILES += $(am_libasm_pic_a_OBJECTS) $(libasm_SONAME) $(libasm_BARE)