aboutsummaryrefslogtreecommitdiffstats
path: root/tools/tests/x86_emulator/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/tests/x86_emulator/Makefile')
-rw-r--r--tools/tests/x86_emulator/Makefile44
1 files changed, 44 insertions, 0 deletions
diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
new file mode 100644
index 0000000000..d0bbe0ee83
--- /dev/null
+++ b/tools/tests/x86_emulator/Makefile
@@ -0,0 +1,44 @@
+
+XEN_ROOT=../../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+TARGET := test_x86_emulator
+
+.PHONY: all
+all: $(TARGET)
+
+.PHONY: blowfish.h
+blowfish.h:
+ rm -f blowfish.bin
+ XEN_TARGET_ARCH=x86_32 make -f blowfish.mk all
+ (echo "static unsigned int blowfish32_code[] = {"; \
+ od -v -t x blowfish.bin | sed 's/^[0-9]* /0x/' | sed 's/ /, 0x/g' | sed 's/$$/,/';\
+ echo "};") >$@
+ rm -f blowfish.bin
+ifeq ($(XEN_COMPILE_ARCH),x86_64)
+ XEN_TARGET_ARCH=x86_64 make -f blowfish.mk all
+ (echo "static unsigned int blowfish64_code[] = {"; \
+ od -v -t x blowfish.bin | sed 's/^[0-9]* /0x/' | sed 's/ /, 0x/g' | sed 's/$$/,/';\
+ echo "};") >>$@
+ rm -f blowfish.bin
+endif
+
+$(TARGET): x86_emulate.o test_x86_emulator.o
+ $(HOSTCC) -o $@ $^
+
+.PHONY: clean
+clean:
+ rm -rf $(TARGET) *.o *~ core blowfish.h blowfish.bin x86_emulate
+
+.PHONY: install
+install:
+
+.PHONY: x86_emulate
+x86_emulate:
+ [ -L x86_emulate ] || ln -sf $(XEN_ROOT)/xen/arch/x86/x86_emulate .
+
+x86_emulate.o: x86_emulate.c x86_emulate
+ $(HOSTCC) $(HOSTCFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<
+
+test_x86_emulator.o: test_x86_emulator.c blowfish.h x86_emulate
+ $(HOSTCC) $(HOSTCFLAGS) -I$(XEN_ROOT)/xen/include -c -o $@ $<