17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate# Use is subject to license terms.
47c478bd9Sstevel@tonic-gate#
549d3bc91SRichard Lowe# Copyright 2011, Richard Lowe.
693b88728SJohn Levon#
793b88728SJohn Levon# Copyright (c) 2018, Joyent, Inc.
87c478bd9Sstevel@tonic-gate
97c478bd9Sstevel@tonic-gateinclude ../../Makefile.ctf
107c478bd9Sstevel@tonic-gate
1149d3bc91SRichard LoweLIBRARY=	libdwarf.a
1249d3bc91SRichard LoweVERS=		.1
1349d3bc91SRichard Lowe
1407dc1947SRichard LoweOBJECTS=dwarf_abbrev.o		\
1549d3bc91SRichard Lowe	dwarf_alloc.o		\
1649d3bc91SRichard Lowe	dwarf_arange.o		\
17*4d9fdb46SRobert Mustacchi	dwarf_debuglink.o	\
1849d3bc91SRichard Lowe	dwarf_die_deliv.o	\
19*4d9fdb46SRobert Mustacchi	dwarf_dnames.o		\
20*4d9fdb46SRobert Mustacchi	dwarf_dsc.o		\
2107dc1947SRichard Lowe	dwarf_elf_access.o	\
22*4d9fdb46SRobert Mustacchi	dwarf_elf_load_headers.o \
23*4d9fdb46SRobert Mustacchi	dwarf_elf_rel_detector.o \
24*4d9fdb46SRobert Mustacchi	dwarf_elfread.o		\
2549d3bc91SRichard Lowe	dwarf_error.o		\
2649d3bc91SRichard Lowe	dwarf_form.o		\
2749d3bc91SRichard Lowe	dwarf_frame.o		\
2807dc1947SRichard Lowe	dwarf_frame2.o		\
2949d3bc91SRichard Lowe	dwarf_funcs.o		\
30*4d9fdb46SRobert Mustacchi	dwarf_gdbindex.o	\
31*4d9fdb46SRobert Mustacchi	dwarf_generic_init.o	\
3249d3bc91SRichard Lowe	dwarf_global.o		\
33*4d9fdb46SRobert Mustacchi	dwarf_groups.o		\
3407dc1947SRichard Lowe	dwarf_harmless.o	\
3549d3bc91SRichard Lowe	dwarf_init_finish.o	\
3649d3bc91SRichard Lowe	dwarf_leb.o		\
3749d3bc91SRichard Lowe	dwarf_line.o		\
3849d3bc91SRichard Lowe	dwarf_loc.o		\
39*4d9fdb46SRobert Mustacchi	dwarf_locationop_read.o \
40*4d9fdb46SRobert Mustacchi	dwarf_loclists.o	\
41*4d9fdb46SRobert Mustacchi	dwarf_machoread.o	\
4249d3bc91SRichard Lowe	dwarf_macro.o		\
43*4d9fdb46SRobert Mustacchi	dwarf_macro5.o		\
4407dc1947SRichard Lowe	dwarf_names.o		\
45*4d9fdb46SRobert Mustacchi	dwarf_object_detector.o	\
46*4d9fdb46SRobert Mustacchi	dwarf_object_read_common.o \
4707dc1947SRichard Lowe	dwarf_original_elf_init.o	\
48*4d9fdb46SRobert Mustacchi	dwarf_peread.o		\
4949d3bc91SRichard Lowe	dwarf_print_lines.o	\
5007dc1947SRichard Lowe	dwarf_pubtypes.o	\
5149d3bc91SRichard Lowe	dwarf_query.o		\
5207dc1947SRichard Lowe	dwarf_ranges.o		\
53*4d9fdb46SRobert Mustacchi	dwarf_rnglists.o	\
54*4d9fdb46SRobert Mustacchi	dwarf_str_offsets.o	\
55*4d9fdb46SRobert Mustacchi	dwarf_stringsection.o	\
5649d3bc91SRichard Lowe	dwarf_stubs.o		\
57*4d9fdb46SRobert Mustacchi	dwarf_tied.o		\
58*4d9fdb46SRobert Mustacchi	dwarf_tsearchhash.o	\
5949d3bc91SRichard Lowe	dwarf_types.o		\
6049d3bc91SRichard Lowe	dwarf_util.o		\
6149d3bc91SRichard Lowe	dwarf_vars.o		\
6249d3bc91SRichard Lowe	dwarf_weaks.o		\
63*4d9fdb46SRobert Mustacchi	dwarf_xu_index.o	\
64*4d9fdb46SRobert Mustacchi	dwarfstring.o		\
65*4d9fdb46SRobert Mustacchi	dwgetopt.o		\
66*4d9fdb46SRobert Mustacchi	gennames.o		\
6707dc1947SRichard Lowe	malloc_check.o		\
6849d3bc91SRichard Lowe	pro_alloc.o		\
6949d3bc91SRichard Lowe	pro_arange.o		\
7049d3bc91SRichard Lowe	pro_die.o		\
71*4d9fdb46SRobert Mustacchi	pro_dnames.o		\
7249d3bc91SRichard Lowe	pro_encode_nm.o		\
7349d3bc91SRichard Lowe	pro_error.o		\
7449d3bc91SRichard Lowe	pro_expr.o		\
7549d3bc91SRichard Lowe	pro_finish.o		\
7649d3bc91SRichard Lowe	pro_forms.o		\
7749d3bc91SRichard Lowe	pro_frame.o		\
7849d3bc91SRichard Lowe	pro_funcs.o		\
7949d3bc91SRichard Lowe	pro_init.o		\
8049d3bc91SRichard Lowe	pro_line.o		\
81*4d9fdb46SRobert Mustacchi	pro_log_extra_flag_strings.o \
8249d3bc91SRichard Lowe	pro_macinfo.o		\
8349d3bc91SRichard Lowe	pro_pubnames.o		\
8449d3bc91SRichard Lowe	pro_reloc_stream.o	\
8549d3bc91SRichard Lowe	pro_reloc_symbolic.o	\
86*4d9fdb46SRobert Mustacchi	pro_reloc.o		\
8749d3bc91SRichard Lowe	pro_section.o		\
8849d3bc91SRichard Lowe	pro_types.o		\
8949d3bc91SRichard Lowe	pro_vars.o		\
9049d3bc91SRichard Lowe	pro_weaks.o
9149d3bc91SRichard Lowe
9249d3bc91SRichard Loweinclude $(SRC)/lib/Makefile.lib
9369b1fd3fSRichard Loweinclude $(SRC)/tools/Makefile.tools
947c478bd9Sstevel@tonic-gate
95bc1f688bSRobert MustacchiFILEMODE =	0755
96bc1f688bSRobert MustacchiSRCDIR =	$(SRC)/lib/libdwarf/common/
97bc1f688bSRobert MustacchiSRCS =		$(PICS:%.o=$(SRCDIR)/%.c)
9849d3bc91SRichard Lowe
9907dc1947SRichard LoweCPPFLAGS +=	-I$(SRCDIR) -DELF_TARGET_ALL=1
1007014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-unused
1017014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-implicit-function-declaration
10249d3bc91SRichard Lowe
10393b88728SJohn Levon# libdwarf not clean
10493b88728SJohn LevonSMATCH=off
10593b88728SJohn Levon
10669b1fd3fSRichard LoweDYNFLAGS += '-R$$ORIGIN/../../lib/$(MACH)'
107*4d9fdb46SRobert MustacchiLDLIBS = -lelf -lc -lz
108*4d9fdb46SRobert MustacchiNATIVE_LIBS += libelf.so libc.so libz.so
10949d3bc91SRichard Lowe
11049d3bc91SRichard Lowe.KEEP_STATE:
11149d3bc91SRichard Lowe.PARALLEL:
11249d3bc91SRichard Lowe
11349d3bc91SRichard Loweall:	$(DYNLIB)
11449d3bc91SRichard Lowe
11549d3bc91SRichard Loweinstall: all $(ROOTONBLDLIBMACH)/libdwarf.so.1 $(ROOTONBLDLIBMACH)/libdwarf.so
1167c478bd9Sstevel@tonic-gate
1177c478bd9Sstevel@tonic-gate$(ROOTONBLDLIBMACH)/%: %
1187c478bd9Sstevel@tonic-gate	$(INS.file)
11949d3bc91SRichard Lowe
12049d3bc91SRichard Lowe$(ROOTONBLDLIBMACH)/$(LIBLINKS): $(ROOTONBLDLIBMACH)/$(LIBLINKS)$(VERS)
12149d3bc91SRichard Lowe	$(INS.liblink)
12249d3bc91SRichard Lowe
12349d3bc91SRichard LoweFRC:
12449d3bc91SRichard Lowe
12549d3bc91SRichard Lowe# We can't provide CTF information for libdwarf, as the CTF tools themselves
12649d3bc91SRichard Lowe# depond upon it, and so aren't built yet.
12749d3bc91SRichard Lowe$(DYNLIB) := CTFMERGE_POST= :
12849d3bc91SRichard LoweCTFCONVERT_O= :
12949d3bc91SRichard Lowe
13049d3bc91SRichard Loweinclude $(SRC)/lib/Makefile.targ
13149d3bc91SRichard Lowe
132