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_guest_s390x.h \ 28 pub/libvex_s390x_common.h \ 29 pub/libvex_ir.h \ 30 pub/libvex_trc_values.h 31 32 noinst_HEADERS = \ 33 priv/main_globals.h \ 34 priv/main_util.h \ 35 priv/ir_match.h \ 36 priv/ir_opt.h \ 37 priv/guest_generic_bb_to_IR.h \ 38 priv/guest_generic_x87.h \ 39 priv/guest_x86_defs.h \ 40 priv/guest_amd64_defs.h \ 41 priv/guest_ppc_defs.h \ 42 priv/guest_arm_defs.h \ 43 priv/guest_s390_defs.h \ 44 priv/host_generic_regs.h \ 45 priv/host_generic_simd64.h \ 46 priv/host_generic_simd128.h \ 47 priv/host_x86_defs.h \ 48 priv/host_amd64_defs.h \ 49 priv/host_ppc_defs.h \ 50 priv/host_arm_defs.h \ 51 priv/host_s390_defs.h \ 52 priv/host_s390_disasm.h 53 54 BUILT_SOURCES = pub/libvex_guest_offsets.h 55 CLEANFILES = pub/libvex_guest_offsets.h 56 57 # This is very uggerly. Need to sed out both "xyzzyN" and 58 # "xyzzy$N" since gcc on different targets emits the constants 59 # differently -- with a leading $ on x86/amd64 but none on ppc32/64. 60 pub/libvex_guest_offsets.h: auxprogs/genoffsets.c \ 61 pub/libvex_basictypes.h \ 62 pub/libvex_guest_x86.h \ 63 pub/libvex_guest_amd64.h \ 64 pub/libvex_guest_ppc32.h \ 65 pub/libvex_guest_ppc64.h \ 66 pub/libvex_guest_arm.h \ 67 pub/libvex_guest_s390x.h 68 rm -f auxprogs/genoffsets.s 69 $(CC) $(CFLAGS) \ 70 $(LIBVEX_CFLAGS) \ 71 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \ 72 -O -S -o auxprogs/genoffsets.s \ 73 auxprogs/genoffsets.c 74 grep xyzzy auxprogs/genoffsets.s | grep define \ 75 | sed "s/xyzzy\\$$//g" \ 76 | sed "s/xyzzy#//g" \ 77 | sed "s/xyzzy//g" \ 78 > pub/libvex_guest_offsets.h 79 rm -f auxprogs/genoffsets.s 80 81 #---------------------------------------------------------------------------- 82 # libvex-<platform>.a 83 #---------------------------------------------------------------------------- 84 85 pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a 86 if VGCONF_HAVE_PLATFORM_SEC 87 pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a 88 endif 89 90 LIBVEX_SOURCES_COMMON = \ 91 priv/main_globals.c \ 92 priv/main_main.c \ 93 priv/main_util.c \ 94 priv/ir_defs.c \ 95 priv/ir_match.c \ 96 priv/ir_opt.c \ 97 priv/guest_generic_bb_to_IR.c \ 98 priv/guest_generic_x87.c \ 99 priv/guest_x86_helpers.c \ 100 priv/guest_x86_toIR.c \ 101 priv/guest_amd64_helpers.c \ 102 priv/guest_amd64_toIR.c \ 103 priv/guest_ppc_helpers.c \ 104 priv/guest_ppc_toIR.c \ 105 priv/guest_arm_helpers.c \ 106 priv/guest_arm_toIR.c \ 107 priv/guest_s390_helpers.c \ 108 priv/guest_s390_toIR.c \ 109 priv/host_generic_regs.c \ 110 priv/host_generic_simd64.c \ 111 priv/host_generic_simd128.c \ 112 priv/host_generic_reg_alloc2.c \ 113 priv/host_x86_defs.c \ 114 priv/host_x86_isel.c \ 115 priv/host_amd64_defs.c \ 116 priv/host_amd64_isel.c \ 117 priv/host_ppc_defs.c \ 118 priv/host_ppc_isel.c \ 119 priv/host_arm_defs.c \ 120 priv/host_arm_isel.c \ 121 priv/host_s390_defs.c \ 122 priv/host_s390_isel.c \ 123 priv/host_s390_disasm.c 124 125 LIBVEX_CFLAGS = \ 126 -Wbad-function-cast \ 127 -Wcast-qual \ 128 -Wcast-align \ 129 -fstrict-aliasing 130 131 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON) 132 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \ 133 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv 134 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \ 135 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS) 136 if VGCONF_HAVE_PLATFORM_SEC 137 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON) 138 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \ 139 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv 140 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \ 141 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS) 142 endif 143 144