|
1 # |
|
2 # Makefile for dwarfdump |
|
3 # This is made very simple so it should work with |
|
4 # any 'make'. |
|
5 |
|
6 # |
|
7 |
|
8 srcdir = @srcdir@ |
|
9 VPATH = @srcdir@ |
|
10 |
|
11 prefix = @prefix@ |
|
12 exec_prefix = @exec_prefix@ |
|
13 bindir = $(exec_prefix)/bin |
|
14 libdir = $(exec_prefix)/lib |
|
15 mandir = @mandir@ |
|
16 man1dir = $(mandir)/man1 |
|
17 |
|
18 INSTALL = @INSTALL@ |
|
19 INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
|
20 INSTALL_DATA = @INSTALL_DATA@ |
|
21 SHELL = /bin/sh |
|
22 CC = @CC@ |
|
23 AR = @AR@ |
|
24 ARFLAGS = @ARFLAGS@ |
|
25 RM = rm |
|
26 RANLIB = @RANLIB@ |
|
27 DEFS = @DEFS@ |
|
28 LIBS = @LIBS@ -L../libdwarf -ldwarf -lelf |
|
29 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libdwarf |
|
30 CFLAGS = @CFLAGS@ $(INCLUDES) -DCONFPREFIX=${libdir} |
|
31 LDFLAGS = @LDFLAGS@ $(LIBS) |
|
32 |
|
33 # ../libdwarf gets us to local headers |
|
34 |
|
35 DIRINC = $(srcdir)/../libdwarf |
|
36 INSTALL = cp |
|
37 |
|
38 binprefix = |
|
39 |
|
40 GEN_CFILES = \ |
|
41 dwarf_names.c |
|
42 |
|
43 OBJECTS = tag_tree_table.o \ |
|
44 tag_attr_table.o \ |
|
45 dwarfdump.o \ |
|
46 dwconf.o \ |
|
47 esb.o \ |
|
48 print_sections.o \ |
|
49 print_die.o \ |
|
50 print_reloc.o \ |
|
51 print_frames.o \ |
|
52 dwarf_names.o \ |
|
53 makename.o |
|
54 GEN_HFILES = \ |
|
55 dwarf_names.h \ |
|
56 _tag_tree_table.c \ |
|
57 _tag_attr_table.c |
|
58 |
|
59 all: dwarfdump |
|
60 |
|
61 $(OBJECTS): $(GEN_HFILES) $(srcdir)/globals.h $(srcdir)/print_frames.h |
|
62 |
|
63 default: $(TARGETS) |
|
64 |
|
65 |
|
66 dwarfdump: $(OBJECTS) |
|
67 $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(LDFLAGS) |
|
68 |
|
69 |
|
70 #at_list.i: at_list.awk $(DIRINC)/dwarf.h |
|
71 # awk -f $(srcdir)/at_list.awk $(DIRINC)/dwarf.h > $@ |
|
72 #at_list.o: at_list.i |
|
73 # $(CC) $(CFLAGS) -c at_list.i -o $@ |
|
74 |
|
75 _tag_tree_table.c: $(srcdir)/tag_tree.list $(srcdir)/tag_tree.c $(DIRINC)/dwarf.h |
|
76 $(CC) $(CFLAGS) $(LDFLAGS) -o tag_tree_build $(srcdir)/tag_tree.c |
|
77 # gcc -E tag_tree.list does not work, so use a .c name |
|
78 rm -f _tmp1.c && ln -s $(srcdir)/tag_tree.list _tmp1.c |
|
79 $(CC) $(CFLAGS) -E _tmp1.c \ |
|
80 | awk '!/^#/ && !/^[ \t]*$$/' > ./tag_tree_build.tmp |
|
81 ./tag_tree_build <tag_tree_build.tmp > $@ |
|
82 rm -f tag_tree_build .tmp |
|
83 rm -f tag_tree_build |
|
84 tag_tree_table.o: _tag_tree_table.c |
|
85 $(CC) $(CFLAGS) -c _tag_tree_table.c -o $@ |
|
86 |
|
87 _tag_attr_table.c: $(srcdir)/tag_attr.list $(srcdir)/tag_attr.c $(DIRINC)/dwarf.h |
|
88 $(CC) $(CFLAGS) $(LDFLAGS) -o tag_attr_build $(srcdir)/tag_attr.c |
|
89 # gcc -E tag_attr.list does not work, so use a .c name |
|
90 rm -f _tmp2.c && ln -s $(srcdir)/tag_attr.list _tmp2.c |
|
91 $(CC) $(CFLAGS) -E _tmp2.c \ |
|
92 | awk '!/^#/ && !/^[ \t]*$$/' > ./tag_attr_build.tmp |
|
93 ./tag_attr_build <tag_attr_build.tmp > $@ |
|
94 rm -f tag_attr_build.tmp |
|
95 rm -f tag_attr_build |
|
96 tag_attr_table.o: _tag_attr_table.c |
|
97 $(CC) $(CFLAGS) -c _tag_attr_table.c -o $@ |
|
98 |
|
99 # The file dwarf_names.awk generates BOTH dwarf_names.h and dwarf_names.c |
|
100 # be careful of the make dependencies here |
|
101 dwarf_names.h: dwarf_names.awk $(DIRINC)/dwarf.h |
|
102 rm -f dwarf_names.h dwarf_names.c |
|
103 awk -f $(srcdir)/dwarf_names.awk $(DIRINC)/dwarf.h > dwarf_names.c |
|
104 dwarf_names.c: dwarf_names.h |
|
105 |
|
106 test: esb.o $(srcdir)/testesb.c |
|
107 $(CC) -o test $(srcdir)/testesb.c esb.o |
|
108 ./test |
|
109 -rm -f ./test |
|
110 |
|
111 |
|
112 install: all |
|
113 $(INSTALL) dwarfdump $(bindir)/dwarfdump |
|
114 $(INSTALL) $(srcdir)/dwarfdump.1 $(man1dir)/dwarfdump.1 |
|
115 $(INSTALL) $(srcdir)/dwarfdump.conf $(libdir)/dwarfdump.conf |
|
116 |
|
117 uninstall: |
|
118 -rm -f $(bindir)/dwarfdump |
|
119 -rm -f $(man1dir)/dwarfdump.1 |
|
120 -rm -f $(libdir)/dwarfdump.conf |
|
121 |
|
122 clean: |
|
123 rm -f *.o dwarfdump dwarf_names.h *~ _tag_attr_table.c _tag_tree_table.c dwarf_names.c |
|
124 |
|
125 distclean: clean |
|
126 rm -f config.log config.h config.cache config.status dwarf_names.c |
|
127 |
|
128 shar: |
|
129 @echo "shar not set up yet" |
|
130 dist: |
|
131 @echo "dist not set up yet" |