1 # VEX/Makefile is generated from this file at configure-time. 2 3 include $(top_srcdir)/Makefile.all.am 4 5 #---------------------------------------------------------------------------- 6 # Headers, etc 7 #---------------------------------------------------------------------------- 8 9 EXTRA_DIST = \ 10 HACKING.README \ 11 LICENSE.README \ 12 LICENSE.GPL \ 13 quote.txt \ 14 newline.txt \ 15 auxprogs/genoffsets.c 16 17 pkginclude_HEADERS = \ 18 pub/libvex.h \ 19 pub/libvex_basictypes.h \ 20 pub/libvex_emwarn.h \ 21 pub/libvex_guest_offsets.h \ 22 pub/libvex_guest_x86.h \ 23 pub/libvex_guest_amd64.h \ 24 pub/libvex_guest_ppc32.h \ 25 pub/libvex_guest_ppc64.h \ 26 pub/libvex_guest_arm.h \ 27 pub/libvex_ir.h \ 28 pub/libvex_trc_values.h 29 30 noinst_HEADERS = \ 31 priv/main_globals.h \ 32 priv/main_util.h \ 33 priv/ir_match.h \ 34 priv/ir_opt.h \ 35 priv/guest_generic_bb_to_IR.h \ 36 priv/guest_generic_x87.h \ 37 priv/guest_x86_defs.h \ 38 priv/guest_amd64_defs.h \ 39 priv/guest_ppc_defs.h \ 40 priv/guest_arm_defs.h \ 41 priv/host_generic_regs.h \ 42 priv/host_generic_simd64.h \ 43 priv/host_generic_simd128.h \ 44 priv/host_x86_defs.h \ 45 priv/host_amd64_defs.h \ 46 priv/host_ppc_defs.h \ 47 priv/host_arm_defs.h 48 49 BUILT_SOURCES = pub/libvex_guest_offsets.h 50 CLEANFILES = pub/libvex_guest_offsets.h 51 52 # This is very uggerly. Need to sed out both "xyzzyN" and 53 # "xyzzy$N" since gcc on different targets emits the constants 54 # differently -- with a leading $ on x86/amd64 but none on ppc32/64. 55 pub/libvex_guest_offsets.h: auxprogs/genoffsets.c \ 56 pub/libvex_basictypes.h \ 57 pub/libvex_guest_x86.h \ 58 pub/libvex_guest_amd64.h \ 59 pub/libvex_guest_ppc32.h \ 60 pub/libvex_guest_ppc64.h \ 61 pub/libvex_guest_arm.h 62 rm -f auxprogs/genoffsets.s 63 $(CC) $(LIBVEX_CFLAGS) \ 64 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \ 65 -O -S -o auxprogs/genoffsets.s \ 66 auxprogs/genoffsets.c 67 grep xyzzy auxprogs/genoffsets.s | grep define \ 68 | sed "s/xyzzy\\$$//g" \ 69 | sed "s/xyzzy#//g" \ 70 | sed "s/xyzzy//g" \ 71 > pub/libvex_guest_offsets.h 72 rm -f auxprogs/genoffsets.s 73 74 #---------------------------------------------------------------------------- 75 # libvex-<platform>.a 76 #---------------------------------------------------------------------------- 77 78 pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a 79 if VGCONF_HAVE_PLATFORM_SEC 80 pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a 81 endif 82 83 LIBVEX_SOURCES_COMMON = \ 84 priv/main_globals.c \ 85 priv/main_main.c \ 86 priv/main_util.c \ 87 priv/ir_defs.c \ 88 priv/ir_match.c \ 89 priv/ir_opt.c \ 90 priv/guest_generic_bb_to_IR.c \ 91 priv/guest_generic_x87.c \ 92 priv/guest_x86_helpers.c \ 93 priv/guest_x86_toIR.c \ 94 priv/guest_amd64_helpers.c \ 95 priv/guest_amd64_toIR.c \ 96 priv/guest_ppc_helpers.c \ 97 priv/guest_ppc_toIR.c \ 98 priv/guest_arm_helpers.c \ 99 priv/guest_arm_toIR.c \ 100 priv/host_generic_regs.c \ 101 priv/host_generic_simd64.c \ 102 priv/host_generic_simd128.c \ 103 priv/host_generic_reg_alloc2.c \ 104 priv/host_x86_defs.c \ 105 priv/host_x86_isel.c \ 106 priv/host_amd64_defs.c \ 107 priv/host_amd64_isel.c \ 108 priv/host_ppc_defs.c \ 109 priv/host_ppc_isel.c \ 110 priv/host_arm_defs.c \ 111 priv/host_arm_isel.c 112 113 LIBVEX_CFLAGS = \ 114 -Wbad-function-cast \ 115 -Wcast-qual \ 116 -Wcast-align \ 117 -fstrict-aliasing 118 119 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON) 120 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \ 121 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv 122 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \ 123 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS) 124 if VGCONF_HAVE_PLATFORM_SEC 125 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON) 126 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \ 127 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv 128 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \ 129 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS) 130 endif 131 132