sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 1 | |
| 2 | PUB_HEADERS = pub/libvex_basictypes.h \ |
| 3 | pub/libvex_ir.h \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 4 | pub/libvex.h \ |
| 5 | pub/libvex_trc_values.h \ |
| 6 | pub/libvex_emwarn.h \ |
| 7 | pub/libvex_guest_x86.h \ |
| 8 | pub/libvex_guest_amd64.h \ |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 9 | pub/libvex_guest_arm.h \ |
| 10 | pub/libvex_guest_ppc32.h |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 11 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 12 | PRIV_HEADERS = priv/host-x86/hdefs.h \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 13 | priv/host-arm/hdefs.h \ |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 14 | priv/host-generic/h_generic_regs.h \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 15 | priv/host-generic/h_generic_simd64.h \ |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 16 | priv/main/vex_globals.h \ |
| 17 | priv/main/vex_util.h \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 18 | priv/guest-x86/gdefs.h \ |
| 19 | priv/guest-amd64/gdefs.h \ |
| 20 | priv/guest-arm/gdefs.h \ |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 21 | priv/guest-ppc32/gdefs.h \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 22 | priv/ir/irmatch.h \ |
| 23 | priv/ir/iropt.h |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 24 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 25 | LIB_OBJS = priv/ir/irdefs.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 26 | priv/ir/irmatch.o \ |
| 27 | priv/ir/iropt.o \ |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 28 | priv/main/vex_main.o \ |
| 29 | priv/main/vex_globals.o \ |
| 30 | priv/main/vex_util.o \ |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 31 | priv/host-x86/hdefs.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 32 | priv/host-arm/hdefs.o \ |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 33 | priv/host-x86/isel.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 34 | priv/host-arm/isel.o \ |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 35 | priv/host-generic/h_generic_regs.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 36 | priv/host-generic/h_generic_simd64.o \ |
| 37 | priv/host-generic/reg_alloc2.o \ |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 38 | priv/guest-x86/ghelpers.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 39 | priv/guest-amd64/ghelpers.o \ |
| 40 | priv/guest-arm/ghelpers.o \ |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 41 | priv/guest-ppc32/ghelpers.o \ |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 42 | priv/guest-x86/toIR.o \ |
| 43 | priv/guest-amd64/toIR.o \ |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 44 | priv/guest-arm/toIR.o \ |
| 45 | priv/guest-ppc32/toIR.o |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 46 | |
| 47 | PUB_INCLUDES = -Ipub |
| 48 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 49 | # Do not add any priv/host-ARCH or priv/guest-ARCH directories to this |
| 50 | # list, as they contain duplicate file names (each host has a hdefs.h, |
| 51 | # for example). |
| 52 | PRIV_INCLUDES = -Ipriv |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 53 | |
| 54 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 55 | #CC = gcc |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 56 | #CCFLAGS = -g -O -Wall -Wmissing-prototypes -Wshadow -Winline \ |
| 57 | # -Wpointer-arith -Wbad-function-cast -Wcast-qual \ |
| 58 | # -Wcast-align -Wmissing-declarations -Wmissing-format-attribute \ |
| 59 | # $(EXTRA_CFLAGS) |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 60 | |
| 61 | CC = icc |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 62 | CCFLAGS = -g -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \ |
| 63 | -wd810 -wd1419 -wd181 -wd111 -wd167 |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 64 | # 981: operands are evaluated in unspecified order |
| 65 | # 279: controlling expression is constant |
| 66 | # 1287: invalid attribute for parameter |
| 67 | # 869: parameter "..." was never referenced |
| 68 | # 810: conversion from "int" to "Char={char}" may lose significant bits |
| 69 | # 181: argument is incompatible with corresponding format string conversion |
| 70 | # 111: statement is unreachable |
| 71 | # 167: argument of type unsigned char incompatible with formal of type char |
| 72 | # (the above are for icc 8.0 -- 8.0.0.55 I think) |
| 73 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 74 | all: vex |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 75 | |
| 76 | vex: libvex.a test_main.o |
| 77 | $(CC) $(CCFLAGS) -o vex test_main.o libvex.a |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 78 | |
| 79 | libvex.a: $(LIB_OBJS) |
| 80 | rm -f libvex.a |
| 81 | ar clq libvex.a $(LIB_OBJS) |
| 82 | |
| 83 | clean: |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 84 | rm -f $(LIB_OBJS) libvex.a vex test_main.o priv/main/vex_svnversion.h |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 85 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 86 | version: |
| 87 | rm -f priv/main/vex_svnversion.h |
| 88 | echo -n "\"" > priv/main/vex_svnversion.h |
| 89 | svnversion -n . >> priv/main/vex_svnversion.h |
| 90 | echo "\"" >> priv/main/vex_svnversion.h |
| 91 | |
| 92 | minidist: version |
| 93 | rm -f vex--minidist-2005MMDD.tar |
| 94 | tar cf vex--minidist-2005MMDD.tar $(PUB_HEADERS) $(PRIV_HEADERS) \ |
| 95 | priv/main/vex_svnversion.h \ |
| 96 | test_main.c test_main.h \ |
| 97 | Makefile \ |
| 98 | `echo $(LIB_OBJS) | sed "s/\.o/\.c/g"` |
| 99 | @echo |
| 100 | @echo minidist done, size and svnversion follow: |
| 101 | @ls -l vex--minidist-2005MMDD.tar |
| 102 | @cat priv/main/vex_svnversion.h |
| 103 | @echo |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 104 | |
| 105 | |
| 106 | ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS) |
| 107 | ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES) |
| 108 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 109 | test_main.o: $(PUB_HEADERS) test_main.c test_main.h |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 110 | $(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \ |
| 111 | -c test_main.c |
| 112 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 113 | priv/ir/irdefs.o: $(ALL_HEADERS) priv/ir/irdefs.c |
| 114 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irdefs.o \ |
| 115 | -c priv/ir/irdefs.c |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 116 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 117 | priv/ir/irmatch.o: $(ALL_HEADERS) priv/ir/irmatch.c |
| 118 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irmatch.o \ |
| 119 | -c priv/ir/irmatch.c |
| 120 | |
| 121 | priv/ir/iropt.o: $(ALL_HEADERS) priv/ir/iropt.c |
| 122 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/iropt.o \ |
| 123 | -c priv/ir/iropt.c |
| 124 | |
| 125 | priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c \ |
| 126 | priv/main/vex_svnversion.h |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 127 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_main.o \ |
| 128 | -c priv/main/vex_main.c |
| 129 | |
| 130 | priv/main/vex_globals.o: $(ALL_HEADERS) priv/main/vex_globals.c |
| 131 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_globals.o \ |
| 132 | -c priv/main/vex_globals.c |
| 133 | |
| 134 | priv/main/vex_util.o: $(ALL_HEADERS) priv/main/vex_util.c |
| 135 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_util.o \ |
| 136 | -c priv/main/vex_util.c |
| 137 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 138 | priv/host-x86/hdefs.o: $(ALL_HEADERS) priv/host-x86/hdefs.c |
| 139 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/hdefs.o \ |
| 140 | -c priv/host-x86/hdefs.c |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 141 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 142 | priv/host-arm/hdefs.o: $(ALL_HEADERS) priv/host-arm/hdefs.c |
| 143 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-arm/hdefs.o \ |
| 144 | -c priv/host-arm/hdefs.c |
| 145 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 146 | priv/host-x86/isel.o: $(ALL_HEADERS) priv/host-x86/isel.c |
| 147 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/isel.o \ |
| 148 | -c priv/host-x86/isel.c |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 149 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 150 | priv/host-arm/isel.o: $(ALL_HEADERS) priv/host-arm/isel.c |
| 151 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-arm/isel.o \ |
| 152 | -c priv/host-arm/isel.c |
| 153 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 154 | priv/host-generic/h_generic_regs.o: $(ALL_HEADERS) priv/host-generic/h_generic_regs.c |
| 155 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_regs.o \ |
| 156 | -c priv/host-generic/h_generic_regs.c |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 157 | |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 158 | priv/host-generic/h_generic_simd64.o: $(ALL_HEADERS) priv/host-generic/h_generic_simd64.c |
| 159 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_simd64.o \ |
| 160 | -c priv/host-generic/h_generic_simd64.c |
| 161 | |
| 162 | priv/host-generic/reg_alloc2.o: $(ALL_HEADERS) priv/host-generic/reg_alloc2.c |
| 163 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc2.o \ |
| 164 | -c priv/host-generic/reg_alloc2.c |
sewardj | c5bfaee | 2004-07-22 17:25:03 +0000 | [diff] [blame] | 165 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 166 | priv/guest-x86/toIR.o: $(ALL_HEADERS) priv/guest-x86/toIR.c |
| 167 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/toIR.o \ |
| 168 | -c priv/guest-x86/toIR.c |
sewardj | 36ca513 | 2004-07-24 13:12:23 +0000 | [diff] [blame] | 169 | |
sewardj | d7383ba | 2004-07-27 10:54:21 +0000 | [diff] [blame] | 170 | priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c |
| 171 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \ |
| 172 | -c priv/guest-x86/ghelpers.c |
sewardj | 37a47aa | 2005-01-21 20:54:33 +0000 | [diff] [blame] | 173 | |
| 174 | priv/guest-amd64/ghelpers.o: $(ALL_HEADERS) priv/guest-amd64/ghelpers.c |
| 175 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-amd64/ghelpers.o \ |
| 176 | -c priv/guest-amd64/ghelpers.c |
| 177 | |
| 178 | priv/guest-amd64/toIR.o: $(ALL_HEADERS) priv/guest-amd64/toIR.c |
| 179 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-amd64/toIR.o \ |
| 180 | -c priv/guest-amd64/toIR.c |
| 181 | |
| 182 | priv/guest-arm/ghelpers.o: $(ALL_HEADERS) priv/guest-arm/ghelpers.c |
| 183 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-arm/ghelpers.o \ |
| 184 | -c priv/guest-arm/ghelpers.c |
| 185 | |
| 186 | priv/guest-arm/toIR.o: $(ALL_HEADERS) priv/guest-arm/toIR.c |
| 187 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-arm/toIR.o \ |
| 188 | -c priv/guest-arm/toIR.c |
sewardj | 4206584 | 2005-01-27 16:04:08 +0000 | [diff] [blame] | 189 | |
| 190 | priv/guest-ppc32/ghelpers.o: $(ALL_HEADERS) priv/guest-ppc32/ghelpers.c |
| 191 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-ppc32/ghelpers.o \ |
| 192 | -c priv/guest-ppc32/ghelpers.c |
| 193 | |
| 194 | priv/guest-ppc32/toIR.o: $(ALL_HEADERS) priv/guest-ppc32/toIR.c |
| 195 | $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-ppc32/toIR.o \ |
| 196 | -c priv/guest-ppc32/toIR.c |