diff options
Diffstat (limited to 'libasm/Makefile.am')
| -rw-r--r-- | libasm/Makefile.am | 59 |
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) |
