Improve build system and add support for tests
This commit is contained in:
parent
505478b840
commit
b64c82ec92
4 changed files with 49 additions and 5 deletions
33
Makefile
33
Makefile
|
@ -1,10 +1,35 @@
|
|||
include Makeconf
|
||||
|
||||
$(info $(modules))
|
||||
objs := $(addsuffix .o,$(modules))
|
||||
emu-objs := $(addsuffix .o,$(modules))
|
||||
test-targets := $(patsubst %,tests/%.bin, $(tests))
|
||||
|
||||
clean-objs := $(emu-objs) $(test-targets) libemu.a vgbc
|
||||
|
||||
.PHONY: all test clean
|
||||
|
||||
all: vgbc $(test-targets)
|
||||
|
||||
clean:
|
||||
rm -rf $(clean-objs)
|
||||
|
||||
test: $(test-targets)
|
||||
@for test in $(tests); do \
|
||||
if ./tests/$$test.bin; then \
|
||||
echo "-- $$test successful"; \
|
||||
else \
|
||||
echo "-- $$test failed"; \
|
||||
exit 1; \
|
||||
fi \
|
||||
done
|
||||
|
||||
%.o: %.cpp
|
||||
g++ $(CXX_FLAGS) -c -o $@ $^
|
||||
|
||||
vgbc: $(objs)
|
||||
g++ -o $@ $^
|
||||
libemu.a: $(emu-objs)
|
||||
ar -rc $@ $^
|
||||
|
||||
tests/%.bin: tests/%.cpp libemu.a
|
||||
g++ $(CXX_FLAGS) -o $@ $^
|
||||
|
||||
vgbc: main.c libemu.a
|
||||
g++ $(CXX_FLAGS) -o $@ $^
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue