mirror of
https://github.com/JakeHillion/drgn.git
synced 2024-12-23 09:43:06 +00:00
f49d68d8f9
internal.h includes both drgn-specific helpers and generic utility functions. Split the latter into their own util.h header and use it instead of internal.h in the generic data structure code. This makes it easier to copy the data structures into other projects/test programs.
141 lines
3.4 KiB
Makefile
141 lines
3.4 KiB
Makefile
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
SUBDIRS = elfutils include
|
|
|
|
.DELETE_ON_ERROR:
|
|
|
|
AM_CPPFLAGS = -Iinclude -D_GNU_SOURCE
|
|
|
|
include_HEADERS = drgn.h
|
|
|
|
BUILT_SOURCES = drgn.h
|
|
|
|
noinst_LTLIBRARIES = libdrgnimpl.la
|
|
|
|
ARCH_INS = arch_x86_64.c.in
|
|
|
|
libdrgnimpl_la_SOURCES = $(ARCH_INS:.c.in=.c) \
|
|
binary_search_tree.h \
|
|
cityhash.h \
|
|
dwarf_index.c \
|
|
dwarf_index.h \
|
|
dwarf_info_cache.c \
|
|
dwarf_info_cache.h \
|
|
error.c \
|
|
error.h \
|
|
hash_table.c \
|
|
hash_table.h \
|
|
internal.c \
|
|
internal.h \
|
|
language.c \
|
|
language.h \
|
|
language_c.c \
|
|
lexer.c \
|
|
lexer.h \
|
|
linux_kernel.c \
|
|
linux_kernel.h \
|
|
linux_kernel_helpers.c \
|
|
memory_reader.c \
|
|
memory_reader.h \
|
|
object.c \
|
|
object.h \
|
|
object_index.c \
|
|
object_index.h \
|
|
path.c \
|
|
platform.c \
|
|
platform.h \
|
|
program.c \
|
|
program.h \
|
|
read.h \
|
|
serialize.c \
|
|
serialize.h \
|
|
siphash.h \
|
|
splay_tree.c \
|
|
stack_trace.c \
|
|
string_builder.c \
|
|
string_builder.h \
|
|
symbol.c \
|
|
symbol.h \
|
|
type.c \
|
|
type.h \
|
|
type_index.c \
|
|
type_index.h \
|
|
util.h \
|
|
vector.c \
|
|
vector.h
|
|
|
|
libdrgnimpl_la_CFLAGS = -fvisibility=hidden $(OPENMP_CFLAGS)
|
|
libdrgnimpl_la_LIBADD = $(OPENMP_LIBS)
|
|
|
|
if WITH_LIBKDUMPFILE
|
|
libdrgnimpl_la_SOURCES += kdump.c
|
|
libdrgnimpl_la_CFLAGS += $(libkdumpfile_CFLAGS)
|
|
libdrgnimpl_la_LIBADD += $(libkdumpfile_LIBS)
|
|
endif
|
|
|
|
arch_%.c: arch_%.c.in build-aux/gen_arch.awk build-aux/parse_arch.awk
|
|
gawk -f $(word 3, $^) -f $(word 2, $^) $< > $@
|
|
|
|
drgn.h: configure.ac build-aux/gen_drgn_h.awk build-aux/parse_arch.awk $(ARCH_INS) drgn.h.in
|
|
gawk -f $(word 2, $^) -f $(word 3, $^) -v version=@PACKAGE_VERSION@ \
|
|
$(wordlist 4, $(words $^), $^) > $@
|
|
|
|
elfutils_LIBS = elfutils/libdw/libdw.a elfutils/libelf/libelf.a -lz -llzma -lbz2
|
|
|
|
lib_LTLIBRARIES = libdrgn.la
|
|
|
|
libdrgn_la_SOURCES =
|
|
libdrgn_la_LDFLAGS = -version-info 0:0:0
|
|
libdrgn_la_LIBADD = libdrgnimpl.la $(elfutils_LIBS)
|
|
|
|
if WITH_PYTHON
|
|
BUILT_SOURCES += python/docstrings.h
|
|
|
|
noinst_LTLIBRARIES += _drgn.la
|
|
endif
|
|
|
|
CLEANFILES = python/constants.c python/docstrings.c python/docstrings.h
|
|
|
|
_drgn_la_SOURCES = python/docstrings.h \
|
|
python/drgnpy.h \
|
|
python/error.c \
|
|
python/helpers.c \
|
|
python/language.c \
|
|
python/module.c \
|
|
python/object.c \
|
|
python/platform.c \
|
|
python/program.c \
|
|
python/stack_trace.c \
|
|
python/symbol.c \
|
|
python/test.c \
|
|
python/type.c \
|
|
python/util.c
|
|
|
|
nodist__drgn_la_SOURCES = python/constants.c python/docstrings.c
|
|
|
|
_drgn_la_CFLAGS = -fvisibility=hidden
|
|
_drgn_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) -iquote $(srcdir)/python \
|
|
-iquote python
|
|
_drgn_la_LDFLAGS = -Wl,--exclude-libs,ALL -avoid-version -module -shared \
|
|
-rpath $(pkgpyexecdir)
|
|
_drgn_la_LIBADD = libdrgnimpl.la $(elfutils_LIBS)
|
|
|
|
if WITH_LIBKDUMPFILE
|
|
_drgn_la_CFLAGS += $(libkdumpfile_CFLAGS)
|
|
endif
|
|
|
|
python/constants.c: drgn.h build-aux/gen_constants.py
|
|
$(PYTHON) $(word 2, $^) < $< > $@
|
|
|
|
drgndoc_docstrings_deps = $(wildcard $(srcdir)/../docs/exts/drgndoc/*.py)
|
|
drgndoc_docstrings = PYTHONPATH="$(srcdir)/../docs/exts:$$PYTHONPATH" $(PYTHON) -m drgndoc.docstrings
|
|
|
|
python/docstrings.c: ../_drgn.pyi $(drgndoc_docstrings_deps)
|
|
$(drgndoc_docstrings) -m _drgn:drgn $< > $@
|
|
|
|
python/docstrings.h: ../_drgn.pyi $(drgndoc_docstrings_deps)
|
|
$(drgndoc_docstrings) -H -m _drgn:drgn $< > $@
|
|
|
|
EXTRA_DIST = $(ARCH_INS) build-aux/gen_arch.awk build-aux/gen_constants.py \
|
|
build-aux/gen_drgn_h.awk build-aux/parse_arch.awk
|