mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
167 lines
5.5 KiB
Makefile
167 lines
5.5 KiB
Makefile
# VEX/Makefile is generated from this file at configure-time.
|
|
|
|
include $(top_srcdir)/Makefile.all.am
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Headers, etc
|
|
#----------------------------------------------------------------------------
|
|
|
|
EXTRA_DIST = \
|
|
HACKING.README \
|
|
LICENSE.README \
|
|
LICENSE.GPL \
|
|
quote.txt \
|
|
newline.txt \
|
|
auxprogs/genoffsets.c
|
|
|
|
pkginclude_HEADERS = \
|
|
pub/libvex.h \
|
|
pub/libvex_basictypes.h \
|
|
pub/libvex_emwarn.h \
|
|
pub/libvex_guest_offsets.h \
|
|
pub/libvex_guest_x86.h \
|
|
pub/libvex_guest_amd64.h \
|
|
pub/libvex_guest_ppc32.h \
|
|
pub/libvex_guest_ppc64.h \
|
|
pub/libvex_guest_arm.h \
|
|
pub/libvex_ir.h \
|
|
pub/libvex_trc_values.h
|
|
|
|
noinst_HEADERS = \
|
|
priv/main_globals.h \
|
|
priv/main_util.h \
|
|
priv/ir_match.h \
|
|
priv/ir_opt.h \
|
|
priv/guest_generic_bb_to_IR.h \
|
|
priv/guest_generic_x87.h \
|
|
priv/guest_x86_defs.h \
|
|
priv/guest_amd64_defs.h \
|
|
priv/guest_ppc_defs.h \
|
|
priv/guest_arm_defs.h \
|
|
priv/host_generic_regs.h \
|
|
priv/host_generic_simd64.h \
|
|
priv/host_x86_defs.h \
|
|
priv/host_amd64_defs.h \
|
|
priv/host_ppc_defs.h \
|
|
priv/host_arm_defs.h
|
|
|
|
BUILT_SOURCES = pub/libvex_guest_offsets.h
|
|
CLEANFILES = pub/libvex_guest_offsets.h
|
|
|
|
# This is very uggerly. Need to sed out both "xyzzyN" and
|
|
# "xyzzy$N" since gcc on different targets emits the constants
|
|
# differently -- with a leading $ on x86/amd64 but none on ppc32/64.
|
|
pub/libvex_guest_offsets.h:
|
|
rm -f auxprogs/genoffsets.s
|
|
$(CC) $(LIBVEX_CFLAGS) -O -S -o auxprogs/genoffsets.s \
|
|
auxprogs/genoffsets.c
|
|
grep xyzzy auxprogs/genoffsets.s | grep define \
|
|
| sed "s/xyzzy\\$$//g" | sed "s/xyzzy//g" \
|
|
> pub/libvex_guest_offsets.h
|
|
rm -f auxprogs/genoffsets.s
|
|
|
|
#----------------------------------------------------------------------------
|
|
# vex_svnversion.h
|
|
#----------------------------------------------------------------------------
|
|
|
|
# The contents of vex_svnversion.h depends on the Vex revision number. The
|
|
# ideal way to deal with it would be if SVN had post-update hooks: we'd
|
|
# generate/regenerate it every time we did "svn co"/"svn up", and otherwise
|
|
# never delete it or regenerate it.
|
|
#
|
|
# But SVN lacks post-update hooks. So instead we generate it when building
|
|
# (it's in BUILT_SOURCES) if it's not present (we test for that in the
|
|
# generation rule), or if 'make version' is run. (Thus it can get
|
|
# out-of-date when developing; the 'make version' target lets that be
|
|
# remedied manually.) Otherwise, we never delete it or regenerate it (in
|
|
# particular, it is not present in CLEANFILES). Furthermore, at 'make dist'
|
|
# time, we regenerate it, and copy it into the dist tarball, thus ensuring
|
|
# the distributed version is up-to-date. Note that if a user manually
|
|
# deletes it and rebuilds, or does 'make dist' from a distributed version,
|
|
# it will be regenerated incorrectly, containing the string "exported"
|
|
# instead of the SVN revision number.
|
|
|
|
BUILT_SOURCES += priv/main_vex_svnversion.h
|
|
|
|
# Generate it at build time if not present. Nb: generating a file and
|
|
# putting it in $(srcdir) rather than $(builddir) seems like bad form. But
|
|
# because this file won't be regenerated post-distribution, then it's more
|
|
# like a non-generated file and so is reasonable to put in $(srcdir).
|
|
priv/main_vex_svnversion.h: version
|
|
if [ ! -f priv/main_vex_svnversion.h ] ; then \
|
|
mv $(top_srcdir)/vex_svnversion.h \
|
|
$(srcdir)/priv/main_vex_svnversion.h; \
|
|
else \
|
|
rm -f $(top_srcdir)/vex_svnversion.h; \
|
|
fi
|
|
|
|
# Regenerate it and copy it into the dist tarball at 'make dist' time.
|
|
dist-hook: version
|
|
mv $(top_srcdir)/vex_svnversion.h \
|
|
$(distdir)/priv/main_vex_svnversion.h
|
|
|
|
# Generate it.
|
|
version:
|
|
cat quote.txt > $(top_srcdir)/vex_svnversion.h
|
|
svnversion -n . >> $(top_srcdir)/vex_svnversion.h
|
|
cat quote.txt >> $(top_srcdir)/vex_svnversion.h
|
|
cat newline.txt >> $(top_srcdir)/vex_svnversion.h
|
|
|
|
#----------------------------------------------------------------------------
|
|
# libvex-<platform>.a
|
|
#----------------------------------------------------------------------------
|
|
|
|
pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
|
|
endif
|
|
|
|
LIBVEX_SOURCES_COMMON = \
|
|
priv/main_globals.c \
|
|
priv/main_main.c \
|
|
priv/main_util.c \
|
|
priv/ir_defs.c \
|
|
priv/ir_match.c \
|
|
priv/ir_opt.c \
|
|
priv/guest_generic_bb_to_IR.c \
|
|
priv/guest_generic_x87.c \
|
|
priv/guest_x86_helpers.c \
|
|
priv/guest_x86_toIR.c \
|
|
priv/guest_amd64_helpers.c \
|
|
priv/guest_amd64_toIR.c \
|
|
priv/guest_ppc_helpers.c \
|
|
priv/guest_ppc_toIR.c \
|
|
priv/guest_arm_helpers.c \
|
|
priv/guest_arm_toIR.c \
|
|
priv/host_generic_regs.c \
|
|
priv/host_generic_simd64.c \
|
|
priv/host_generic_reg_alloc2.c \
|
|
priv/host_x86_defs.c \
|
|
priv/host_x86_isel.c \
|
|
priv/host_amd64_defs.c \
|
|
priv/host_amd64_isel.c \
|
|
priv/host_ppc_defs.c \
|
|
priv/host_ppc_isel.c \
|
|
priv/host_arm_defs.c \
|
|
priv/host_arm_isel.c
|
|
|
|
LIBVEX_CFLAGS = \
|
|
-Wbad-function-cast \
|
|
-Wcast-qual \
|
|
-Wcast-align \
|
|
-fstrict-aliasing
|
|
|
|
libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
|
|
libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv
|
|
libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
|
|
$(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS)
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
|
|
libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv
|
|
libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
|
|
$(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS)
|
|
endif
|
|
|