blob: 8608a16e9810becb4bbd2acfaeb073e2e947339d [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 \
4 pub/libvex.h
sewardj5cf515f2004-06-26 20:10:35 +00005
sewardj8af36f12004-07-21 18:53:20 +00006PRIV_HEADERS = priv/host-x86/x86host_defs.h \
sewardj35421a32004-07-05 13:12:34 +00007 priv/host-generic/host_regs.h \
sewardj887a11a2004-07-05 17:26:47 +00008 priv/main/vex_globals.h \
sewardjc9a65702004-07-07 16:32:57 +00009 priv/main/vex_util.h \
10 priv/guest-x86/x86guest_defs.h
sewardj5cf515f2004-06-26 20:10:35 +000011
sewardjc9a65702004-07-07 16:32:57 +000012LIB_OBJS = priv/ir/ir_defs.o \
sewardj887a11a2004-07-05 17:26:47 +000013 priv/main/vex_main.o \
14 priv/main/vex_globals.o \
sewardj35421a32004-07-05 13:12:34 +000015 priv/main/vex_util.o \
sewardj8af36f12004-07-21 18:53:20 +000016 priv/host-x86/x86host_defs.o \
sewardjac9af022004-07-05 01:15:34 +000017 priv/host-x86/isel_x86.o \
18 priv/host-generic/host_regs.o \
sewardjc9a65702004-07-07 16:32:57 +000019 priv/host-generic/reg_alloc.o \
20 priv/guest-x86/x86toIR.o
sewardj5cf515f2004-06-26 20:10:35 +000021
sewardjac9af022004-07-05 01:15:34 +000022PUB_INCLUDES = -Ipub
23
sewardjc9a65702004-07-07 16:32:57 +000024PRIV_INCLUDES = -Ipriv/ir -Ipriv/main -Ipriv/host-generic \
25 -Ipriv/host-x86 -Ipriv/guest-x86
sewardjac9af022004-07-05 01:15:34 +000026
27APP_OBJS = test_main.o
28
29
sewardje05c42c2004-07-08 20:25:10 +000030CC = gcc341
sewardjea64e142004-07-22 16:47:21 +000031CCFLAGS = -g -Wall -Wshadow
sewardj41f43bc2004-07-08 14:23:22 +000032
sewardje05c42c2004-07-08 20:25:10 +000033#CC = icc
34#CCFLAGS = -g -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \
35# -wd810 -wd1419 -wd181 -wd111 -wd167
sewardj41f43bc2004-07-08 14:23:22 +000036# 981: operands are evaluated in unspecified order
37# 279: controlling expression is constant
38# 1287: invalid attribute for parameter
39# 869: parameter "..." was never referenced
40# 810: conversion from "int" to "Char={char}" may lose significant bits
41# 181: argument is incompatible with corresponding format string conversion
42# 111: statement is unreachable
43# 167: argument of type unsigned char incompatible with formal of type char
sewardje05c42c2004-07-08 20:25:10 +000044# (the above are for icc 8.0 -- 8.0.0.55 I think)
sewardjac9af022004-07-05 01:15:34 +000045
sewardj887a11a2004-07-05 17:26:47 +000046all: libvex.a $(APP_OBJS)
47 $(CC) $(CCFLAGS) -o vex $(APP_OBJS) libvex.a
sewardjac9af022004-07-05 01:15:34 +000048
sewardj887a11a2004-07-05 17:26:47 +000049libvex.a: $(LIB_OBJS)
50 rm -f libvex.a
51 ar clq libvex.a $(LIB_OBJS)
sewardjac9af022004-07-05 01:15:34 +000052
sewardj5cf515f2004-06-26 20:10:35 +000053clean:
sewardj887a11a2004-07-05 17:26:47 +000054 rm -f $(APP_OBJS) $(LIB_OBJS) libvex.a vex
sewardj5cf515f2004-06-26 20:10:35 +000055
sewardjc97096c2004-06-30 09:28:04 +000056
sewardjce605f92004-07-05 14:39:15 +000057
58
sewardj35421a32004-07-05 13:12:34 +000059ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS)
60ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES)
61
sewardjce605f92004-07-05 14:39:15 +000062test_main.o: $(PUB_HEADERS) test_main.c
63 $(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \
64 -c test_main.c
65
sewardj35421a32004-07-05 13:12:34 +000066priv/ir/ir_defs.o: $(ALL_HEADERS) priv/ir/ir_defs.c
67 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/ir_defs.o \
68 -c priv/ir/ir_defs.c
69
sewardj887a11a2004-07-05 17:26:47 +000070priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c
71 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_main.o \
72 -c priv/main/vex_main.c
sewardj35421a32004-07-05 13:12:34 +000073
sewardj887a11a2004-07-05 17:26:47 +000074priv/main/vex_globals.o: $(ALL_HEADERS) priv/main/vex_globals.c
75 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_globals.o \
76 -c priv/main/vex_globals.c
sewardj35421a32004-07-05 13:12:34 +000077
78priv/main/vex_util.o: $(ALL_HEADERS) priv/main/vex_util.c
79 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_util.o \
80 -c priv/main/vex_util.c
81
sewardj8af36f12004-07-21 18:53:20 +000082priv/host-x86/x86host_defs.o: $(ALL_HEADERS) priv/host-x86/x86host_defs.c
83 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/x86host_defs.o \
84 -c priv/host-x86/x86host_defs.c
sewardj35421a32004-07-05 13:12:34 +000085
86priv/host-x86/isel_x86.o: $(ALL_HEADERS) priv/host-x86/isel_x86.c
87 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/isel_x86.o \
88 -c priv/host-x86/isel_x86.c
89
90priv/host-generic/host_regs.o: $(ALL_HEADERS) priv/host-generic/host_regs.c
91 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/host_regs.o \
92 -c priv/host-generic/host_regs.c
93
94priv/host-generic/reg_alloc.o: $(ALL_HEADERS) priv/host-generic/reg_alloc.c
95 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc.o \
96 -c priv/host-generic/reg_alloc.c
sewardj96b22392004-06-26 18:46:47 +000097
sewardjc9a65702004-07-07 16:32:57 +000098priv/guest-x86/x86toIR.o: $(ALL_HEADERS) priv/guest-x86/x86toIR.c
99 $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/x86toIR.o \
100 -c priv/guest-x86/x86toIR.c