PUB_HEADERS = pub/libvex_basictypes.h \
pub/libvex_ir.h \
- pub/libvex.h
+ pub/libvex.h \
+ pub/libvex_trc_values.h \
+ pub/libvex_emwarn.h \
+ pub/libvex_guest_x86.h \
+ pub/libvex_guest_amd64.h \
+ pub/libvex_guest_arm.h
PRIV_HEADERS = priv/host-x86/hdefs.h \
+ priv/host-arm/hdefs.h \
priv/host-generic/h_generic_regs.h \
+ priv/host-generic/h_generic_simd64.h \
priv/main/vex_globals.h \
priv/main/vex_util.h \
- priv/guest-x86/gdefs.h
+ priv/guest-x86/gdefs.h \
+ priv/guest-amd64/gdefs.h \
+ priv/guest-arm/gdefs.h \
+ priv/ir/irmatch.h \
+ priv/ir/iropt.h
LIB_OBJS = priv/ir/irdefs.o \
+ priv/ir/irmatch.o \
+ priv/ir/iropt.o \
priv/main/vex_main.o \
priv/main/vex_globals.o \
priv/main/vex_util.o \
priv/host-x86/hdefs.o \
+ priv/host-arm/hdefs.o \
priv/host-x86/isel.o \
+ priv/host-arm/isel.o \
priv/host-generic/h_generic_regs.o \
- priv/host-generic/reg_alloc.o \
+ priv/host-generic/h_generic_simd64.o \
+ priv/host-generic/reg_alloc2.o \
priv/guest-x86/ghelpers.o \
- priv/guest-x86/toIR.o
+ priv/guest-amd64/ghelpers.o \
+ priv/guest-arm/ghelpers.o \
+ priv/guest-x86/toIR.o \
+ priv/guest-amd64/toIR.o \
+ priv/guest-arm/toIR.o
PUB_INCLUDES = -Ipub
PRIV_INCLUDES = -Ipriv
-#CC = gcc341
-#CCFLAGS = -g -Wall -Wshadow $(EXTRA_CFLAGS)
+#CC = gcc
+#CCFLAGS = -g -O -Wall -Wmissing-prototypes -Wshadow -Winline $(EXTRA_CFLAGS)
CC = icc
-CCFLAGS = -g -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \
- -wd810 -wd1419 -wd181 -wd111 -wd167 $(EXTRA_CFLAGS)
+CCFLAGS = -g -O -Wbrief -Wall -wd981 -wd279 -wd1287 -wd869 \
+ -wd810 -wd1419 -wd181 -wd111 -wd167 -wd186 -wd188
# 981: operands are evaluated in unspecified order
# 279: controlling expression is constant
# 1287: invalid attribute for parameter
# 181: argument is incompatible with corresponding format string conversion
# 111: statement is unreachable
# 167: argument of type unsigned char incompatible with formal of type char
+# 186: pointless comparison of unsigned integer with zero
+# 188: enumerated type mixed with another type
# (the above are for icc 8.0 -- 8.0.0.55 I think)
-all: libvex.a
- rm -f hacked104/valgrind.so
- (cd hacked104 && make install)
+all: vex
vex: libvex.a test_main.o
$(CC) $(CCFLAGS) -o vex test_main.o libvex.a
ar clq libvex.a $(LIB_OBJS)
clean:
- rm -f $(LIB_OBJS) libvex.a vex test_main.o
- (cd hacked104 && make clean)
-
+ rm -f $(LIB_OBJS) libvex.a vex test_main.o priv/main/vex_svnversion.h
+
+version:
+ rm -f priv/main/vex_svnversion.h
+ echo -n "\"" > priv/main/vex_svnversion.h
+ svnversion -n . >> priv/main/vex_svnversion.h
+ echo "\"" >> priv/main/vex_svnversion.h
+
+minidist: version
+ rm -f vex--minidist-2005MMDD.tar
+ tar cf vex--minidist-2005MMDD.tar $(PUB_HEADERS) $(PRIV_HEADERS) \
+ priv/main/vex_svnversion.h \
+ test_main.c test_main.h \
+ Makefile \
+ `echo $(LIB_OBJS) | sed "s/\.o/\.c/g"`
+ @echo
+ @echo minidist done, size and svnversion follow:
+ @ls -l vex--minidist-2005MMDD.tar
+ @cat priv/main/vex_svnversion.h
+ @echo
ALL_HEADERS = $(PUB_HEADERS) $(PRIV_HEADERS)
ALL_INCLUDES = $(PUB_INCLUDES) $(PRIV_INCLUDES)
-test_main.o: $(PUB_HEADERS) test_main.c
+test_main.o: $(PUB_HEADERS) test_main.c test_main.h
$(CC) $(CCFLAGS) $(PUB_INCLUDES) -o test_main.o \
-c test_main.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irdefs.o \
-c priv/ir/irdefs.c
-priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c
+priv/ir/irmatch.o: $(ALL_HEADERS) priv/ir/irmatch.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/irmatch.o \
+ -c priv/ir/irmatch.c
+
+priv/ir/iropt.o: $(ALL_HEADERS) priv/ir/iropt.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/ir/iropt.o \
+ -c priv/ir/iropt.c
+
+priv/main/vex_main.o: $(ALL_HEADERS) priv/main/vex_main.c \
+ priv/main/vex_svnversion.h
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/main/vex_main.o \
-c priv/main/vex_main.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/hdefs.o \
-c priv/host-x86/hdefs.c
+priv/host-arm/hdefs.o: $(ALL_HEADERS) priv/host-arm/hdefs.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-arm/hdefs.o \
+ -c priv/host-arm/hdefs.c
+
priv/host-x86/isel.o: $(ALL_HEADERS) priv/host-x86/isel.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-x86/isel.o \
-c priv/host-x86/isel.c
+priv/host-arm/isel.o: $(ALL_HEADERS) priv/host-arm/isel.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-arm/isel.o \
+ -c priv/host-arm/isel.c
+
priv/host-generic/h_generic_regs.o: $(ALL_HEADERS) priv/host-generic/h_generic_regs.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_regs.o \
-c priv/host-generic/h_generic_regs.c
-priv/host-generic/reg_alloc.o: $(ALL_HEADERS) priv/host-generic/reg_alloc.c
- $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc.o \
- -c priv/host-generic/reg_alloc.c
+priv/host-generic/h_generic_simd64.o: $(ALL_HEADERS) priv/host-generic/h_generic_simd64.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/h_generic_simd64.o \
+ -c priv/host-generic/h_generic_simd64.c
+
+priv/host-generic/reg_alloc2.o: $(ALL_HEADERS) priv/host-generic/reg_alloc2.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/host-generic/reg_alloc2.o \
+ -c priv/host-generic/reg_alloc2.c
priv/guest-x86/toIR.o: $(ALL_HEADERS) priv/guest-x86/toIR.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/toIR.o \
priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
-c priv/guest-x86/ghelpers.c
+
+priv/guest-amd64/ghelpers.o: $(ALL_HEADERS) priv/guest-amd64/ghelpers.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-amd64/ghelpers.o \
+ -c priv/guest-amd64/ghelpers.c
+
+priv/guest-amd64/toIR.o: $(ALL_HEADERS) priv/guest-amd64/toIR.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-amd64/toIR.o \
+ -c priv/guest-amd64/toIR.c
+
+priv/guest-arm/ghelpers.o: $(ALL_HEADERS) priv/guest-arm/ghelpers.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-arm/ghelpers.o \
+ -c priv/guest-arm/ghelpers.c
+
+priv/guest-arm/toIR.o: $(ALL_HEADERS) priv/guest-arm/toIR.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-arm/toIR.o \
+ -c priv/guest-arm/toIR.c