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_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