# 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" \
	   | sed "s/xyzzy//g" \
	   > pub/libvex_guest_offsets.h
	rm -f auxprogs/genoffsets.s

#----------------------------------------------------------------------------
# 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

