blob: d4150e7d22e2aee1adca190027f1d71bfa4348dc [file] [log] [blame]
sewardj20e56c12004-03-31 22:08:37 +00001
sewardj887a11a2004-07-05 17:26:47 +00002PUB_HEADERS = pub/libvex_basictypes.h \
3 pub/libvex_ir.h \
sewardj7d0960d2004-09-06 23:22:55 +00004 pub/libvex.h \
5 pub/libvex_guest_x86.h
sewardj5cf515f2004-06-26 20:10:35 +00006
sewardjc0ee2ed2004-07-27 10:29:41 +00007PRIV_HEADERS = priv/host-x86/hdefs.h \
8 priv/host-generic/h_generic_regs.h \
sewardj887a11a2004-07-05 17:26:47 +00009 priv/main/vex_globals.h \
sewardjc9a65702004-07-07 16:32:57 +000010 priv/main/vex_util.h \
sewardj00ec7072004-08-18 13:58:59 +000011 priv/guest-x86/gdefs.h \
12 priv/ir/iropt.h
sewardj5cf515f2004-06-26 20:10:35 +000013
sewardjc0ee2ed2004-07-27 10:29:41 +000014LIB_OBJS = priv/ir/irdefs.o \
sewardja1a370f2004-08-17 13:31:55 +000015 priv/ir/iropt.o \
sewardj887a11a2004-07-05 17:26:47 +000016 priv/main/vex_main.o \
17 priv/main/vex_globals.o \
sewardj35421a32004-07-05 13:12:34 +000018 priv/main/vex_util.o \
sewardjc0ee2ed2004-07-27 10:29:41 +000019 priv/host-x86/hdefs.o \
20 priv/host-x86/isel.o \
21 priv/host-generic/h_generic_regs.o \
sewardjc9a65702004-07-07 16:32:57 +000022 priv/host-generic/reg_alloc.o \
sewardj432b1c92004-10-30 13:00:55 +000023 priv/host-generic/reg_alloc2.o \
sewardjc0ee2ed2004-07-27 10:29:41 +000024 priv/guest-x86/ghelpers.o \
25 priv/guest-x86/toIR.o
sewardj5cf515f2004-06-26 20:10:35 +000026
sewardjac9af022004-07-05 01:15:34 +000027PUB_INCLUDES = -Ipub
28
sewardjc0ee2ed2004-07-27 10:29:41 +000029# Do not add any priv/host-ARCH or priv/guest-ARCH directories to this
30# list, as they contain duplicate file names (each host has a hdefs.h,
31# for example).
32PRIV_INCLUDES = -Ipriv
sewardjac9af022004-07-05 01:15:34 +000033
34
sewardjc5841702004-10-27 09:15:47 +000035CC = gcc
sewardj8b3495d2004-09-21 23:38:04 +000036CCFLAGS = -g -O -Wall -Wshadow -Winline $(EXTRA_CFLAGS)
sewardj41f43bc2004-07-08 14:23:22 +000037
sewardje05c42c2004-07-08 20:25:10 +000038#CC = icc
39#CCFLAGS = -g -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \
40# -wd810 -wd1419 -wd181 -wd111 -wd167
sewardj41f43bc2004-07-08 14:23:22 +000041# 981: operands are evaluated in unspecified order
42# 279: controlling expression is constant
43# 1287: invalid attribute for parameter
44# 869: parameter "..." was never referenced
45# 810: conversion from "int" to "Char={char}" may lose significant bits
46# 181: argument is incompatible with corresponding format string conversion
47# 111: statement is unreachable
48# 167: argument of type unsigned char incompatible with formal of type char
sewardje05c42c2004-07-08 20:25:10 +000049# (the above are for icc 8.0 -- 8.0.0.55 I think)
sewardjac9af022004-07-05 01:15:34 +000050
sewardjbf31abd2004-07-25 00:07:35 +000051all: libvex.a
sewardjb52c1a52004-11-06 12:31:16 +000052 rm -f head20041019/coregrind/stage2
sewardj066aba52004-11-06 13:50:54 +000053 (cd head20041019/coregrind && make --quiet install)
54 (cd head20041019/none && make --quiet install)
55 (cd head20041019/lackey && make --quiet install)
56 (cd head20041019/addrcheck && make --quiet install)
57 (cd head20041019/memcheck && make --quiet install)
sewardjbf31abd2004-07-25 00:07:35 +000058
sewardjc0ee2ed2004-07-27 10:29:41 +000059vex: libvex.a test_main.o
sewardj80424fe2004-07-27 10:43:34 +000060 $(CC) $(CCFLAGS) -o vex test_main.o libvex.a
sewardjac9af022004-07-05 01:15:34 +000061
sewardj887a11a2004-07-05 17:26:47 +000062libvex.a: $(LIB_OBJS)
63 rm -f libvex.a
64 ar clq libvex.a $(LIB_OBJS)
sewardjac9af022004-07-05 01:15:34 +000065
sewardj5cf515f2004-06-26 20:10:35 +000066clean:
sewardjc0ee2ed2004-07-27 10:29:41 +000067 rm -f $(LIB_OBJS) libvex.a vex test_main.o
sewardjb0b47c92004-11-06 16:10:08 +000068 (cd head20041019 && make --quiet clean)
sewardjce605f92004-07-05 14:39:15 +000069
70
sewardj35421a32004-07-05 13:12:34 +000071ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS)
72ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES)
73
sewardjabe017e2004-10-29 23:42:36 +000074test_main.o: $(PUB_HEADERS) test_main.c test_main.h
sewardjce605f92004-07-05 14:39:15 +000075 $(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \
76 -c test_main.c
77
sewardjc0ee2ed2004-07-27 10:29:41 +000078priv/ir/irdefs.o: $(ALL_HEADERS) priv/ir/irdefs.c
79 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irdefs.o \
80 -c priv/ir/irdefs.c
sewardj35421a32004-07-05 13:12:34 +000081
sewardja1a370f2004-08-17 13:31:55 +000082priv/ir/iropt.o: $(ALL_HEADERS) priv/ir/iropt.c
83 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/iropt.o \
84 -c priv/ir/iropt.c
85
sewardj887a11a2004-07-05 17:26:47 +000086priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c
87 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_main.o \
88 -c priv/main/vex_main.c
sewardj35421a32004-07-05 13:12:34 +000089
sewardj887a11a2004-07-05 17:26:47 +000090priv/main/vex_globals.o: $(ALL_HEADERS) priv/main/vex_globals.c
91 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_globals.o \
92 -c priv/main/vex_globals.c
sewardj35421a32004-07-05 13:12:34 +000093
94priv/main/vex_util.o: $(ALL_HEADERS) priv/main/vex_util.c
95 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_util.o \
96 -c priv/main/vex_util.c
97
sewardj5a820d92004-07-27 09:50:39 +000098priv/host-x86/hdefs.o: $(ALL_HEADERS) priv/host-x86/hdefs.c
99 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/hdefs.o \
100 -c priv/host-x86/hdefs.c
sewardj35421a32004-07-05 13:12:34 +0000101
sewardj5a820d92004-07-27 09:50:39 +0000102priv/host-x86/isel.o: $(ALL_HEADERS) priv/host-x86/isel.c
103 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/isel.o \
104 -c priv/host-x86/isel.c
sewardj35421a32004-07-05 13:12:34 +0000105
sewardjc0ee2ed2004-07-27 10:29:41 +0000106priv/host-generic/h_generic_regs.o: $(ALL_HEADERS) priv/host-generic/h_generic_regs.c
107 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_regs.o \
108 -c priv/host-generic/h_generic_regs.c
sewardj35421a32004-07-05 13:12:34 +0000109
110priv/host-generic/reg_alloc.o: $(ALL_HEADERS) priv/host-generic/reg_alloc.c
111 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc.o \
112 -c priv/host-generic/reg_alloc.c
sewardj96b22392004-06-26 18:46:47 +0000113
sewardj432b1c92004-10-30 13:00:55 +0000114priv/host-generic/reg_alloc2.o: $(ALL_HEADERS) priv/host-generic/reg_alloc2.c
115 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc2.o \
116 -c priv/host-generic/reg_alloc2.c
117
sewardjc0ee2ed2004-07-27 10:29:41 +0000118priv/guest-x86/toIR.o: $(ALL_HEADERS) priv/guest-x86/toIR.c
119 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/toIR.o \
120 -c priv/guest-x86/toIR.c
sewardj36ca5132004-07-24 13:12:23 +0000121
sewardjc0ee2ed2004-07-27 10:29:41 +0000122priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
123 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
124 -c priv/guest-x86/ghelpers.c