Home | History | Annotate | Download | only in main
      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