1 #
   2 # Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
   3 # Use is subject to license terms.
   4 #
   5 # Copyright 2011, Richard Lowe.
   6 #
   7 # Copyright (c) 2018, Joyent, Inc.
   8 
   9 include ../../Makefile.ctf
  10 
  11 LIBRARY=        libdwarf.a
  12 VERS=           .1
  13 
  14 OBJECTS=dwarf_abbrev.o          \
  15         dwarf_addr_finder.o     \
  16         dwarf_alloc.o           \
  17         dwarf_arange.o          \
  18         dwarf_die_deliv.o       \
  19         dwarf_elf_access.o      \
  20         dwarf_error.o           \
  21         dwarf_form.o            \
  22         dwarf_frame.o           \
  23         dwarf_frame2.o          \
  24         dwarf_frame3.o          \
  25         dwarf_funcs.o           \
  26         dwarf_global.o          \
  27         dwarf_harmless.o        \
  28         dwarf_init_finish.o     \
  29         dwarf_leb.o             \
  30         dwarf_line.o            \
  31         dwarf_line2.o           \
  32         dwarf_loc.o             \
  33         dwarf_macro.o           \
  34         dwarf_names.o           \
  35         dwarf_original_elf_init.o       \
  36         dwarf_print_lines.o     \
  37         dwarf_pubtypes.o        \
  38         dwarf_query.o           \
  39         dwarf_ranges.o          \
  40         dwarf_sort_line.o       \
  41         dwarf_string.o          \
  42         dwarf_stubs.o           \
  43         dwarf_types.o           \
  44         dwarf_util.o            \
  45         dwarf_vars.o            \
  46         dwarf_weaks.o           \
  47         malloc_check.o          \
  48         pro_alloc.o             \
  49         pro_arange.o            \
  50         pro_die.o               \
  51         pro_encode_nm.o         \
  52         pro_error.o             \
  53         pro_expr.o              \
  54         pro_finish.o            \
  55         pro_forms.o             \
  56         pro_frame.o             \
  57         pro_funcs.o             \
  58         pro_init.o              \
  59         pro_line.o              \
  60         pro_macinfo.o           \
  61         pro_pubnames.o          \
  62         pro_reloc.o             \
  63         pro_reloc_stream.o      \
  64         pro_reloc_symbolic.o    \
  65         pro_section.o           \
  66         pro_types.o             \
  67         pro_vars.o              \
  68         pro_weaks.o
  69 
  70 include $(SRC)/lib/Makefile.lib
  71 include $(SRC)/tools/Makefile.tools
  72 
  73 FILEMODE =      0755
  74 SRCDIR =        $(SRC)/lib/libdwarf/common/
  75 SRCS =          $(PICS:%.o=$(SRCDIR)/%.c)
  76 
  77 CPPFLAGS +=     -I$(SRCDIR) -DELF_TARGET_ALL=1
  78 CERRWARN +=     -_gcc=-Wno-unused
  79 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  80 
  81 # libdwarf not clean
  82 SMATCH=off
  83 
  84 DYNFLAGS += '-R$$ORIGIN/../../lib/$(MACH)'
  85 LDLIBS = -lelf -lc
  86 
  87 .KEEP_STATE:
  88 .PARALLEL:
  89 
  90 all:    $(DYNLIB)
  91 
  92 install: all $(ROOTONBLDLIBMACH)/libdwarf.so.1 $(ROOTONBLDLIBMACH)/libdwarf.so
  93 
  94 $(ROOTONBLDLIBMACH)/%: %
  95         $(INS.file)
  96 
  97 $(ROOTONBLDLIBMACH)/$(LIBLINKS): $(ROOTONBLDLIBMACH)/$(LIBLINKS)$(VERS)
  98         $(INS.liblink)
  99 
 100 FRC:
 101 
 102 # We can't provide CTF information for libdwarf, as the CTF tools themselves
 103 # depond upon it, and so aren't built yet.
 104 $(DYNLIB) := CTFMERGE_POST= :
 105 CTFCONVERT_O= :
 106 
 107 include $(SRC)/lib/Makefile.targ
 108