Blame dwarfdump/Makefile.in

Packit cdaae3
#  Makefile for dwarfdump
Packit cdaae3
#  This is made very simple so it should work with
Packit cdaae3
#  any 'make'.
Packit cdaae3
#  The Makefile does assume that libdwarf is at ../libdwarf
Packit cdaae3
#  from the dwarfdump2 source directory.
Packit cdaae3
#
Packit cdaae3
Packit cdaae3
srcdir =	@srcdir@
Packit cdaae3
VPATH =		@srcdir@
Packit cdaae3
Packit cdaae3
prefix =	@prefix@
Packit cdaae3
exec_prefix =	@exec_prefix@
Packit cdaae3
bindir =	$(exec_prefix)/bin
Packit cdaae3
libdir =	$(exec_prefix)/lib
Packit cdaae3
mandir =        $(exec_prefix)/share/man
Packit cdaae3
man1dir =       $(mandir)/man1
Packit cdaae3
Packit cdaae3
Packit cdaae3
INSTALL =	@INSTALL@
Packit cdaae3
INSTALL_PROGRAM = @INSTALL_PROGRAM@
Packit cdaae3
INSTALL_DATA =	@INSTALL_DATA@
Packit cdaae3
DATAROOT =      @datarootdir@
Packit cdaae3
SHELL =		/bin/sh
Packit cdaae3
CC =		@CC@
Packit cdaae3
AR =		@AR@
Packit cdaae3
ARFLAGS =	@ARFLAGS@
Packit cdaae3
RM =		rm
Packit cdaae3
RANLIB =	@RANLIB@
Packit cdaae3
DEFS =		@DEFS@
Packit cdaae3
# ../libdwarf gets us to local headers and a libdwarf 
Packit cdaae3
# archive, usually, so we assume it.
Packit cdaae3
dwfwall =       @dwfwall@
Packit cdaae3
dwfsanitize =   @dwfsanitize@
Packit cdaae3
dwfzlib =       @dwfzlib@
Packit cdaae3
LIBDWARF_PATH = ../libdwarf
Packit cdaae3
DIRINC =        $(srcdir)/../libdwarf
Packit cdaae3
LIBS =		@LIBS@ -L../libdwarf -ldwarf -lelf $(dwfzlib)
Packit cdaae3
INCLUDES =	-I. -I$(srcdir) -I../libdwarf -I$(srcdir)/../libdwarf
Packit cdaae3
CFLAGS =	$(PREINCS) @CPPFLAGS@ @CFLAGS@ $(INCLUDES) $(dwfwall) $(dwfsanitize) -DCONFPREFIX=${libdir} $(POSTINCS)
Packit cdaae3
LDFLAGS =	$(PRELIBS) @LDFLAGS@  $(LIBS) $(dwfsanitize) $(POSTLIBS)
Packit cdaae3
#VG =            valgrind --leak-check=full  --show-leak-kinds=all
Packit cdaae3
VG =
Packit cdaae3
Packit cdaae3
Packit cdaae3
INSTALL = cp
Packit cdaae3
Packit cdaae3
binprefix =
Packit cdaae3
Packit cdaae3
FINALOBJECTS = \
Packit cdaae3
	addrmap.o \
Packit cdaae3
        checkutil.o \
Packit cdaae3
	dwarfdump.o \
Packit cdaae3
	dwconf.o \
Packit cdaae3
	esb.o \
Packit cdaae3
        glflags.o \
Packit cdaae3
        helpertree.o \
Packit cdaae3
        macrocheck.o \
Packit cdaae3
	print_abbrevs.o \
Packit cdaae3
	print_aranges.o \
Packit cdaae3
	print_debugfission.o \
Packit cdaae3
	print_die.o \
Packit cdaae3
	print_dnames.o \
Packit cdaae3
	print_frames.o  \
Packit cdaae3
	print_gdbindex.o  \
Packit cdaae3
	print_lines.o \
Packit cdaae3
	print_locs.o \
Packit cdaae3
	print_macro.o \
Packit cdaae3
	print_macros.o \
Packit cdaae3
	print_pubnames.o \
Packit cdaae3
	print_ranges.o \
Packit cdaae3
	print_reloc.o \
Packit cdaae3
	print_sections.o  \
Packit cdaae3
	print_section_groups.o  \
Packit cdaae3
	print_static_funcs.o  \
Packit cdaae3
	print_static_vars.o  \
Packit cdaae3
	print_strings.o \
Packit cdaae3
	print_types.o \
Packit cdaae3
	print_weaknames.o  \
Packit cdaae3
	sanitized.o \
Packit cdaae3
	section_bitmaps.o \
Packit cdaae3
	strstrnocase.o \
Packit cdaae3
	uri.o
Packit cdaae3
GEN_HFILES = common.o \
Packit cdaae3
	tmp-tt-table.c \
Packit cdaae3
	tmp-ta-table.c \
Packit cdaae3
	tmp-ta-ext-table.c \
Packit cdaae3
	tmp-tt-ext-table.c 
Packit cdaae3
Packit cdaae3
all: dwarfdump
Packit cdaae3
Packit cdaae3
HEADERS =  $(srcdir)/checkutil.h \
Packit cdaae3
        $(srcdir)/common.h \
Packit cdaae3
        $(srcdir)/dwconf.h \
Packit cdaae3
        $(srcdir)/dwgetopt.h \
Packit cdaae3
        $(srcdir)/esb.h \
Packit cdaae3
        $(srcdir)/globals.h \
Packit cdaae3
        $(srcdir)/macrocheck.h \
Packit cdaae3
        $(srcdir)/makename.h \
Packit cdaae3
        $(srcdir)/dwarf_tsearch.h \
Packit cdaae3
        $(srcdir)/print_frames.h \
Packit cdaae3
        $(srcdir)/section_bitmaps.h \
Packit cdaae3
        $(srcdir)/uri.h
Packit cdaae3
Packit cdaae3
$(FINALOBJECTS): $(GEN_HFILES)  $(HEADERS) $(srcdir)/naming.c
Packit cdaae3
Packit cdaae3
default: $(TARGETS)
Packit cdaae3
Packit cdaae3
dwarfdump: $(FINALOBJECTS) dwarf_tsearchbal.o makename.o naming.o common.o dwgetopt.o
Packit cdaae3
	$(CC) $(CFLAGS) -o $@ $(FINALOBJECTS) common.o makename.o naming.o dwgetopt.o dwarf_tsearchbal.o  $(LDFLAGS) 
Packit cdaae3
Packit cdaae3
dwgetopt.o: $(srcdir)/dwgetopt.h $(srcdir)/dwgetopt.c 
Packit cdaae3
	$(CC) $(CFLAGS) -c $(srcdir)/dwgetopt.c
Packit cdaae3
Packit cdaae3
dwarf_tsearchbal.o: $(srcdir)/dwarf_tsearch.h  $(srcdir)/dwarf_tsearchbal.c
Packit cdaae3
	$(CC) $(CFLAGS) -c $(srcdir)/dwarf_tsearchbal.c
Packit cdaae3
Packit cdaae3
makename.o: $(srcdir)/makename.h $(srcdir)/makename.c 
Packit cdaae3
	$(CC) $(CFLAGS) -c $(srcdir)/makename.c
Packit cdaae3
Packit cdaae3
common.o:  $(srcdir)/common.c $(srcdir)/common.h
Packit cdaae3
	$(CC) $(CFLAGS) -c $(srcdir)/common.c
Packit cdaae3
Packit cdaae3
naming.o:  $(srcdir)/naming.c $(srcdir)/naming.h
Packit cdaae3
	$(CC) $(CFLAGS) -c $(srcdir)/naming.c
Packit cdaae3
Packit cdaae3
# We need this as naming.o has external references we cannot have
Packit cdaae3
# in the tree builds.
Packit cdaae3
trivial_naming.o: $(srcdir)/naming.c
Packit cdaae3
	$(CC) $(CFLAGS) -DTRIVIAL_NAMING  -c $(srcdir)/naming.c -o trivial_naming.o 
Packit cdaae3
Packit cdaae3
tag_tree_build:  $(srcdir)/tag_tree.c $(DIRINC)/dwarf.h $(HEADERS) tag_common.o makename.o common.o trivial_naming.o dwgetopt.o dwarf_tsearchbal.o
Packit cdaae3
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(LIBDWARF_PATH) $(CC) $(CFLAGS) $(srcdir)/tag_tree.c tag_common.o common.o makename.o  dwarf_tsearchbal.o trivial_naming.o dwgetopt.o  $(LDFLAGS) -o tag_tree_build 
Packit cdaae3
Packit cdaae3
tag_attr_build:  $(srcdir)/tag_attr.c $(DIRINC)/dwarf.h $(HEADERS) tag_common.o makename.o  common.o trivial_naming.o dwgetopt.o dwarf_tsearchbal.o
Packit cdaae3
	$(CC) $(CFLAGS) $(srcdir)/tag_attr.c tag_common.o common.o makename.o trivial_naming.o  dwarf_tsearchbal.o dwgetopt.o $(LDFLAGS) -o tag_attr_build 
Packit cdaae3
Packit cdaae3
# Plain GNU C dash E does not work on a .list, 
Packit cdaae3
# so copy to a .c name to run
Packit cdaae3
# the following four table creations.
Packit cdaae3
tmp-tt-table.c: $(srcdir)/tag_tree.list tag_tree_build
Packit cdaae3
	-rm -f  tmp-t1.c
Packit cdaae3
	cp $(srcdir)/tag_tree.list tmp-t1.c
Packit cdaae3
	$(CC) $(CFLAGS) -E tmp-t1.c  > ./tmp-tag-tree-build1.tmp
Packit cdaae3
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(LIBDWARF_PATH) ./tag_tree_build -s  -i tmp-tag-tree-build1.tmp  -o tmp-tt-table.c
Packit cdaae3
Packit cdaae3
tmp-tt-ext-table.c: $(srcdir)/tag_tree_ext.list tag_tree_build
Packit cdaae3
	-rm -f tmp-t4.c
Packit cdaae3
	cp $(srcdir)/tag_tree_ext.list tmp-t4.c
Packit cdaae3
	$(CC) $(CFLAGS) -E tmp-t4.c  > ./tmp-tag-tree-build4.tmp
Packit cdaae3
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(LIBDWARF_PATH) ./tag_tree_build -e  -i tmp-tag-tree-build4.tmp -o tmp-tt-ext-table.c
Packit cdaae3
Packit cdaae3
tmp-ta-table.c: $(srcdir)/tag_attr.list tag_attr_build
Packit cdaae3
	-rm -f tmp-t2.c
Packit cdaae3
	cp $(srcdir)/tag_attr.list tmp-t2.c
Packit cdaae3
	$(CC) $(CFLAGS)  -E tmp-t2.c  > ./tmp-tag-attr-build2.tmp
Packit cdaae3
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(LIBDWARF_PATH) ./tag_attr_build -s -i tmp-tag-attr-build2.tmp -o tmp-ta-table.c
Packit cdaae3
Packit cdaae3
tmp-ta-ext-table.c: $(srcdir)/tag_attr_ext.list tag_attr_build
Packit cdaae3
	-rm -f tmp-t3.c
Packit cdaae3
	cp $(srcdir)/tag_attr_ext.list tmp-t3.c
Packit cdaae3
	$(CC) $(CFLAGS)  -E tmp-t3.c  > ./tmp-tag-attr-build3.tmp
Packit cdaae3
	LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(LIBDWARF_PATH) ./tag_attr_build -e -i tmp-tag-attr-build3.tmp -o tmp-ta-ext-table.c
Packit cdaae3
Packit cdaae3
Packit cdaae3
test: esb.o dwgetopt.o 
Packit cdaae3
	echo "ESB test"
Packit cdaae3
	$(CC) $(CFLAGS) -o test $(srcdir)/testesb.c esb.o
Packit cdaae3
	$(VG) ./test
Packit cdaae3
	-rm -f ./test
Packit cdaae3
	echo "dwgetopt test"
Packit cdaae3
	$(CC) $(CFLAGS) -o getopttest $(srcdir)/getopttest.c dwgetopt.o
Packit cdaae3
	$(VG) ./getopttest
Packit cdaae3
	-rm -f ./getopttest
Packit cdaae3
	echo "Now use system getopt to validate our tests"
Packit cdaae3
	$(CC) $(CFLAGS) -DGETOPT_FROM_SYSTEM -o getopttestnat $(srcdir)/getopttest.c dwgetopt.o
Packit cdaae3
	./getopttestnat -c 1
Packit cdaae3
	./getopttestnat -c 2
Packit cdaae3
	./getopttestnat -c 3
Packit cdaae3
	./getopttestnat -c 5
Packit cdaae3
	./getopttestnat -c 6
Packit cdaae3
	./getopttestnat -c 7
Packit cdaae3
	./getopttestnat -c 8
Packit cdaae3
	-rm -f ./getopttestnat
Packit cdaae3
	-rm -f ./selfesb
Packit cdaae3
	-rm -f ./selfmc
Packit cdaae3
	-rm -f ./selfmakename
Packit cdaae3
	-rm -f ./selfsection_bitmaps
Packit cdaae3
	-rm -f ./selfprint_reloc
Packit cdaae3
	$(CC) -g -c $(INCLUDES) $(srcdir)/esb.c
Packit cdaae3
	$(CC) -g -c $(INCLUDES) $(srcdir)/dwarf_tsearchbal.c
Packit cdaae3
	$(CC) -g -DSELFTEST  $(INCLUDES) $(srcdir)/makename.c dwarf_tsearchbal.o -o selfmakename
Packit cdaae3
	$(CC) -DSELFTEST $(INCLUDES) -g $(srcdir)/helpertree.c esb.o dwarf_tsearchbal.o -o selfhelpertree
Packit cdaae3
	./selfhelpertree
Packit cdaae3
	rm -f ./selfhelpertree
Packit cdaae3
	./selfmakename
Packit cdaae3
	rm -f ./selfmakename
Packit cdaae3
	$(CC) -DSELFTEST $(INCLUDES) -g $(srcdir)/macrocheck.c esb.o dwarf_tsearchbal.o -o selfmc
Packit cdaae3
	./selfmc
Packit cdaae3
	rm -f ./selfmc
Packit cdaae3
	$(CC) -DSELFTEST -g $(srcdir)/esb.c -o selfesb
Packit cdaae3
	./selfesb
Packit cdaae3
	rm -f ./selfesb
Packit cdaae3
	$(CC) -DSELFTEST -I../libdwarf -g section_bitmaps.c -o selfsection_bitmaps
Packit cdaae3
	./selfsection_bitmaps
Packit cdaae3
	rm -f ./selfsection_bitmaps
Packit cdaae3
	$(CC) -DSELFTEST -I../libdwarf -g print_reloc.c esb.o -o selfprint_reloc
Packit cdaae3
	./selfprint_reloc
Packit cdaae3
	rm -f ./selfprint_reloc
Packit cdaae3
Packit cdaae3
# This simply assumes that a default INSTALL (cp) command
Packit cdaae3
# will work and leave sensible permissions on the resulting files.
Packit cdaae3
# Some adjustment might be required, see README.
Packit cdaae3
install: all
Packit cdaae3
	$(INSTALL) dwarfdump $(bindir)/dwarfdump
Packit cdaae3
	$(INSTALL) $(srcdir)/dwarfdump.conf $(libdir)/dwarfdump.conf
Packit cdaae3
	$(INSTALL) $(srcdir)/dwarfdump.1 $(man1dir)/dwarfdump.1
Packit cdaae3
Packit cdaae3
uninstall:
Packit cdaae3
	-rm -f $(bindir)/dwarfdump
Packit cdaae3
	-rm -f $(man1dir)/dwarfdump.1
Packit cdaae3
	-rm -f $(libdir)/dwarfdump.conf
Packit cdaae3
Packit cdaae3
clean:
Packit cdaae3
	rm -f *.o dwarfdump 
Packit cdaae3
	rm -f _tag_attr_table.c 
Packit cdaae3
	rm -f _tag_attr_ext_table.c 
Packit cdaae3
	rm -f _tag_tree_table.c 
Packit cdaae3
	rm -f _tag_tree_ext_table.c 
Packit cdaae3
	-rm -f tag_attr_build*.tmp
Packit cdaae3
	-rm -f tag_tree_build*.tmp
Packit cdaae3
	rm -f tag_tree_build
Packit cdaae3
	rm -f tag_attr_build
Packit cdaae3
	-rm -f _*.c _*.h
Packit cdaae3
	-rm -f tmp-*.c tmp-*.h tmp-*.tmp
Packit cdaae3
	rm -f gennames
Packit cdaae3
	rm -f dwarf_names_new.c
Packit cdaae3
	rm -f dwarf_names_new.h
Packit cdaae3
	rm -f dwarf_names_enum.h
Packit cdaae3
	rm -f dwarf_names.h 
Packit cdaae3
	rm -f dwarf_names.c
Packit cdaae3
	rm -f a.out
Packit cdaae3
	rm -f getopttest
Packit cdaae3
	rm -f getopttestnat
Packit cdaae3
	rm -f selfhelpertree
Packit cdaae3
	rm -f selfmc
Packit cdaae3
	rm -f *~
Packit cdaae3
Packit cdaae3
distclean: clean
Packit cdaae3
	rm -f config.log config.h config.cache config.status 
Packit cdaae3
	rm -rf autom4te.cache
Packit cdaae3
	rm -rf Makefile
Packit cdaae3
Packit cdaae3
shar:
Packit cdaae3
	@echo "shar not set up yet"
Packit cdaae3
dist:
Packit cdaae3
	@echo "dist not set up yet"