From 2d4ddb1820122cd8e7d42185f2ea80330c63d4f6 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Sat, 2 Oct 2021 20:31:11 +0100 Subject: Introduced config.env One config to rule the whole build system and the tests. --- config.env | 1 + game/src/Makefile | 7 +++---- tests/Makefile | 3 +++ tests/test_rom.py | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 config.env diff --git a/config.env b/config.env new file mode 100644 index 0000000..24bc9bb --- /dev/null +++ b/config.env @@ -0,0 +1 @@ +ROM_MAX=0x8000 diff --git a/game/src/Makefile b/game/src/Makefile index 6ac7a0a..e42313d 100644 --- a/game/src/Makefile +++ b/game/src/Makefile @@ -1,12 +1,11 @@ TARGET := game +include ../../config.env + CODE := 0x4000 # leaves 222 bytes for AKM player buffer DATA := 0xc0de -# HEX, will fill with 0 -ROM_MAX := 8000 - OUTPUT := ../build OBJS := $(patsubst %.c,$(OUTPUT)/%.rel,$(wildcard *.c)) $(OUTPUT)/akm.rel UBOX_LIBS := $(wildcard ../../lib/*.lib) @@ -19,7 +18,7 @@ CFLAGS := -mz80 --Werror -I../../include -I../generated --fsigned-char --std-sdc LDFLAGS := -L../../lib -L. --no-std-crt0 --fomit-frame-pointer all: $(OUTPUT)/$(TARGET).rom - @../../tools/chksize 8000 4000 $(OUTPUT)/$(TARGET).map + @../../tools/chksize $(ROM_MAX) 4000 $(OUTPUT)/$(TARGET).map @cp ../bin/$(TARGET).rom ../../bin openmsx: all diff --git a/tests/Makefile b/tests/Makefile index 6c1a9a4..2d741fa 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,6 +1,9 @@ default: $(error Please use the Makefile from root directory) +include ../config.env +export $(shell sed 's/=.*//' ../config.env) + TESTS := $(wildcard test_*.py) test: diff --git a/tests/test_rom.py b/tests/test_rom.py index a2148e1..d980dad 100755 --- a/tests/test_rom.py +++ b/tests/test_rom.py @@ -2,13 +2,13 @@ import unittest import struct -from os import path +from os import path, environ class TestRom(unittest.TestCase): """Test that the generated game ROM is correct.""" - ROM_SIZE = 0x8000 + ROM_SIZE = int(environ.get("ROM_MAX", 0), 16) @classmethod def setUpClass(cls): -- cgit v1.2.3 From 271902c4c9b85137cf223e62ba7196cccfcb7479 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Sat, 2 Oct 2021 21:06:33 +0100 Subject: Make it portable (depends on GNU Make) --- config.env | 3 +++ tests/Makefile | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config.env b/config.env index 24bc9bb..21ce6c9 100644 --- a/config.env +++ b/config.env @@ -1 +1,4 @@ +# This env file controls some parameters of the build/test system + +# Size of the resulting ROM ROM_MAX=0x8000 diff --git a/tests/Makefile b/tests/Makefile index 2d741fa..32933e0 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -2,7 +2,7 @@ default: $(error Please use the Makefile from root directory) include ../config.env -export $(shell sed 's/=.*//' ../config.env) +.EXPORT_ALL_VARIABLES: test TESTS := $(wildcard test_*.py) -- cgit v1.2.3