diff options
| author | Roland McGrath <[email protected]> | 2005-11-16 01:57:40 +0000 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2005-11-16 01:57:40 +0000 |
| commit | cd60ea83050d9fb48c3204005f475df460f433b6 (patch) | |
| tree | e083a367ff3c5598999f3fe23df1fba35681ef31 /libebl/Makefile.am | |
| parent | 1b8b446a794ac4babfd687ca48de32e5f4aaa539 (diff) | |
Revamp libebl/common-reloc.c code to share source at compile time only and not extend the libebl.a behavior itself.
Diffstat (limited to 'libebl/Makefile.am')
| -rw-r--r-- | libebl/Makefile.am | 113 |
1 files changed, 27 insertions, 86 deletions
diff --git a/libebl/Makefile.am b/libebl/Makefile.am index 93271e52..51b97ff2 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -27,15 +27,15 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ LIBEBL_SUBDIR = @LIBEBL_SUBDIR@ lib_LIBRARIES = libebl.a -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 -noinst_LIBRARIES = libebl_i386_pic.a libebl_sh_pic.a \ - libebl_x86_64_pic.a libebl_ia64_pic.a libebl_alpha_pic.a \ - libebl_arm_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \ - libebl_ppc64_pic.a -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 +libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ + libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ + libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ + libebl_s390_pic.a +noinst_LIBRARIES = $(libebl_pic) +noinst_DATA = $(libebl_pic:_pic.a=.so) -euincludedir = $(includedir)/elfutils -euinclude_HEADERS = libebl.h +pkginclude_HEADERS = libebl.h gen_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \ eblreloctypename.c eblsegmenttypename.c \ @@ -53,7 +53,7 @@ gen_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \ libebl_a_SOURCES = $(gen_SOURCES) -i386_SRCS = i386_init.c i386_destr.c i386_symbol.c i386_corenote.c +i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c libebl_i386_pic_a_SOURCES = $(i386_SRCS) am_libebl_i386_pic_a_OBJECTS = $(i386_SRCS:.c=.os) @@ -67,108 +67,50 @@ endif textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi -libebl_i386_so_SOURCES = -libebl_i386.so: libebl_i386_pic.a libebl_i386.map +libebl_%.so: libebl_%_pic.a libebl_%.map $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_i386.map \ + -Wl,--version-script,$(word 2,$^) \ -Wl,-z,defs $(libelf) $(libmudflap) $(textrel_check) +libebl_%.map: Makefile + echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' > $@ -sh_SRCS = sh_init.c sh_destr.c sh_symbol.c +sh_SRCS = sh_init.c sh_symbol.c libebl_sh_pic_a_SOURCES = $(sh_SRCS) am_libebl_sh_pic_a_OBJECTS = $(sh_SRCS:.c=.os) -libebl_sh_so_SOURCES = -libebl_sh.so: libebl_sh_pic.a libebl_sh.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_sh.map \ - -Wl,-z,defs $(libmudflap) - $(textrel_check) - - -x86_64_SRCS = x86_64_init.c x86_64_destr.c x86_64_symbol.c x86_64_corenote.c +x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c libebl_x86_64_pic_a_SOURCES = $(x86_64_SRCS) am_libebl_x86_64_pic_a_OBJECTS = $(x86_64_SRCS:.c=.os) -libebl_x86_64_so_SOURCES = -libebl_x86_64.so: libebl_x86_64_pic.a libebl_x86_64.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_x86_64.map \ - -Wl,-z,defs $(libelf) $(libmudflap) - $(textrel_check) - - -ia64_SRCS = ia64_init.c ia64_destr.c ia64_symbol.c +ia64_SRCS = ia64_init.c ia64_symbol.c libebl_ia64_pic_a_SOURCES = $(ia64_SRCS) am_libebl_ia64_pic_a_OBJECTS = $(ia64_SRCS:.c=.os) -libebl_ia64_so_SOURCES = -libebl_ia64.so: libebl_ia64_pic.a libebl_ia64.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_ia64.map \ - -Wl,-z,defs $(libmudflap) - $(textrel_check) - - -alpha_SRCS = alpha_init.c alpha_destr.c alpha_symbol.c +alpha_SRCS = alpha_init.c alpha_symbol.c libebl_alpha_pic_a_SOURCES = $(alpha_SRCS) am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os) -libebl_alpha_so_SOURCES = -libebl_alpha.so: libebl_alpha_pic.a libebl_alpha.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_alpha.map \ - -Wl,-z,defs $(libmudflap) - $(textrel_check) - - -arm_SRCS = arm_init.c arm_destr.c arm_symbol.c +arm_SRCS = arm_init.c arm_symbol.c libebl_arm_pic_a_SOURCES = $(arm_SRCS) am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os) -libebl_arm_so_SOURCES = -libebl_arm.so: libebl_arm_pic.a libebl_arm.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_arm.map \ - -Wl,-z,defs $(libmudflap) - $(textrel_check) - - -sparc_SRCS = sparc_init.c sparc_destr.c sparc_symbol.c +sparc_SRCS = sparc_init.c sparc_symbol.c libebl_sparc_pic_a_SOURCES = $(sparc_SRCS) am_libebl_sparc_pic_a_OBJECTS = $(sparc_SRCS:.c=.os) -libebl_sparc_so_SOURCES = -libebl_sparc.so: libebl_sparc_pic.a libebl_sparc.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_sparc.map \ - -Wl,-z,defs $(libmudflap) - $(textrel_check) - - -ppc_SRCS = ppc_init.c ppc_destr.c ppc_symbol.c +ppc_SRCS = ppc_init.c ppc_symbol.c libebl_ppc_pic_a_SOURCES = $(ppc_SRCS) am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os) -libebl_ppc_so_SOURCES = -libebl_ppc.so: libebl_ppc_pic.a libebl_ppc.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_ppc.map \ - -Wl,-z,defs $(libelf) $(libmudflap) - $(textrel_check) - - -ppc64_SRCS = ppc64_init.c ppc64_destr.c ppc64_symbol.c +ppc64_SRCS = ppc64_init.c ppc64_symbol.c libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS) am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os) -libebl_ppc64_so_SOURCES = -libebl_ppc64.so: libebl_ppc64_pic.a libebl_ppc64.map - $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libebl_ppc64.map \ - -Wl,-z,defs $(libelf) $(libmudflap) - $(textrel_check) +s390_SRCS = s390_init.c s390_symbol.c +libebl_s390_pic_a_SOURCES = $(s390_SRCS) +am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os) %.os: %.c %.o @@ -193,11 +135,10 @@ uninstall: uninstall-am rm -f $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR)/libebl_$${m}.so; \ done rmdir --ignore-fail-on-non-empty $(DESTDIR)$(libdir)/$(LIBEBL_SUBDIR) - rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils + rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgincludedir) -noinst_HEADERS = libeblP.h $(noinst_LIBRARIES:%_pic.a=%.h) -EXTRA_DIST = $(noinst_LIBRARIES:%_pic.a=%.map) \ - $(foreach m,$(modules),$($(m)_SRCS)) +noinst_HEADERS = libeblP.h ebl-hooks.h libebl_CPU.h common-reloc.c +EXTRA_DIST = $(foreach m,$(modules),$($(m)_SRCS)) $(modules:=_reloc.def) CLEANFILES = $(am_libebl_pic_a_OBJECTS) *.gcno *.gcda \ $(foreach m,$(modules),$(am_libebl_$(m)_pic_a_OBJECTS)) |
