blob: 918f79043c4d384f6bb599c2b0526254597a8042 [file] [log] [blame]
sewardjc5bfaee2004-07-22 17:25:03 +00001
2PUB_HEADERS = pub/libvex_basictypes.h \
3 pub/libvex_ir.h \
4 pub/libvex.h
5
sewardjd7383ba2004-07-27 10:54:21 +00006PRIV_HEADERS = priv/host-x86/hdefs.h \
7 priv/host-generic/h_generic_regs.h \
sewardjc5bfaee2004-07-22 17:25:03 +00008 priv/main/vex_globals.h \
9 priv/main/vex_util.h \
sewardjd7383ba2004-07-27 10:54:21 +000010 priv/guest-x86/gdefs.h
sewardjc5bfaee2004-07-22 17:25:03 +000011
sewardjd7383ba2004-07-27 10:54:21 +000012LIB_OBJS = priv/ir/irdefs.o \
sewardjc5bfaee2004-07-22 17:25:03 +000013 priv/main/vex_main.o \
14 priv/main/vex_globals.o \
15 priv/main/vex_util.o \
sewardjd7383ba2004-07-27 10:54:21 +000016 priv/host-x86/hdefs.o \
17 priv/host-x86/isel.o \
18 priv/host-generic/h_generic_regs.o \
sewardjc5bfaee2004-07-22 17:25:03 +000019 priv/host-generic/reg_alloc.o \
sewardjd7383ba2004-07-27 10:54:21 +000020 priv/guest-x86/ghelpers.o \
21 priv/guest-x86/toIR.o
sewardjc5bfaee2004-07-22 17:25:03 +000022
23PUB_INCLUDES = -Ipub
24
sewardjd7383ba2004-07-27 10:54:21 +000025# Do not add any priv/host-ARCH or priv/guest-ARCH directories to this
26# list, as they contain duplicate file names (each host has a hdefs.h,
27# for example).
28PRIV_INCLUDES = -Ipriv
sewardjc5bfaee2004-07-22 17:25:03 +000029
30
31#CC = gcc341
sewardjd7383ba2004-07-27 10:54:21 +000032#CCFLAGS = -g -Wall -Wshadow $(EXTRA_CFLAGS)
sewardjc5bfaee2004-07-22 17:25:03 +000033
34CC = icc
35CCFLAGS = -g -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \
sewardjd7383ba2004-07-27 10:54:21 +000036 -wd810 -wd1419 -wd181 -wd111 -wd167 $(EXTRA_CFLAGS)
sewardjc5bfaee2004-07-22 17:25:03 +000037# 981: operands are evaluated in unspecified order
38# 279: controlling expression is constant
39# 1287: invalid attribute for parameter
40# 869: parameter "..." was never referenced
41# 810: conversion from "int" to "Char={char}" may lose significant bits
42# 181: argument is incompatible with corresponding format string conversion
43# 111: statement is unreachable
44# 167: argument of type unsigned char incompatible with formal of type char
45# (the above are for icc 8.0 -- 8.0.0.55 I think)
46
sewardjd7383ba2004-07-27 10:54:21 +000047all: libvex.a
48 rm -f hacked104/valgrind.so
49 (cd hacked104 && make install)
50
51vex: libvex.a test_main.o
52 $(CC) $(CCFLAGS) -o vex test_main.o libvex.a
sewardjc5bfaee2004-07-22 17:25:03 +000053
54libvex.a: $(LIB_OBJS)
55 rm -f libvex.a
56 ar clq libvex.a $(LIB_OBJS)
57
58clean:
sewardjd7383ba2004-07-27 10:54:21 +000059 rm -f $(LIB_OBJS) libvex.a vex test_main.o
60 (cd hacked104 && make clean)
sewardjc5bfaee2004-07-22 17:25:03 +000061
62
63
64ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS)
65ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES)
66
67test_main.o: $(PUB_HEADERS) test_main.c
68 $(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \
69 -c test_main.c
70
sewardjd7383ba2004-07-27 10:54:21 +000071priv/ir/irdefs.o: $(ALL_HEADERS) priv/ir/irdefs.c
72 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irdefs.o \
73 -c priv/ir/irdefs.c
sewardjc5bfaee2004-07-22 17:25:03 +000074
75priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c
76 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_main.o \
77 -c priv/main/vex_main.c
78
79priv/main/vex_globals.o: $(ALL_HEADERS) priv/main/vex_globals.c
80 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_globals.o \
81 -c priv/main/vex_globals.c
82
83priv/main/vex_util.o: $(ALL_HEADERS) priv/main/vex_util.c
84 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_util.o \
85 -c priv/main/vex_util.c
86
sewardjd7383ba2004-07-27 10:54:21 +000087priv/host-x86/hdefs.o: $(ALL_HEADERS) priv/host-x86/hdefs.c
88 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/hdefs.o \
89 -c priv/host-x86/hdefs.c
sewardjc5bfaee2004-07-22 17:25:03 +000090
sewardjd7383ba2004-07-27 10:54:21 +000091priv/host-x86/isel.o: $(ALL_HEADERS) priv/host-x86/isel.c
92 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/isel.o \
93 -c priv/host-x86/isel.c
sewardjc5bfaee2004-07-22 17:25:03 +000094
sewardjd7383ba2004-07-27 10:54:21 +000095priv/host-generic/h_generic_regs.o: $(ALL_HEADERS) priv/host-generic/h_generic_regs.c
96 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_regs.o \
97 -c priv/host-generic/h_generic_regs.c
sewardjc5bfaee2004-07-22 17:25:03 +000098
99priv/host-generic/reg_alloc.o: $(ALL_HEADERS) priv/host-generic/reg_alloc.c
100 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc.o \
101 -c priv/host-generic/reg_alloc.c
102
sewardjd7383ba2004-07-27 10:54:21 +0000103priv/guest-x86/toIR.o: $(ALL_HEADERS) priv/guest-x86/toIR.c
104 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/toIR.o \
105 -c priv/guest-x86/toIR.c
sewardj36ca5132004-07-24 13:12:23 +0000106
sewardjd7383ba2004-07-27 10:54:21 +0000107priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
108 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
109 -c priv/guest-x86/ghelpers.c