# 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 \ auxprogs/genoffsets.c pkginclude_HEADERS = \ pub/libvex.h \ pub/libvex_basictypes.h \ pub/libvex_emnote.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_guest_arm64.h \ pub/libvex_guest_s390x.h \ pub/libvex_guest_mips32.h \ pub/libvex_guest_mips64.h \ pub/libvex_s390x_common.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/guest_arm64_defs.h \ priv/guest_s390_defs.h \ priv/guest_mips_defs.h \ priv/host_generic_regs.h \ priv/host_generic_simd64.h \ priv/host_generic_simd128.h \ priv/host_generic_simd256.h \ priv/host_generic_maddf.h \ priv/host_x86_defs.h \ priv/host_amd64_defs.h \ priv/host_ppc_defs.h \ priv/host_arm_defs.h \ priv/host_arm64_defs.h \ priv/host_s390_defs.h \ priv/s390_disasm.h \ priv/s390_defs.h \ priv/host_mips_defs.h BUILT_SOURCES = pub/libvex_guest_offsets.h CLEANFILES = pub/libvex_guest_offsets.h if COMPILER_IS_CLANG CFLAGS_FOR_GENOFFSETS = $(CFLAGS) -no-integrated-as else CFLAGS_FOR_GENOFFSETS = $(CFLAGS) endif # 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. # ICC also emits the constants differently with a leading # #define pub/libvex_guest_offsets.h: auxprogs/genoffsets.c \ pub/libvex_basictypes.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_guest_arm64.h \ pub/libvex_guest_s390x.h \ pub/libvex_guest_mips32.h \ pub/libvex_guest_mips64.h rm -f auxprogs/genoffsets.s $(mkdir_p) auxprogs pub $(CC) $(CFLAGS_FOR_GENOFFSETS) \ $(LIBVEX_CFLAGS) \ $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \ -O -S -o auxprogs/genoffsets.s \ $(srcdir)/auxprogs/genoffsets.c grep xyzzy auxprogs/genoffsets.s | grep "^[# ]*#define" \ | sed "s/# #define/#define/g" \ | sed "s/xyzzy\\$$//g" \ | sed "s/xyzzy#//g" \ | sed "s/xyzzy//g" \ > pub/libvex_guest_offsets.h rm -f auxprogs/genoffsets.s #---------------------------------------------------------------------------- # libvex-<platform>-<os>.a : containing all VEX objects, including # a main_main.o compiled in single arch (guest==host). # libvexmultiarch-<platform>-<os>.a, only containing multiarch_main_main.o, # which is main_main.c compiled so that any guest/host combination # can be done at runtime. #---------------------------------------------------------------------------- pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \ libvexmultiarch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a if VGCONF_HAVE_PLATFORM_SEC pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a \ libvexmultiarch-@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_inject.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/guest_arm64_helpers.c \ priv/guest_arm64_toIR.c \ priv/guest_s390_helpers.c \ priv/guest_s390_toIR.c \ priv/guest_mips_helpers.c \ priv/guest_mips_toIR.c \ priv/host_generic_regs.c \ priv/host_generic_simd64.c \ priv/host_generic_simd128.c \ priv/host_generic_simd256.c \ priv/host_generic_maddf.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 \ priv/host_arm64_defs.c \ priv/host_arm64_isel.c \ priv/host_s390_defs.c \ priv/host_s390_isel.c \ priv/s390_disasm.c \ priv/host_mips_defs.c \ priv/host_mips_isel.c LIBVEXMULTIARCH_SOURCES = priv/multiarch_main_main.c LIBVEX_CFLAGS = \ -Wbad-function-cast \ -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 libvexmultiarch_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \ $(LIBVEXMULTIARCH_SOURCES) libvexmultiarch_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \ $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv libvexmultiarch_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \ $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS) if VGCONF_HAVE_PLATFORM_SEC libvexmultiarch_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \ $(LIBVEXMULTIARCH_SOURCES) libvexmultiarch_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \ $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv libvexmultiarch_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \ $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS) endif