1 # VEX/Makefile is generated from this file at configure-time.
3 include $(top_srcdir)/Makefile.all.am
5 #----------------------------------------------------------------------------
7 #----------------------------------------------------------------------------
17 pkginclude_HEADERS = \
19 pub/libvex_basictypes.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 \
30 pub/libvex_trc_values.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
54 BUILT_SOURCES = pub/libvex_guest_offsets.h
55 CLEANFILES = pub/libvex_guest_offsets.h
56 VEX_SRC = $(top_srcdir)/VEX
58 # This is very uggerly. Need to sed out both "xyzzyN" and
59 # "xyzzy$N" since gcc on different targets emits the constants
60 # differently -- with a leading $ on x86/amd64 but none on ppc32/64.
61 pub/libvex_guest_offsets.h: auxprogs/genoffsets.c \
62 pub/libvex_basictypes.h \
63 pub/libvex_guest_x86.h \
64 pub/libvex_guest_amd64.h \
65 pub/libvex_guest_ppc32.h \
66 pub/libvex_guest_ppc64.h \
67 pub/libvex_guest_arm.h \
68 pub/libvex_guest_s390x.h
72 rm -f auxprogs/genoffsets.s
73 $(CC) $(LIBVEX_CFLAGS) \
74 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
75 -O -S -o auxprogs/genoffsets.s \
76 $(VEX_SRC)/auxprogs/genoffsets.c
77 grep xyzzy auxprogs/genoffsets.s | grep define \
78 | sed "s/xyzzy\\$$//g" \
81 > pub/libvex_guest_offsets.h
82 rm -f auxprogs/genoffsets.s
84 #----------------------------------------------------------------------------
86 #----------------------------------------------------------------------------
88 pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
89 if VGCONF_HAVE_PLATFORM_SEC
90 pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
93 LIBVEX_SOURCES_COMMON = \
100 priv/guest_generic_bb_to_IR.c \
101 priv/guest_generic_x87.c \
102 priv/guest_x86_helpers.c \
103 priv/guest_x86_toIR.c \
104 priv/guest_amd64_helpers.c \
105 priv/guest_amd64_toIR.c \
106 priv/guest_ppc_helpers.c \
107 priv/guest_ppc_toIR.c \
108 priv/guest_arm_helpers.c \
109 priv/guest_arm_toIR.c \
110 priv/guest_s390_helpers.c \
111 priv/guest_s390_toIR.c \
112 priv/host_generic_regs.c \
113 priv/host_generic_simd64.c \
114 priv/host_generic_simd128.c \
115 priv/host_generic_reg_alloc2.c \
116 priv/host_x86_defs.c \
117 priv/host_x86_isel.c \
118 priv/host_amd64_defs.c \
119 priv/host_amd64_isel.c \
120 priv/host_ppc_defs.c \
121 priv/host_ppc_isel.c \
122 priv/host_arm_defs.c \
123 priv/host_arm_isel.c \
124 priv/host_s390_defs.c \
125 priv/host_s390_isel.c \
126 priv/host_s390_disasm.c
129 -Wbad-function-cast \
134 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
135 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
136 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv
137 libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
138 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS)
139 if VGCONF_HAVE_PLATFORM_SEC
140 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
141 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
142 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv
143 libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
144 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS)