Signed-off-by: Vegard Nossum <[email protected]>
---
scripts/build/test.mk | 40 +++++++++++---
test/arch-x86/Makefile | 142 +++++++++++++++++++++++-------------------------
test/jit/Makefile | 132 +++++++++++++++++++++++----------------------
test/vm/Makefile | 33 ++++++------
4 files changed, 184 insertions(+), 163 deletions(-)
diff --git a/scripts/build/test.mk b/scripts/build/test.mk
index fb7a665..bba5ff5 100644
--- a/scripts/build/test.mk
+++ b/scripts/build/test.mk
@@ -13,33 +13,55 @@ else
TESTS_C = '*.c'
endif
-%.o: %.c
+TOPLEVEL_C_SRCS := $(wildcard $(patsubst %.o,../../%.c,$(TOPLEVEL_OBJS)))
+TOPLEVEL_C_OBJS := $(patsubst ../../%.c,toplevel/%.o,$(TOPLEVEL_C_SRCS))
+
+TOPLEVEL_S_SRCS := $(wildcard $(patsubst %.o,../../%.S,$(TOPLEVEL_OBJS)))
+TOPLEVEL_S_OBJS := $(patsubst ../../%.S,toplevel/%.o,$(TOPLEVEL_S_SRCS))
+
+$(TOPLEVEL_C_OBJS): toplevel/%.o: ../../%.c
+ @mkdir -p $(dir $@)
+ $(E) " CC " $@
+ $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o $@
+
+$(TOPLEVEL_S_OBJS): toplevel/%.o: ../../%.S
+ @mkdir -p $(dir $@)
+ $(E) " AS " $@
+ $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o $@
+
+TEST_C_SRCS := $(wildcard $(patsubst %.o,%.c,$(TEST_OBJS)))
+TEST_C_OBJS := $(patsubst %.c,%.o,$(TEST_C_SRCS))
+
+TEST_S_SRCS := $(wildcard $(patsubst %.o,%.S,$(TEST_OBJS)))
+TEST_S_OBJS := $(patsubst %.S,%.o,$(TEST_S_SRCS))
+
+$(TEST_C_OBJS): %.o: %.c
$(E) " CC " $@
- $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o `echo $@ | sed "s\/\-\g" | sed "s\[.][.]\p\g"`
+ $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o $@
-%.o: %.S
+$(TEST_S_OBJS): %.o: %.S
$(E) " AS " $@
- $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o `echo $@ | sed "s\/\-\g" | sed "s\[.][.]\p\g"`
+ $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(DEFINES) -c $< -o $@
test: run
-$(RUNNER): $(SUITE) $(OBJS)
+ALL_OBJS := $(TOPLEVEL_C_OBJS) $(TOPLEVEL_S_OBJS) $(TEST_C_OBJS) $(TEST_S_OBJS)
+
+$(RUNNER): $(SUITE) $(ALL_OBJS)
$(E) " LD " $@
- $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE) *.o
$(SUITE) -o $(RUNNER) $(LIBS) $(DEFAULT_LIBS)
+ $(Q) $(CC) $(ARCH_CFLAGS) $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDE)
$(ALL_OBJS) $(SUITE) -o $(RUNNER) $(LIBS) $(DEFAULT_LIBS)
run: $(RUNNER)
$(E) " RUN " $@
$(Q) ./$(RUNNER)
-$(OBJS): FORCE
-
$(SUITE): FORCE
$(E) " SUITE " $@
$(Q) sh ../../scripts/build/make-tests.sh $(TESTS_C) > $@
clean: FORCE
$(E) " CLEAN"
- $(Q) rm -f *.o $(RUNNER) $(SUITE)
+ $(Q) rm -f *.o $(RUNNER) $(SUITE) $(ALL_OBJS)
PHONY += FORCE
FORCE:
diff --git a/test/arch-x86/Makefile b/test/arch-x86/Makefile
index a272946..71e43af 100644
--- a/test/arch-x86/Makefile
+++ b/test/arch-x86/Makefile
@@ -8,80 +8,76 @@ MONOBURG := ../../monoburg/monoburg
RUNNER=x86-test-runner
SUITE=x86-test-suite.c
-OBJS = \
- ../../arch/x86/args.o \
- ../../arch/x86/backtrace.o \
- ../../arch/x86/emit-code.o \
- ../../arch/x86/exception.o \
- ../../arch/x86/insn-selector.o \
- ../../arch/x86/registers$(ARCH_POSTFIX).o \
- ../../arch/x86/instruction.o \
- ../../arch/x86/stack-frame.o \
- ../../arch/x86/thread.o \
- ../../arch/x86/unwind$(ARCH_POSTFIX).o \
- ../../arch/x86/use-def.o \
- ../../cafebabe/src/cafebabe/attribute_array.o \
- ../../cafebabe/src/cafebabe/attribute_info.o \
- ../../cafebabe/src/cafebabe/class.o \
- ../../cafebabe/src/cafebabe/code_attribute.o \
- ../../cafebabe/src/cafebabe/constant_pool.o \
- ../../cafebabe/src/cafebabe/constant_value_attribute.o \
- ../../cafebabe/src/cafebabe/error.o \
- ../../cafebabe/src/cafebabe/field_info.o \
- ../../cafebabe/src/cafebabe/line_number_table_attribute.o \
- ../../cafebabe/src/cafebabe/method_info.o \
- ../../cafebabe/src/cafebabe/source_file_attribute.o \
- ../../cafebabe/src/cafebabe/stream.o \
- ../../jit/basic-block.o \
- ../../jit/bc-offset-mapping.o \
- ../../jit/compilation-unit.o \
- ../../jit/cu-mapping.o \
- ../../jit/emit.o \
- ../../jit/emulate.o \
- ../../jit/exception.o \
- ../../jit/expression.o \
- ../../jit/fixup-site.o \
- ../../jit/interval.o \
- ../../jit/method.o \
- ../../jit/stack-slot.o \
- ../../jit/statement.o \
- ../../jit/text.o \
- ../../jit/tree-node.o \
- ../../jit/tree-printer.o \
- ../../jit/vtable.o \
- ../../lib/buffer.o \
- ../../lib/list.o \
- ../../lib/radix-tree.o \
- ../../lib/string.o \
- ../../vm/call.o \
- ../../vm/class.o \
- ../../vm/die.o \
- ../../vm/field.o \
- ../../vm/guard-page.o \
- ../../vm/itable.o \
- ../../vm/jni-interface.o \
- ../../vm/method.o \
- ../../vm/object.o \
- ../../vm/stack.o \
- ../../vm/stack-trace.o \
- ../../vm/static.o \
- ../../vm/types.o \
- ../../vm/utf8.o \
- ../../vm/zalloc.o \
- ../../vm/fault-inject.o \
- ../../vm/natives.o \
- ../jamvm/alloc-stub.o \
- ../jamvm/cast-stub.o \
- ../jamvm/lock.o \
- ../jit/trampoline-stub.o \
- ../jit/trace-stub.o \
- ../libharness/libharness.o \
- ../vm/classloader-stub.o \
- ../vm/preload-stub.o \
- ../vm/signal-stub.o \
- $(TESTS)
+TOPLEVEL_OBJS := \
+ arch/x86/args.o \
+ arch/x86/backtrace.o \
+ arch/x86/emit-code.o \
+ arch/x86/exception.o \
+ arch/x86/insn-selector.o \
+ arch/x86/registers$(ARCH_POSTFIX).o \
+ arch/x86/instruction.o \
+ arch/x86/stack-frame.o \
+ arch/x86/thread.o \
+ arch/x86/unwind$(ARCH_POSTFIX).o \
+ arch/x86/use-def.o \
+ cafebabe/src/cafebabe/attribute_array.o \
+ cafebabe/src/cafebabe/attribute_info.o \
+ cafebabe/src/cafebabe/class.o \
+ cafebabe/src/cafebabe/code_attribute.o \
+ cafebabe/src/cafebabe/constant_pool.o \
+ cafebabe/src/cafebabe/constant_value_attribute.o \
+ cafebabe/src/cafebabe/error.o \
+ cafebabe/src/cafebabe/field_info.o \
+ cafebabe/src/cafebabe/line_number_table_attribute.o \
+ cafebabe/src/cafebabe/method_info.o \
+ cafebabe/src/cafebabe/source_file_attribute.o \
+ cafebabe/src/cafebabe/stream.o \
+ jit/basic-block.o \
+ jit/bc-offset-mapping.o \
+ jit/compilation-unit.o \
+ jit/cu-mapping.o \
+ jit/emit.o \
+ jit/emulate.o \
+ jit/exception.o \
+ jit/expression.o \
+ jit/fixup-site.o \
+ jit/interval.o \
+ jit/method.o \
+ jit/stack-slot.o \
+ jit/statement.o \
+ jit/text.o \
+ jit/tree-node.o \
+ jit/tree-printer.o \
+ jit/vtable.o \
+ lib/buffer.o \
+ lib/list.o \
+ lib/radix-tree.o \
+ lib/string.o \
+ vm/call.o \
+ vm/class.o \
+ vm/die.o \
+ vm/field.o \
+ vm/guard-page.o \
+ vm/itable.o \
+ vm/jni-interface.o \
+ vm/method.o \
+ vm/object.o \
+ vm/stack.o \
+ vm/stack-trace.o \
+ vm/static.o \
+ vm/types.o \
+ vm/utf8.o \
+ vm/zalloc.o \
+ vm/fault-inject.o \
+ vm/natives.o \
+ test/jit/trampoline-stub.o \
+ test/jit/trace-stub.o \
+ test/libharness/libharness.o \
+ test/vm/classloader-stub.o \
+ test/vm/preload-stub.o \
+ test/vm/signal-stub.o
-TESTS = \
+TEST_OBJS := \
emit-code-test$(ARCH_POSTFIX).o \
stack-frame-test$(ARCH_POSTFIX).o \
use-def-test$(ARCH_POSTFIX).o
diff --git a/test/jit/Makefile b/test/jit/Makefile
index b5444d0..21ca733 100644
--- a/test/jit/Makefile
+++ b/test/jit/Makefile
@@ -1,71 +1,73 @@
RUNNER=jit-test-runner
SUITE=jit-test-suite.c
-OBJS = \
- ../../arch/$(ARCH)/backtrace.o \
- ../../cafebabe/src/cafebabe/attribute_array.o \
- ../../cafebabe/src/cafebabe/attribute_info.o \
- ../../cafebabe/src/cafebabe/class.o \
- ../../cafebabe/src/cafebabe/constant_pool.o \
- ../../cafebabe/src/cafebabe/error.o \
- ../../cafebabe/src/cafebabe/field_info.o \
- ../../cafebabe/src/cafebabe/method_info.o \
- ../../cafebabe/src/cafebabe/source_file_attribute.o \
- ../../cafebabe/src/cafebabe/stream.o \
- ../../jit/args.o \
- ../../jit/arithmetic-bc.o \
- ../../jit/basic-block.o \
- ../../jit/bc-offset-mapping.o \
- ../../jit/branch-bc.o \
- ../../jit/bytecode-to-ir.o \
- ../../jit/cfg-analyzer.o \
- ../../jit/compilation-unit.o \
- ../../jit/cu-mapping.o \
- ../../jit/exception-bc.o \
- ../../jit/exception.o \
- ../../jit/expression.o \
- ../../jit/interval.o \
- ../../jit/invoke-bc.o \
- ../../jit/linear-scan.o \
- ../../jit/liveness.o \
- ../../jit/load-store-bc.o \
- ../../jit/method.o \
- ../../jit/nop-bc.o \
- ../../jit/object-bc.o \
- ../../jit/ostack-bc.o \
- ../../jit/spill-reload.o \
- ../../jit/stack-slot.o \
- ../../jit/statement.o \
- ../../jit/text.o \
- ../../jit/tree-node.o \
- ../../jit/tree-printer.o \
- ../../jit/typeconv-bc.o \
- ../../jit/subroutine.o \
- ../../jit/pc-map.o \
- ../../jit/wide-bc.o \
- ../../lib/bitset.o \
- ../../lib/buffer.o \
- ../../lib/list.o \
- ../../lib/radix-tree.o \
- ../../lib/string.o \
- ../../vm/bytecode.o \
- ../../vm/bytecodes.o \
- ../../vm/die.o \
- ../../vm/guard-page.o \
- ../../vm/stack.o \
- ../../vm/types.o \
- ../../vm/zalloc.o \
- ../../arch/mmix/instruction.o \
- ../../arch/mmix/register.o \
- ../../arch/mmix/stack-frame.o \
- ../../arch/mmix/use-def.o \
- ../libharness/libharness.o \
- ../vm/class-stub.o \
- ../vm/classloader-stub.o \
- ../vm/object-stub.o \
- ../vm/preload-stub.o \
- ../vm/jni-stub.o \
- ../jit/trace-stub.o \
+TOPLEVEL_OBJS := \
+ arch/$(ARCH)/backtrace.o \
+ cafebabe/src/cafebabe/attribute_array.o \
+ cafebabe/src/cafebabe/attribute_info.o \
+ cafebabe/src/cafebabe/class.o \
+ cafebabe/src/cafebabe/constant_pool.o \
+ cafebabe/src/cafebabe/error.o \
+ cafebabe/src/cafebabe/field_info.o \
+ cafebabe/src/cafebabe/method_info.o \
+ cafebabe/src/cafebabe/source_file_attribute.o \
+ cafebabe/src/cafebabe/stream.o \
+ jit/args.o \
+ jit/arithmetic-bc.o \
+ jit/basic-block.o \
+ jit/bc-offset-mapping.o \
+ jit/branch-bc.o \
+ jit/bytecode-to-ir.o \
+ jit/cfg-analyzer.o \
+ jit/compilation-unit.o \
+ jit/cu-mapping.o \
+ jit/exception-bc.o \
+ jit/exception.o \
+ jit/expression.o \
+ jit/interval.o \
+ jit/invoke-bc.o \
+ jit/linear-scan.o \
+ jit/liveness.o \
+ jit/load-store-bc.o \
+ jit/method.o \
+ jit/nop-bc.o \
+ jit/object-bc.o \
+ jit/ostack-bc.o \
+ jit/spill-reload.o \
+ jit/stack-slot.o \
+ jit/statement.o \
+ jit/text.o \
+ jit/tree-node.o \
+ jit/tree-printer.o \
+ jit/typeconv-bc.o \
+ jit/subroutine.o \
+ jit/pc-map.o \
+ jit/wide-bc.o \
+ lib/bitset.o \
+ lib/buffer.o \
+ lib/list.o \
+ lib/radix-tree.o \
+ lib/string.o \
+ vm/bytecode.o \
+ vm/bytecodes.o \
+ vm/die.o \
+ vm/guard-page.o \
+ vm/stack.o \
+ vm/types.o \
+ vm/zalloc.o \
+ arch/mmix/instruction.o \
+ arch/mmix/register.o \
+ arch/mmix/stack-frame.o \
+ arch/mmix/use-def.o \
+ test/libharness/libharness.o \
+ test/vm/class-stub.o \
+ test/vm/classloader-stub.o \
+ test/vm/object-stub.o \
+ test/vm/preload-stub.o \
+ test/vm/jni-stub.o \
+ test/jit/trace-stub.o
+
+TEST_OBJS := \
args-test-utils.o \
arithmetic-bc-test.o \
basic-block-test.o \
diff --git a/test/vm/Makefile b/test/vm/Makefile
index 2baa1d9..d0434d5 100644
--- a/test/vm/Makefile
+++ b/test/vm/Makefile
@@ -1,22 +1,23 @@
RUNNER=vm-test-runner
SUITE=vm-test-suite.c
-OBJS = \
- ../../arch/$(ARCH)/backtrace.o \
- ../../lib/bitset.o \
- ../../lib/buffer.o \
- ../../lib/list.o \
- ../../lib/list.o \
- ../../lib/radix-tree.o \
- ../../lib/string.o \
- ../../vm/bytecode.o \
- ../../vm/bytecodes.o \
- ../../vm/die.o \
- ../../vm/natives.o \
- ../../vm/stack.o \
- ../../vm/types.o \
- ../../vm/zalloc.o \
- ../libharness/libharness.o \
+TOPLEVEL_OBJS := \
+ arch/$(ARCH)/backtrace.o \
+ lib/bitset.o \
+ lib/buffer.o \
+ lib/list.o \
+ lib/radix-tree.o \
+ lib/string.o \
+ vm/bytecode.o \
+ vm/bytecodes.o \
+ vm/die.o \
+ vm/natives.o \
+ vm/stack.o \
+ vm/types.o \
+ vm/zalloc.o \
+ test/libharness/libharness.o
+
+TEST_OBJS := \
bitset-test.o \
buffer-test.o \
bytecodes-test.o \
--
1.6.0.4
------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel