diff options
Diffstat (limited to 'debugger/system_routine/Makefile.am')
-rw-r--r-- | debugger/system_routine/Makefile.am | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/debugger/system_routine/Makefile.am b/debugger/system_routine/Makefile.am new file mode 100644 index 00000000..2576e2aa --- /dev/null +++ b/debugger/system_routine/Makefile.am @@ -0,0 +1,42 @@ + +noinst_PROGRAMS = eviction_macro sr tiny +nodist_sr_SOURCES = sr.c +nodist_tiny_SOURCES = tiny.c + +GEN4ASM_FLAGS = -g6 -a -b +ASM_CPPFLAGS = \ + -x assembler-with-cpp \ + -P -DGEN_ASM -DSANDYBRIDGE \ + -I$(top_srcdir)/lib \ + -I$(builddir) + +evict.h : eviction_macro + $(builddir)/eviction_macro > evict.h + +sr.cpp : sr.g4a + $(srcdir)/pre_cpp.py $(srcdir)/sr.g4a > $@.tmp && mv $@.tmp $@ +sr.asm : sr.cpp evict.h + $(CPP) $(ASM_CPPFLAGS) -o $@ sr.cpp +sr.c: sr.asm + $(GEN4ASM) $(GEN4ASM_FLAGS) sr.asm -o $@ +sr.o : sr.c + $(CC) -c -o $@ sr.c +sr : sr.o + $(OBJCOPY) -O binary -K gen_eu_bytes sr.o $@ + +# Test.g4a is the simplest possible system routine we can run on the GPU +# without actually hanging the system. The system routine kernel is very +# simple and doesn't depend on any external communication to run. +tiny.cpp : test.g4a + $(srcdir)/pre_cpp.py $(srcdir)/test.g4a > $@.tmp && mv $@.tmp $@ +tiny.asm : tiny.cpp + $(CPP) $(ASM_CPPFLAGS) -o $@ tiny.cpp +tiny.c: tiny.asm + $(GEN4ASM) $(GEN4ASM_FLAGS) tiny.asm -o $@ +tiny.o : tiny.c + $(CC) -c -o $@ tiny.c +tiny : tiny.o + $(OBJCOPY) -O binary -K gen_eu_bytes tiny.o $@ + +CLEANFILES = evict.h sr.cpp sr.asm sr.c tiny.cpp tiny.asm tiny.c +EXTRA_DIST = pre_cpp.py sr.g4a test.g4a |