summaryrefslogtreecommitdiffstats
path: root/backends/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'backends/Makefile.am')
-rw-r--r--backends/Makefile.am43
1 files changed, 25 insertions, 18 deletions
diff --git a/backends/Makefile.am b/backends/Makefile.am
index ff80a82c..c08e675b 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -40,11 +40,17 @@ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
libebl_m68k_pic.a libebl_bpf_pic.a
noinst_LIBRARIES = $(libebl_pic)
-noinst_DATA = $(libebl_pic:_pic.a=.so)
+libebl_pic_prefixed = $(libebl_pic:lib%=$(LIBPREFIX)%)
+noinst_DATA = $(libebl_pic_prefixed:_pic.a=$(LIBEXT))
-libelf = ../libelf/libelf.so
-libdw = ../libdw/libdw.so
+libelf = ../libelf/$(libelf_BARE)
+libdw = ../libdw/$(libdw_BARE)
+if USE_GNULIB
+libgnu = ../libgnu/libgnu.a
+else
+libgnu =
+endif
i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
@@ -74,7 +80,8 @@ libebl_alpha_pic_a_SOURCES = $(alpha_SRCS)
am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os)
arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \
- arm_auxv.c arm_attrs.c arm_retval.c arm_cfi.c arm_initreg.c
+ arm_auxv.c arm_attrs.c arm_retval.c arm_cfi.c arm_initreg.c \
+ arm_unwind.c
libebl_arm_pic_a_SOURCES = $(arm_SRCS)
am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os)
@@ -129,32 +136,32 @@ libebl_bpf_pic_a_SOURCES = $(bpf_SRCS)
am_libebl_bpf_pic_a_OBJECTS = $(bpf_SRCS:.c=.os)
-libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
- @rm -f $(@:.so=.map)
+$(LIBPREFIX)ebl_%$(LIBEXT) $(LIBPREFIX)ebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libgnu)
+ @rm -f $(@:$(LIBEXT)=.map)
$(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
- > $(@:.so=.map)
- $(AM_V_CCLD)$(LINK) -shared -o $(@:.map=.so) \
+ > $(@:$(LIBEXT)=.map)
+ $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $(@:.map=$(LIBEXT)) \
-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
- -Wl,--version-script,$(@:.so=.map) \
- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw)
+ -Wl,--version-script,$(@:$(LIBEXT)=.map) \
+ -Wl,--as-needed $(libelf) $(libdw) $(libgnu) $(intl_LDADD)
@$(textrel_check)
-libebl_i386.so: $(cpu_i386)
-libebl_x86_64.so: $(cpu_x86_64)
-libebl_bpf.so: $(cpu_bpf)
+$(LIBPREFIX)ebl_i386$(LIBEXT): $(cpu_i386)
+$(LIBPREFIX)ebl_x86_64$(LIBEXT): $(cpu_x86_64)
+$(LIBPREFIX)ebl_bpf$(LIBEXT): $(cpu_bpf)
install: install-am install-ebl-modules
install-ebl-modules:
$(mkinstalldirs) $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)
for m in $(modules); do \
- $(INSTALL_PROGRAM) libebl_$${m}.so $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/libebl_$${m}-$(PACKAGE_VERSION).so; \
- ln -fs libebl_$${m}-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/libebl_$${m}.so; \
+ $(INSTALL_PROGRAM) $(LIBPREFIX)ebl_$${m}$(LIBEXT) $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/$(LIBPREFIX)ebl_$${m}-$(PACKAGE_VERSION)$(LIBEXT); \
+ ln -fs $(LIBPREFIX)ebl_$${m}-$(PACKAGE_VERSION)$(LIBEXT) $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/$(LIBPREFIX)ebl_$${m}$(LIBEXT); \
done
uninstall: uninstall-am
for m in $(modules); do \
- rm -f $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/libebl_$${m}-$(PACKAGE_VERSION).so; \
- rm -f $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/libebl_$${m}.so; \
+ rm -f $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/$(LIBPREFIX)ebl_$${m}-$(PACKAGE_VERSION)$(LIBEXT); \
+ rm -f $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/$(LIBPREFIX)ebl_$${m}$(LIBEXT); \
done
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)
@@ -162,5 +169,5 @@ noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c
EXTRA_DIST = $(foreach m,$(modules),$($(m)_SRCS)) $(modules:=_reloc.def)
CLEANFILES += $(foreach m,$(modules),\
- libebl_$(m).map libebl_$(m).so \
+ $(LIBPREFIX)ebl_$(m).map $(LIBPREFIX)ebl_$(m)$(LIBEXT) \
$(am_libebl_$(m)_pic_a_OBJECTS))