| # 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_guest_tilegx.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/guest_tilegx_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/host_tilegx_defs.h \ |
| priv/s390_disasm.h \ |
| priv/s390_defs.h \ |
| priv/host_mips_defs.h \ |
| priv/tilegx_disasm.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 \ |
| pub/libvex_guest_tilegx.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/guest_tilegx_helpers.c \ |
| priv/guest_tilegx_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 \ |
| priv/host_tilegx_defs.c \ |
| priv/host_tilegx_isel.c \ |
| priv/tilegx_disasm.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 |
| |