]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libelf/Makefile
MFV r262756:
[FreeBSD/FreeBSD.git] / lib / libelf / Makefile
1 # $FreeBSD$
2 .include <bsd.own.mk>
3
4 TOP=    ${.CURDIR}/../../contrib/elftoolchain
5 SRCDIR= ${TOP}/libelf
6
7 .PATH:  ${SRCDIR}
8
9 LIB=    elf
10
11 SRCS=   elf.c                                                   \
12         elf_begin.c                                             \
13         elf_cntl.c                                              \
14         elf_end.c elf_errmsg.c elf_errno.c                      \
15         elf_data.c                                              \
16         elf_fill.c                                              \
17         elf_flag.c                                              \
18         elf_getarhdr.c                                          \
19         elf_getarsym.c                                          \
20         elf_getbase.c                                           \
21         elf_getident.c                                          \
22         elf_hash.c                                              \
23         elf_kind.c                                              \
24         elf_memory.c                                            \
25         elf_next.c                                              \
26         elf_open.c                                              \
27         elf_rand.c                                              \
28         elf_rawfile.c                                           \
29         elf_phnum.c                                             \
30         elf_shnum.c                                             \
31         elf_shstrndx.c                                          \
32         elf_scn.c                                               \
33         elf_strptr.c                                            \
34         elf_update.c                                            \
35         elf_version.c                                           \
36         gelf_cap.c                                              \
37         gelf_checksum.c                                         \
38         gelf_dyn.c                                              \
39         gelf_ehdr.c                                             \
40         gelf_getclass.c                                         \
41         gelf_fsize.c                                            \
42         gelf_move.c                                             \
43         gelf_phdr.c                                             \
44         gelf_rel.c                                              \
45         gelf_rela.c                                             \
46         gelf_shdr.c                                             \
47         gelf_sym.c                                              \
48         gelf_syminfo.c                                          \
49         gelf_symshndx.c                                         \
50         gelf_xlate.c                                            \
51         libelf_align.c                                          \
52         libelf_allocate.c                                       \
53         libelf_ar.c                                             \
54         libelf_ar_util.c                                        \
55         libelf_checksum.c                                       \
56         libelf_data.c                                           \
57         libelf_ehdr.c                                           \
58         libelf_extended.c                                       \
59         libelf_memory.c                                         \
60         libelf_open.c                                           \
61         libelf_phdr.c                                           \
62         libelf_shdr.c                                           \
63         libelf_xlate.c                                          \
64         ${GENSRCS}
65
66 INCS=           libelf.h gelf.h
67
68 #
69 # We need to link against the correct version of these files. One
70 # solution is to include ../../sys in the include path. This causes
71 # problems when a header file in sys depends on a file in another
72 # part of the tree, e.g. a machine dependent header.
73 #
74 SRCS+=  sys/elf32.h sys/elf64.h sys/elf_common.h
75
76 GENSRCS=        libelf_fsize.c libelf_msize.c libelf_convert.c
77 CLEANFILES=     ${GENSRCS}
78 CLEANDIRS=      sys
79 CFLAGS+=        -I. -I${SRCDIR} -I${TOP}/common
80
81 sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET}
82         mkdir -p ${.OBJDIR}/sys
83         ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET}
84
85 SHLIB_MAJOR=    2
86
87 MAN=    elf.3                                                   \
88         elf_begin.3                                             \
89         elf_cntl.3                                              \
90         elf_end.3                                               \
91         elf_errmsg.3                                            \
92         elf_fill.3                                              \
93         elf_flagdata.3                                          \
94         elf_getarhdr.3                                          \
95         elf_getarsym.3                                          \
96         elf_getbase.3                                           \
97         elf_getdata.3                                           \
98         elf_getident.3                                          \
99         elf_getscn.3                                            \
100         elf_getphdrnum.3                                        \
101         elf_getphnum.3                                          \
102         elf_getshdrnum.3                                        \
103         elf_getshnum.3                                          \
104         elf_getshdrstrndx.3                                     \
105         elf_getshstrndx.3                                       \
106         elf_hash.3                                              \
107         elf_kind.3                                              \
108         elf_memory.3                                            \
109         elf_next.3                                              \
110         elf_open.3                                              \
111         elf_rawfile.3                                           \
112         elf_rand.3                                              \
113         elf_strptr.3                                            \
114         elf_update.3                                            \
115         elf_version.3                                           \
116         gelf.3                                                  \
117         gelf_checksum.3                                         \
118         gelf_fsize.3                                            \
119         gelf_getcap.3                                           \
120         gelf_getclass.3                                         \
121         gelf_getdyn.3                                           \
122         gelf_getehdr.3                                          \
123         gelf_getmove.3                                          \
124         gelf_getphdr.3                                          \
125         gelf_getrel.3                                           \
126         gelf_getrela.3                                          \
127         gelf_getshdr.3                                          \
128         gelf_getsym.3                                           \
129         gelf_getsyminfo.3                                       \
130         gelf_getsymshndx.3                                      \
131         gelf_newehdr.3                                          \
132         gelf_newphdr.3                                          \
133         gelf_update_ehdr.3                                      \
134         gelf_xlatetof.3
135
136 MLINKS+= \
137         elf_errmsg.3 elf_errno.3                \
138         elf_flagdata.3 elf_flagarhdr.3          \
139         elf_flagdata.3 elf_flagehdr.3           \
140         elf_flagdata.3 elf_flagelf.3            \
141         elf_flagdata.3 elf_flagphdr.3           \
142         elf_flagdata.3 elf_flagscn.3            \
143         elf_flagdata.3 elf_flagshdr.3           \
144         elf_getdata.3 elf_newdata.3             \
145         elf_getdata.3 elf_rawdata.3             \
146         elf_getscn.3 elf_ndxscn.3               \
147         elf_getscn.3 elf_newscn.3               \
148         elf_getscn.3 elf_nextscn.3              \
149         elf_getshstrndx.3 elf_setshstrndx.3     \
150         elf_open.3 elf_openmemory.3             \
151         gelf_getcap.3 gelf_update_cap.3         \
152         gelf_getdyn.3 gelf_update_dyn.3         \
153         gelf_getmove.3 gelf_update_move.3       \
154         gelf_getrel.3 gelf_update_rel.3         \
155         gelf_getrela.3 gelf_update_rela.3       \
156         gelf_getsym.3 gelf_update_sym.3         \
157         gelf_getsyminfo.3 gelf_update_syminfo.3 \
158         gelf_getsymshndx.3 gelf_update_symshndx.3 \
159         gelf_update_ehdr.3 gelf_update_phdr.3   \
160         gelf_update_ehdr.3 gelf_update_shdr.3   \
161         gelf_xlatetof.3 gelf_xlatetom.3
162
163 .for E in 32 64
164 MLINKS+= \
165         gelf_checksum.3 elf${E}_checksum.3      \
166         gelf_fsize.3    elf${E}_fsize.3         \
167         gelf_getehdr.3  elf${E}_getehdr.3       \
168         gelf_getphdr.3  elf${E}_getphdr.3       \
169         gelf_getshdr.3  elf${E}_getshdr.3       \
170         gelf_newehdr.3  elf${E}_newehdr.3       \
171         gelf_newphdr.3  elf${E}_newphdr.3       \
172         gelf_xlatetof.3 elf${E}_xlatetof.3      \
173         gelf_xlatetof.3 elf${E}_xlatetom.3
174 .endfor
175
176 VERSION_MAP=           ${SRCDIR}/Version.map
177
178 libelf_convert.c:       elf_types.m4 libelf_convert.m4
179 libelf_fsize.c:         elf_types.m4 libelf_fsize.m4
180 libelf_msize.c:         elf_types.m4 libelf_msize.m4
181
182 .include <bsd.lib.mk>
183
184 # Keep the .SUFFIXES line after the include of bsd.lib.mk
185 .SUFFIXES:      .m4 .c
186 .m4.c:
187         m4 -D SRCDIR=${SRCDIR} ${M4FLAGS} ${.IMPSRC} > ${.TARGET}
188