1## Process this file with automake to create Makefile.in
2##
3## Copyright (C) 2000-2010, 2013, 2014 Red Hat, Inc.
4## Copyright (C) 2012 Tilera Corporation
5## This file is part of elfutils.
6##
7## This file is free software; you can redistribute it and/or modify
8## it under the terms of either
9##
10##   * the GNU Lesser General Public License as published by the Free
11##     Software Foundation; either version 3 of the License, or (at
12##     your option) any later version
13##
14## or
15##
16##   * the GNU General Public License as published by the Free
17##     Software Foundation; either version 2 of the License, or (at
18##     your option) any later version
19##
20## or both in parallel, as here.
21##
22## elfutils is distributed in the hope that it will be useful, but
23## WITHOUT ANY WARRANTY; without even the implied warranty of
24## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25## General Public License for more details.
26##
27## You should have received copies of the GNU General Public License and
28## the GNU Lesser General Public License along with this program.  If
29## not, see <http://www.gnu.org/licenses/>.
30include $(top_srcdir)/config/eu.am
31if BUILD_STATIC
32AM_CFLAGS += $(fpic_CFLAGS)
33endif
34AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
35	   -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
36
37noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
38
39modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
40	  m68k bpf riscv csky
41
42i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
43	    i386_retval.c i386_regs.c i386_auxv.c \
44	    i386_initreg.c i386_unwind.c
45
46sh_SRCS = sh_init.c sh_symbol.c sh_corenote.c sh_regs.c sh_retval.c
47
48x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \
49	      x86_64_retval.c x86_64_regs.c x86_64_initreg.c \
50	      x86_64_unwind.c x32_corenote.c
51
52
53ia64_SRCS = ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c
54
55alpha_SRCS = alpha_init.c alpha_symbol.c alpha_retval.c alpha_regs.c \
56	     alpha_corenote.c alpha_auxv.c
57
58arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \
59	   arm_auxv.c arm_attrs.c arm_retval.c arm_cfi.c arm_initreg.c
60
61aarch64_SRCS = aarch64_init.c aarch64_regs.c aarch64_symbol.c	\
62	       aarch64_corenote.c aarch64_retval.c aarch64_cfi.c \
63	       aarch64_initreg.c aarch64_unwind.c
64
65sparc_SRCS = sparc_init.c sparc_symbol.c sparc_regs.c sparc_retval.c \
66	     sparc_corenote.c sparc64_corenote.c sparc_auxv.c sparc_attrs.c \
67             sparc_cfi.c sparc_initreg.c
68
69ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
70	   ppc_corenote.c ppc_auxv.c ppc_attrs.c \
71	   ppc_cfi.c ppc_initreg.c
72
73ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c ppc64_corenote.c \
74	     ppc64_unwind.c ppc64_resolve_sym.c
75
76s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c \
77	    s390_corenote.c s390x_corenote.c s390_cfi.c s390_initreg.c \
78	    s390_unwind.c
79
80m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c \
81	    m68k_retval.c m68k_corenote.c m68k_cfi.c m68k_initreg.c
82
83# m68k prstatus core notes are described by a packed structure
84# which has not naturally aligned fields. Since we don't access
85# these fields directly, but take their offset to be used later
86# to extract the data through elfxx_xlatetom/memmove, this isn't
87# an issue.
88m68k_corenote_no_Wpacked_not_aligned = yes
89
90bpf_SRCS = bpf_init.c bpf_regs.c bpf_symbol.c
91
92riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
93	     riscv_initreg.c riscv_corenote.c riscv64_corenote.c riscv_retval.c
94
95csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
96	    csky_regs.c csky_initreg.c csky_corenote.c
97
98libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
99			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
100			    $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
101			    $(ppc64_SRCS) $(s390_SRCS) \
102			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS)
103
104libebl_backends_pic_a_SOURCES =
105am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
106
107noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c
108EXTRA_DIST = $(modules:=_reloc.def)
109
110MOSTLYCLEANFILES = $(am_libebl_backends_pic_a_OBJECTS)
111