blob: 2ad2f755737ca21c41d56e752d607857ba38f4ab [file] [log] [blame]
njn8b68b642009-06-24 00:37:09 +00001# VEX/Makefile is generated from this file at configure-time.
2
3include $(top_srcdir)/Makefile.all.am
4
5#----------------------------------------------------------------------------
6# Headers, etc
7#----------------------------------------------------------------------------
8
9EXTRA_DIST = \
10 HACKING.README \
11 LICENSE.README \
12 LICENSE.GPL \
13 quote.txt \
14 newline.txt \
15 auxprogs/genoffsets.c
16
17pkginclude_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_ir.h \
28 pub/libvex_trc_values.h
29
30noinst_HEADERS = \
sewardj27824a72009-07-02 12:23:16 +000031 priv/main_globals.h \
32 priv/main_util.h \
33 priv/ir_match.h \
34 priv/ir_opt.h \
35 priv/guest_generic_bb_to_IR.h \
36 priv/guest_generic_x87.h \
37 priv/guest_x86_defs.h \
38 priv/guest_amd64_defs.h \
39 priv/guest_ppc_defs.h \
40 priv/guest_arm_defs.h \
41 priv/host_generic_regs.h \
42 priv/host_generic_simd64.h \
43 priv/host_x86_defs.h \
44 priv/host_amd64_defs.h \
45 priv/host_ppc_defs.h \
46 priv/host_arm_defs.h
njn8b68b642009-06-24 00:37:09 +000047
48BUILT_SOURCES = pub/libvex_guest_offsets.h
49CLEANFILES = pub/libvex_guest_offsets.h
50
51# This is very uggerly. Need to sed out both "xyzzyN" and
52# "xyzzy$N" since gcc on different targets emits the constants
53# differently -- with a leading $ on x86/amd64 but none on ppc32/64.
54pub/libvex_guest_offsets.h:
55 rm -f auxprogs/genoffsets.s
56 $(CC) $(LIBVEX_CFLAGS) -O -S -o auxprogs/genoffsets.s \
57 auxprogs/genoffsets.c
58 grep xyzzy auxprogs/genoffsets.s | grep define \
59 | sed "s/xyzzy\\$$//g" | sed "s/xyzzy//g" \
60 > pub/libvex_guest_offsets.h
61 rm -f auxprogs/genoffsets.s
62
63#----------------------------------------------------------------------------
njn8b68b642009-06-24 00:37:09 +000064# libvex-<platform>.a
65#----------------------------------------------------------------------------
66
67pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
68if VGCONF_HAVE_PLATFORM_SEC
69pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
70endif
71
njn8b68b642009-06-24 00:37:09 +000072LIBVEX_SOURCES_COMMON = \
sewardj27824a72009-07-02 12:23:16 +000073 priv/main_globals.c \
74 priv/main_main.c \
75 priv/main_util.c \
76 priv/ir_defs.c \
77 priv/ir_match.c \
78 priv/ir_opt.c \
79 priv/guest_generic_bb_to_IR.c \
80 priv/guest_generic_x87.c \
81 priv/guest_x86_helpers.c \
82 priv/guest_x86_toIR.c \
83 priv/guest_amd64_helpers.c \
84 priv/guest_amd64_toIR.c \
85 priv/guest_ppc_helpers.c \
86 priv/guest_ppc_toIR.c \
87 priv/guest_arm_helpers.c \
88 priv/guest_arm_toIR.c \
89 priv/host_generic_regs.c \
90 priv/host_generic_simd64.c \
91 priv/host_generic_reg_alloc2.c \
92 priv/host_x86_defs.c \
93 priv/host_x86_isel.c \
94 priv/host_amd64_defs.c \
95 priv/host_amd64_isel.c \
96 priv/host_ppc_defs.c \
97 priv/host_ppc_isel.c \
98 priv/host_arm_defs.c \
99 priv/host_arm_isel.c
njn8b68b642009-06-24 00:37:09 +0000100
101LIBVEX_CFLAGS = \
102 -Wbad-function-cast \
103 -Wcast-qual \
104 -Wcast-align \
105 -fstrict-aliasing
106
107libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
108libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
109 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv
110libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
111 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS)
112if VGCONF_HAVE_PLATFORM_SEC
113libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
114libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
115 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv
116libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
117 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS)
118endif
119