]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libdwarf/Makefile
unbound: Vendor import 1.16.1
[FreeBSD/FreeBSD.git] / lib / libdwarf / Makefile
1 # $FreeBSD$
2 .include <bsd.own.mk>
3
4 PACKAGE=lib${LIB}
5 ELFTCDIR=${SRCTOP}/contrib/elftoolchain
6 SRCDIR= ${ELFTCDIR}/libdwarf
7
8 .PATH:  ${SRCDIR}
9
10 LIB=    dwarf
11
12 SRCS=   \
13         dwarf_abbrev.c          \
14         dwarf_arange.c          \
15         dwarf_attr.c            \
16         dwarf_attrval.c         \
17         dwarf_cu.c              \
18         dwarf_dealloc.c         \
19         dwarf_die.c             \
20         dwarf_dump.c            \
21         dwarf_errmsg.c          \
22         dwarf_finish.c          \
23         dwarf_form.c            \
24         dwarf_frame.c           \
25         dwarf_funcs.c           \
26         dwarf_init.c            \
27         dwarf_lineno.c          \
28         dwarf_loclist.c         \
29         dwarf_macinfo.c         \
30         dwarf_pro_arange.c      \
31         dwarf_pro_attr.c        \
32         dwarf_pro_die.c         \
33         dwarf_pro_expr.c        \
34         dwarf_pro_finish.c      \
35         dwarf_pro_frame.c       \
36         dwarf_pro_funcs.c       \
37         dwarf_pro_init.c        \
38         dwarf_pro_lineno.c      \
39         dwarf_pro_macinfo.c     \
40         dwarf_pro_pubnames.c    \
41         dwarf_pro_reloc.c       \
42         dwarf_pro_sections.c    \
43         dwarf_pro_types.c       \
44         dwarf_pro_vars.c        \
45         dwarf_pro_weaks.c       \
46         dwarf_pubnames.c        \
47         dwarf_pubtypes.c        \
48         dwarf_ranges.c          \
49         dwarf_reloc.c           \
50         dwarf_sections.c        \
51         dwarf_seterror.c        \
52         dwarf_str.c             \
53         dwarf_types.c           \
54         dwarf_vars.c            \
55         dwarf_weaks.c           \
56         libdwarf.c              \
57         libdwarf_abbrev.c       \
58         libdwarf_arange.c       \
59         libdwarf_attr.c         \
60         libdwarf_die.c          \
61         libdwarf_error.c        \
62         libdwarf_elf_access.c   \
63         libdwarf_elf_init.c     \
64         libdwarf_frame.c        \
65         libdwarf_info.c         \
66         libdwarf_init.c         \
67         libdwarf_lineno.c       \
68         libdwarf_loc.c          \
69         libdwarf_loclist.c      \
70         libdwarf_macinfo.c      \
71         libdwarf_nametbl.c      \
72         libdwarf_ranges.c       \
73         libdwarf_reloc.c        \
74         libdwarf_rw.c           \
75         libdwarf_sections.c     \
76         libdwarf_str.c          \
77         zlib_stub.c
78
79 INCS=           dwarf.h libdwarf.h
80
81 # This same hack is in lib/libelf/Makefile and usr.bin/readelf/Makefile
82 # We need to link against the correct version of these files. One
83 # solution is to include ../../sys in the include path. This causes
84 # problems when a header file in sys depends on a file in another
85 # part of the tree, e.g. a machine dependent header.
86 #
87 SRCS+=  sys/elf32.h sys/elf64.h sys/elf_common.h
88
89 GENSRCS=        dwarf_pubnames.c dwarf_pubtypes.c dwarf_weaks.c \
90                 dwarf_funcs.c dwarf_vars.c dwarf_types.c        \
91                 dwarf_pro_pubnames.c dwarf_pro_weaks.c          \
92                 dwarf_pro_funcs.c dwarf_pro_types.c             \
93                 dwarf_pro_vars.c
94 CLEANFILES=     ${GENSRCS}
95 CLEANDIRS=      sys
96 CFLAGS+=        -I. -I${SRCDIR} -I${ELFTCDIR}/common -I${ELFTCDIR}/libelf
97
98 sys/elf32.h sys/elf64.h sys/elf_common.h: ${SRCTOP}/sys/${.TARGET} .NOMETA
99         mkdir -p ${.OBJDIR}/sys
100         ln -sf ${.ALLSRC} ${.TARGET}
101
102 LIBADD+=        elf z
103
104 SHLIB_MAJOR=    4
105
106 MAN=    dwarf.3                                         \
107         dwarf_add_arange.3                              \
108         dwarf_add_AT_comp_dir.3                         \
109         dwarf_add_AT_const_value_string.3               \
110         dwarf_add_AT_dataref.3                          \
111         dwarf_add_AT_flag.3                             \
112         dwarf_add_AT_location_expr.3                    \
113         dwarf_add_AT_name.3                             \
114         dwarf_add_AT_producer.3                         \
115         dwarf_add_AT_ref_address.3                      \
116         dwarf_add_AT_reference.3                        \
117         dwarf_add_AT_signed_const.3                     \
118         dwarf_add_AT_string.3                           \
119         dwarf_add_AT_targ_address.3                     \
120         dwarf_add_die_to_debug.3                        \
121         dwarf_add_directory_decl.3                      \
122         dwarf_add_expr_addr.3                           \
123         dwarf_add_expr_gen.3                            \
124         dwarf_add_fde_inst.3                            \
125         dwarf_add_file_decl.3                           \
126         dwarf_add_frame_cie.3                           \
127         dwarf_add_frame_fde.3                           \
128         dwarf_add_funcname.3                            \
129         dwarf_add_line_entry.3                          \
130         dwarf_add_pubname.3                             \
131         dwarf_add_typename.3                            \
132         dwarf_add_varname.3                             \
133         dwarf_add_weakname.3                            \
134         dwarf_attr.3                                    \
135         dwarf_attrlist.3                                \
136         dwarf_attroffset.3                              \
137         dwarf_attrval_signed.3                          \
138         dwarf_child.3                                   \
139         dwarf_dealloc.3                                 \
140         dwarf_def_macro.3                               \
141         dwarf_die_abbrev_code.3                         \
142         dwarf_die_link.3                                \
143         dwarf_diename.3                                 \
144         dwarf_dieoffset.3                               \
145         dwarf_end_macro_file.3                          \
146         dwarf_errmsg.3                                  \
147         dwarf_errno.3                                   \
148         dwarf_expand_frame_instructions.3               \
149         dwarf_expr_current_offset.3                     \
150         dwarf_expr_into_block.3                         \
151         dwarf_fde_cfa_offset.3                          \
152         dwarf_find_macro_value_start.3                  \
153         dwarf_finish.3                                  \
154         dwarf_formaddr.3                                \
155         dwarf_formblock.3                               \
156         dwarf_formexprloc.3                             \
157         dwarf_formflag.3                                \
158         dwarf_formref.3                                 \
159         dwarf_formsig8.3                                \
160         dwarf_formstring.3                              \
161         dwarf_formudata.3                               \
162         dwarf_get_abbrev.3                              \
163         dwarf_get_abbrev_children_flag.3                \
164         dwarf_get_abbrev_code.3                         \
165         dwarf_get_abbrev_entry.3                        \
166         dwarf_get_abbrev_tag.3                          \
167         dwarf_get_address_size.3                        \
168         dwarf_get_arange.3                              \
169         dwarf_get_arange_info.3                         \
170         dwarf_get_aranges.3                             \
171         dwarf_get_AT_name.3                             \
172         dwarf_get_cie_index.3                           \
173         dwarf_get_cie_info.3                            \
174         dwarf_get_cie_of_fde.3                          \
175         dwarf_get_cu_die_offset.3                       \
176         dwarf_get_die_infotypes_flag.3                  \
177         dwarf_get_elf.3                                 \
178         dwarf_get_fde_at_pc.3                           \
179         dwarf_get_fde_info_for_all_regs.3               \
180         dwarf_get_fde_info_for_all_regs3.3              \
181         dwarf_get_fde_info_for_cfa_reg3.3               \
182         dwarf_get_fde_info_for_reg.3                    \
183         dwarf_get_fde_info_for_reg3.3                   \
184         dwarf_get_fde_instr_bytes.3                     \
185         dwarf_get_fde_list.3                            \
186         dwarf_get_fde_n.3                               \
187         dwarf_get_fde_range.3                           \
188         dwarf_get_form_class.3                          \
189         dwarf_get_funcs.3                               \
190         dwarf_get_globals.3                             \
191         dwarf_get_loclist_entry.3                       \
192         dwarf_get_macro_details.3                       \
193         dwarf_get_pubtypes.3                            \
194         dwarf_get_ranges.3                              \
195         dwarf_get_relocation_info.3                     \
196         dwarf_get_relocation_info_count.3               \
197         dwarf_get_section_bytes.3                       \
198         dwarf_get_section_max_offsets.3                 \
199         dwarf_get_str.3                                 \
200         dwarf_get_types.3                               \
201         dwarf_get_vars.3                                \
202         dwarf_get_weaks.3                               \
203         dwarf_hasattr.3                                 \
204         dwarf_hasform.3                                 \
205         dwarf_highpc.3                                  \
206         dwarf_init.3                                    \
207         dwarf_lineno.3                                  \
208         dwarf_lne_end_sequence.3                        \
209         dwarf_lne_set_address.3                         \
210         dwarf_loclist.3                                 \
211         dwarf_loclist_from_expr.3                       \
212         dwarf_new_die.3                                 \
213         dwarf_new_expr.3                                \
214         dwarf_new_fde.3                                 \
215         dwarf_next_cu_header.3                          \
216         dwarf_next_types_section.3                      \
217         dwarf_object_init.3                             \
218         dwarf_producer_init.3                           \
219         dwarf_producer_set_isa.3                        \
220         dwarf_reset_section_bytes.3                     \
221         dwarf_seterrarg.3                               \
222         dwarf_set_frame_cfa_value.3                     \
223         dwarf_set_reloc_application.3                   \
224         dwarf_srcfiles.3                                \
225         dwarf_srclines.3                                \
226         dwarf_start_macro_file.3                        \
227         dwarf_tag.3                                     \
228         dwarf_transform_to_disk_form.3                  \
229         dwarf_undef_macro.3                             \
230         dwarf_vendor_ext.3                              \
231         dwarf_whatattr.3
232
233 MLINKS+= \
234         dwarf_add_AT_const_value_string.3 dwarf_add_AT_const_value_signedint.3 \
235         dwarf_add_AT_const_value_string.3 dwarf_add_AT_const_value_unsignedint.3 \
236         dwarf_add_AT_signed_const.3 dwarf_add_AT_unsigned_const.3 \
237         dwarf_add_AT_targ_address.3 dwarf_add_AT_targ_address_b.3 \
238         dwarf_add_arange.3      dwarf_add_arange_b.3    \
239         dwarf_add_expr_addr.3   dwarf_add_expr_addr_b.3 \
240         dwarf_add_frame_fde.3   dwarf_add_frame_fde_b.3 \
241         dwarf_attrval_signed.3  dwarf_attrval_flag.3    \
242         dwarf_attrval_signed.3  dwarf_attrval_string.3  \
243         dwarf_attrval_signed.3  dwarf_attrval_unsigned.3 \
244         dwarf_child.3   dwarf_offdie.3                  \
245         dwarf_child.3   dwarf_offdie_b.3                \
246         dwarf_child.3   dwarf_siblingof.3               \
247         dwarf_child.3   dwarf_siblingof_b.3             \
248         dwarf_dealloc.3 dwarf_fde_cie_list_dealloc.3    \
249         dwarf_dealloc.3 dwarf_funcs_dealloc.3           \
250         dwarf_dealloc.3 dwarf_globals_dealloc.3         \
251         dwarf_dealloc.3 dwarf_pubtypes_dealloc.3        \
252         dwarf_dealloc.3 dwarf_types_dealloc.3           \
253         dwarf_dealloc.3 dwarf_vars_dealloc.3            \
254         dwarf_dealloc.3 dwarf_weaks_dealloc.3           \
255         dwarf_dealloc.3 dwarf_ranges_dealloc.3          \
256         dwarf_dealloc.3 dwarf_srclines_dealloc.3        \
257         dwarf_init.3    dwarf_elf_init.3                \
258         dwarf_dieoffset.3       dwarf_die_CU_offset.3   \
259         dwarf_dieoffset.3       dwarf_die_CU_offset_range.3 \
260         dwarf_dieoffset.3       dwarf_get_cu_die_offset_given_cu_header_offset.3 \
261         dwarf_dieoffset.3       dwarf_get_cu_die_offset_given_cu_header_offset_b.3 \
262         dwarf_finish.3          dwarf_object_finish.3   \
263         dwarf_formref.3 dwarf_global_formref.3          \
264         dwarf_formudata.3       dwarf_formsdata.3       \
265         dwarf_get_AT_name.3     dwarf_get_ACCESS_name.3 \
266         dwarf_get_AT_name.3     dwarf_get_ATE_name.3    \
267         dwarf_get_AT_name.3     dwarf_get_CC_name.3     \
268         dwarf_get_AT_name.3     dwarf_get_CFA_name.3    \
269         dwarf_get_AT_name.3     dwarf_get_CHILDREN_name.3 \
270         dwarf_get_AT_name.3     dwarf_get_DS_name.3     \
271         dwarf_get_AT_name.3     dwarf_get_DSC_name.3    \
272         dwarf_get_AT_name.3     dwarf_get_EH_name.3     \
273         dwarf_get_AT_name.3     dwarf_get_END_name.3    \
274         dwarf_get_AT_name.3     dwarf_get_FORM_name.3   \
275         dwarf_get_AT_name.3     dwarf_get_ID_name.3     \
276         dwarf_get_AT_name.3     dwarf_get_INL_name.3    \
277         dwarf_get_AT_name.3     dwarf_get_LANG_name.3   \
278         dwarf_get_AT_name.3     dwarf_get_LNE_name.3    \
279         dwarf_get_AT_name.3     dwarf_get_LNS_name.3    \
280         dwarf_get_AT_name.3     dwarf_get_MACINFO_name.3 \
281         dwarf_get_AT_name.3     dwarf_get_OP_name.3     \
282         dwarf_get_AT_name.3     dwarf_get_ORD_name.3    \
283         dwarf_get_AT_name.3     dwarf_get_TAG_name.3    \
284         dwarf_get_AT_name.3     dwarf_get_VIRTUALITY_name.3 \
285         dwarf_get_AT_name.3     dwarf_get_VIS_name.3    \
286         dwarf_get_cu_die_offset.3 dwarf_get_arange_cu_header_offset.3 \
287         dwarf_get_fde_list.3    dwarf_get_fde_list_eh.3 \
288         dwarf_get_funcs.3       dwarf_func_die_offset.3 \
289         dwarf_get_funcs.3       dwarf_func_cu_offset.3  \
290         dwarf_get_funcs.3       dwarf_func_name_offsets.3 \
291         dwarf_get_funcs.3       dwarf_funcname.3        \
292         dwarf_get_globals.3     dwarf_global_die_offset.3 \
293         dwarf_get_globals.3     dwarf_global_cu_offset.3 \
294         dwarf_get_globals.3     dwarf_global_name_offsets.3 \
295         dwarf_get_globals.3     dwarf_globname.3        \
296         dwarf_get_pubtypes.3    dwarf_pubtype_die_offset.3 \
297         dwarf_get_pubtypes.3    dwarf_pubtype_cu_offset.3 \
298         dwarf_get_pubtypes.3    dwarf_pubtype_name_offsets.3 \
299         dwarf_get_pubtypes.3    dwarf_pubtypename.3     \
300         dwarf_get_ranges.3      dwarf_get_ranges_a.3    \
301         dwarf_get_section_max_offsets.3 dwarf_get_section_max_offsets_b.3 \
302         dwarf_get_types.3       dwarf_type_die_offset.3 \
303         dwarf_get_types.3       dwarf_type_cu_offset.3  \
304         dwarf_get_types.3       dwarf_type_name_offsets.3 \
305         dwarf_get_types.3       dwarf_typename.3        \
306         dwarf_get_vars.3        dwarf_var_die_offset.3  \
307         dwarf_get_vars.3        dwarf_var_cu_offset.3   \
308         dwarf_get_vars.3        dwarf_var_name_offsets.3 \
309         dwarf_get_vars.3        dwarf_varname.3         \
310         dwarf_get_weaks.3       dwarf_weak_die_offset.3 \
311         dwarf_get_weaks.3       dwarf_weak_cu_offset.3  \
312         dwarf_get_weaks.3       dwarf_weak_name_offsets.3 \
313         dwarf_get_weaks.3       dwarf_weakname.3        \
314         dwarf_hasform.3 dwarf_whatform.3                \
315         dwarf_hasform.3 dwarf_whatform_direct.3         \
316         dwarf_highpc.3  dwarf_arrayorder.3              \
317         dwarf_highpc.3  dwarf_bitoffset.3               \
318         dwarf_highpc.3  dwarf_bitsize.3                 \
319         dwarf_highpc.3  dwarf_bytesize.3                \
320         dwarf_highpc.3  dwarf_highpc_b.3                \
321         dwarf_highpc.3  dwarf_lowpc.3                   \
322         dwarf_highpc.3  dwarf_srclang.3                 \
323         dwarf_lineno.3  dwarf_lineaddr.3                \
324         dwarf_lineno.3  dwarf_linebeginstatement.3      \
325         dwarf_lineno.3  dwarf_lineblock.3               \
326         dwarf_lineno.3  dwarf_lineendsequence.3         \
327         dwarf_lineno.3  dwarf_lineoff.3                 \
328         dwarf_lineno.3  dwarf_linesrc.3                 \
329         dwarf_lineno.3  dwarf_line_srcfileno.3          \
330         dwarf_loclist.3 dwarf_loclist_n.3               \
331         dwarf_loclist_from_expr.3 dwarf_loclist_from_expr_a.3 \
332         dwarf_loclist_from_expr.3 dwarf_loclist_from_expr_b.3 \
333         dwarf_next_cu_header.3 dwarf_next_cu_header_b.3 \
334         dwarf_next_cu_header.3 dwarf_next_cu_header_c.3 \
335         dwarf_producer_init.3 dwarf_producer_init_b.3   \
336         dwarf_seterrarg.3       dwarf_seterrhand.3      \
337         dwarf_set_frame_cfa_value.3 dwarf_set_frame_rule_initial_value.3 \
338         dwarf_set_frame_cfa_value.3 dwarf_set_frame_rule_table_size.3 \
339         dwarf_set_frame_cfa_value.3 dwarf_set_frame_same_value.3 \
340         dwarf_set_frame_cfa_value.3 dwarf_set_frame_undefined_value.3
341
342 dwarf_pubnames.c:       dwarf_nametbl.m4 dwarf_pubnames.m4
343 dwarf_pubtypes.c:       dwarf_nametbl.m4 dwarf_pubtypes.m4
344 dwarf_weaks.c:          dwarf_nametbl.m4 dwarf_weaks.m4
345 dwarf_funcs.c:          dwarf_nametbl.m4 dwarf_funcs.m4
346 dwarf_vars.c:           dwarf_nametbl.m4 dwarf_vars.m4
347 dwarf_types.c:          dwarf_nametbl.m4 dwarf_types.m4
348 dwarf_pro_pubnames.c:   dwarf_pro_nametbl.m4 dwarf_pro_pubnames.m4
349 dwarf_pro_weaks.c:      dwarf_pro_nametbl.m4 dwarf_pro_weaks.m4
350 dwarf_pro_funcs.c:      dwarf_pro_nametbl.m4 dwarf_pro_funcs.m4
351 dwarf_pro_types.c:      dwarf_pro_nametbl.m4 dwarf_pro_types.m4
352 dwarf_pro_vars.c:       dwarf_pro_nametbl.m4 dwarf_pro_vars.m4
353
354 .include <bsd.lib.mk>
355
356 # Keep the .SUFFIXES line after the include of bsd.lib.mk
357 .SUFFIXES:      .m4 .c
358 .m4.c:
359         m4 -D SRCDIR=${SRCDIR} ${M4FLAGS} ${.IMPSRC} > ${.TARGET}
360