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