blob: ddb5374567f194365d2c2ba73dbf5533767b299c [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 \
florian7452db82012-08-25 21:48:22 +000020 pub/libvex_emnote.h \
njn8b68b642009-06-24 00:37:09 +000021 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 \
sewardjb5b87402011-03-07 16:05:35 +000027 pub/libvex_guest_s390x.h \
sewardj5db15402012-06-07 09:13:21 +000028 pub/libvex_guest_mips32.h \
sewardj57300312011-03-07 16:42:02 +000029 pub/libvex_s390x_common.h \
njn8b68b642009-06-24 00:37:09 +000030 pub/libvex_ir.h \
31 pub/libvex_trc_values.h
32
33noinst_HEADERS = \
sewardj27824a72009-07-02 12:23:16 +000034 priv/main_globals.h \
35 priv/main_util.h \
36 priv/ir_match.h \
37 priv/ir_opt.h \
38 priv/guest_generic_bb_to_IR.h \
39 priv/guest_generic_x87.h \
40 priv/guest_x86_defs.h \
41 priv/guest_amd64_defs.h \
42 priv/guest_ppc_defs.h \
43 priv/guest_arm_defs.h \
sewardjb5b87402011-03-07 16:05:35 +000044 priv/guest_s390_defs.h \
sewardj5db15402012-06-07 09:13:21 +000045 priv/guest_mips_defs.h \
sewardj27824a72009-07-02 12:23:16 +000046 priv/host_generic_regs.h \
47 priv/host_generic_simd64.h \
sewardjb823b852010-06-18 08:18:38 +000048 priv/host_generic_simd128.h \
sewardj27824a72009-07-02 12:23:16 +000049 priv/host_x86_defs.h \
50 priv/host_amd64_defs.h \
51 priv/host_ppc_defs.h \
sewardjb5b87402011-03-07 16:05:35 +000052 priv/host_arm_defs.h \
53 priv/host_s390_defs.h \
florian4b2e2df2012-09-20 01:22:53 +000054 priv/s390_disasm.h \
florian142a4ba2012-12-24 00:16:23 +000055 priv/s390_defs.h \
sewardj5db15402012-06-07 09:13:21 +000056 priv/host_mips_defs.h
njn8b68b642009-06-24 00:37:09 +000057
58BUILT_SOURCES = pub/libvex_guest_offsets.h
59CLEANFILES = pub/libvex_guest_offsets.h
60
61# This is very uggerly. Need to sed out both "xyzzyN" and
62# "xyzzy$N" since gcc on different targets emits the constants
63# differently -- with a leading $ on x86/amd64 but none on ppc32/64.
sewardjf3d5c6e2010-09-28 15:09:47 +000064pub/libvex_guest_offsets.h: auxprogs/genoffsets.c \
65 pub/libvex_basictypes.h \
66 pub/libvex_guest_x86.h \
67 pub/libvex_guest_amd64.h \
68 pub/libvex_guest_ppc32.h \
69 pub/libvex_guest_ppc64.h \
sewardjb5b87402011-03-07 16:05:35 +000070 pub/libvex_guest_arm.h \
sewardj5db15402012-06-07 09:13:21 +000071 pub/libvex_guest_s390x.h \
72 pub/libvex_guest_mips32.h
njn8b68b642009-06-24 00:37:09 +000073 rm -f auxprogs/genoffsets.s
sewardj51331e12011-07-07 14:05:39 +000074 $(CC) $(CFLAGS) \
75 $(LIBVEX_CFLAGS) \
sewardj76cd8d72010-08-22 11:51:26 +000076 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
77 -O -S -o auxprogs/genoffsets.s \
78 auxprogs/genoffsets.c
florianf71b35a2012-04-22 19:27:44 +000079 grep xyzzy auxprogs/genoffsets.s | grep "^#define" \
sewardj59570ff2010-01-01 11:59:33 +000080 | sed "s/xyzzy\\$$//g" \
81 | sed "s/xyzzy#//g" \
82 | sed "s/xyzzy//g" \
njn8b68b642009-06-24 00:37:09 +000083 > pub/libvex_guest_offsets.h
84 rm -f auxprogs/genoffsets.s
85
86#----------------------------------------------------------------------------
njn8b68b642009-06-24 00:37:09 +000087# libvex-<platform>.a
88#----------------------------------------------------------------------------
89
90pkglib_LIBRARIES = libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
91if VGCONF_HAVE_PLATFORM_SEC
92pkglib_LIBRARIES += libvex-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
93endif
94
njn8b68b642009-06-24 00:37:09 +000095LIBVEX_SOURCES_COMMON = \
sewardj27824a72009-07-02 12:23:16 +000096 priv/main_globals.c \
97 priv/main_main.c \
98 priv/main_util.c \
99 priv/ir_defs.c \
florianbb913cd2012-08-28 16:50:39 +0000100 priv/ir_inject.c \
sewardj27824a72009-07-02 12:23:16 +0000101 priv/ir_match.c \
102 priv/ir_opt.c \
103 priv/guest_generic_bb_to_IR.c \
104 priv/guest_generic_x87.c \
105 priv/guest_x86_helpers.c \
106 priv/guest_x86_toIR.c \
107 priv/guest_amd64_helpers.c \
108 priv/guest_amd64_toIR.c \
109 priv/guest_ppc_helpers.c \
110 priv/guest_ppc_toIR.c \
111 priv/guest_arm_helpers.c \
112 priv/guest_arm_toIR.c \
sewardjb5b87402011-03-07 16:05:35 +0000113 priv/guest_s390_helpers.c \
114 priv/guest_s390_toIR.c \
sewardj5db15402012-06-07 09:13:21 +0000115 priv/guest_mips_helpers.c \
116 priv/guest_mips_toIR.c \
sewardj27824a72009-07-02 12:23:16 +0000117 priv/host_generic_regs.c \
118 priv/host_generic_simd64.c \
sewardjb823b852010-06-18 08:18:38 +0000119 priv/host_generic_simd128.c \
sewardj27824a72009-07-02 12:23:16 +0000120 priv/host_generic_reg_alloc2.c \
121 priv/host_x86_defs.c \
122 priv/host_x86_isel.c \
123 priv/host_amd64_defs.c \
124 priv/host_amd64_isel.c \
125 priv/host_ppc_defs.c \
126 priv/host_ppc_isel.c \
127 priv/host_arm_defs.c \
sewardjb5b87402011-03-07 16:05:35 +0000128 priv/host_arm_isel.c \
129 priv/host_s390_defs.c \
130 priv/host_s390_isel.c \
florian4b2e2df2012-09-20 01:22:53 +0000131 priv/s390_disasm.c \
sewardj5db15402012-06-07 09:13:21 +0000132 priv/host_mips_defs.c \
133 priv/host_mips_isel.c
njn8b68b642009-06-24 00:37:09 +0000134
135LIBVEX_CFLAGS = \
136 -Wbad-function-cast \
137 -Wcast-qual \
138 -Wcast-align \
139 -fstrict-aliasing
140
141libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
142libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
143 $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -Ipriv
144libvex_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
145 $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(LIBVEX_CFLAGS)
146if VGCONF_HAVE_PLATFORM_SEC
147libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = $(LIBVEX_SOURCES_COMMON)
148libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
149 $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -Ipriv
150libvex_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
151 $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(LIBVEX_CFLAGS)
152endif
153