@@ -4,24 +4,26 @@ BUILD_DIR := build
4
4
DIST_DIR := dist
5
5
TEST_DIR := test
6
6
TEST_OK_DIR := $(TEST_DIR ) /ok
7
- TEST_FAIL_DIR := $(TEST_DIR ) /fail
7
+ TEST_FAIL_DIR := $(TEST_DIR ) /fail
8
+ TEST_EXEC_DIR := ..
8
9
9
- PROJECT := example
10
- TARGET := $(DIST_DIR ) /$(PROJECT ) .nes
11
- DEBUG := $(DIST_DIR ) /$(PROJECT ) .dbg
12
- SOURCES := $(shell find $(SRC_DIR ) -type f -name '* .asm')
13
- OBJECTS := $(SOURCES:$(SRC_DIR ) /%.asm=$(BUILD_DIR ) /%.o )
14
- NES_CFG := $(CONFIG_DIR ) /nes.cfg
10
+ PROJECT := example
11
+ TARGET := $(DIST_DIR ) /$(PROJECT ) .nes
12
+ DEBUG := $(DIST_DIR ) /$(PROJECT ) .dbg
13
+ SOURCES := $(shell find $(SRC_DIR ) -type f -name '* .asm')
14
+ OBJECTS := $(SOURCES:$(SRC_DIR ) /%.asm=$(BUILD_DIR ) /%.o )
15
+ NES_CFG := $(CONFIG_DIR ) /nes.cfg
15
16
16
- TEST_OK := $(shell find $(TEST_OK_DIR ) -type f -name '* .test.json' | sort)
17
- TEST_FAIL := $(shell find $(TEST_FAIL_DIR ) -type f -name '* .test.json' | sort)
18
- TEST_IDS := $(TEST_OK:%.test.json=%.test ) $(TEST_FAIL:%.test.json=%.test )
17
+ TEST_OK := $(shell find $(TEST_OK_DIR ) -type f -name '* .test.json' | sort)
18
+ TEST_FAIL := $(shell find $(TEST_FAIL_DIR ) -type f -name '* .test.json' | sort)
19
+ TEST_IDS := $(TEST_OK:%.test.json=%.test ) $(TEST_FAIL:%.test.json=%.test )
19
20
20
21
AS := ca65
21
- ASFLAGS := --cpu 6502 --target nes --debug-info
22
+ ASFLAGS := --cpu 6502 --target nes --debug-info
22
23
LD := ld65
23
- LDFLAGS :=
24
- TEST_EXEC := ../6502_tester
24
+ LDFLAGS :=
25
+ TEST_EXEC := $(TEST_EXEC_DIR ) /6502_tester
26
+ TEST_FAILED_CODE := 200
25
27
26
28
.PHONY : all build test clean
27
29
@@ -41,13 +43,13 @@ test : $(TEST_EXEC) $(TEST_IDS)
41
43
@echo " All tests passed."
42
44
43
45
$(TEST_EXEC ) :
44
- make -C ..
46
+ make -C $( TEST_EXEC_DIR )
45
47
46
48
$(TEST_OK_DIR ) /% .test : $(TEST_OK_DIR ) /% .test.json
47
49
$(TEST_EXEC ) -d $(DEBUG ) --quiet-ok --quiet-summary -t $<
48
50
49
51
$(TEST_FAIL_DIR ) /% .test : $(TEST_FAIL_DIR ) /% .test.json
50
- $(TEST_EXEC ) -d $(DEBUG ) --quiet-fail --quiet-summary -t $< && { exit 1; } || { [ $$ ? -eq 200 ] && exit 0 || exit 1; }
52
+ $(TEST_EXEC ) -d $(DEBUG ) --quiet-fail --quiet-summary -t $< && { exit 1; } || { [ $$ ? -eq $( TEST_FAILED_CODE ) ] && exit 0 || exit 1; }
51
53
52
54
clean :
53
55
rm -rf $(BUILD_DIR )
0 commit comments