46 lines
1.5 KiB
Makefile
46 lines
1.5 KiB
Makefile
# Built by VCC Plus using its bundled CMOC/6809 tools. No emulator source needed.
|
|
CMOC ?= cmoc
|
|
PERL ?= perl
|
|
WRITECOCOFILE ?= writecocofile
|
|
INSTALL_LOADER ?= install-coco-boot-loader
|
|
VCC_CONFIGURATION ?= Release
|
|
ifeq ($(VCC_CONFIGURATION),Debug)
|
|
OPTIM = -O2 -fno-omit-frame-pointer
|
|
else
|
|
OPTIM = -O2
|
|
endif
|
|
ifeq ($(VCC_CONFIGURATION),Test)
|
|
CPPFLAGS += -DTEST_SEED=2709
|
|
endif
|
|
CPPFLAGS += -Iinclude
|
|
CFLAGS = --coco --intermediate --deps --stack-space=2048 $(OPTIM)
|
|
SOURCES = main.c src/quiz.c src/ui.c src/states.c src/map_data.c
|
|
OBJECTS = $(SOURCES:%.c=obj/%.o)
|
|
.PHONY: all build disk clean assets test
|
|
all: disk
|
|
build: build/CAPITAL.bin
|
|
disk: build/CAPITAL.dsk
|
|
build/CAPITAL.bin: $(OBJECTS)
|
|
@mkdir -p build
|
|
"$(CMOC)" --coco --intermediate --org=2000 --limit=7800 -o $@ $(OBJECTS) -lgime -linput -lbcontrol -lhirestxt
|
|
obj/%.o: %.c include/quiz.h include/ui.h include/map_data.h Makefile
|
|
@mkdir -p $(dir $@)
|
|
"$(CMOC)" $(CPPFLAGS) $(CFLAGS) --intdir=$(dir $@) -c -o $@ $<
|
|
obj/boot.bin: tools/boot.c Makefile
|
|
@mkdir -p obj
|
|
"$(CMOC)" --dos -O0 --limit=2800 -o $@ $<
|
|
build/CAPITAL.dsk: build/CAPITAL.bin obj/boot.bin
|
|
$(PERL) -e 'print chr(255) x (35*18*256)' > $@
|
|
"$(INSTALL_LOADER)" $@ obj/boot.bin
|
|
"$(WRITECOCOFILE)" $@ build/CAPITAL.bin
|
|
assets:
|
|
python3 tools/prepare_assets.py
|
|
test:
|
|
@mkdir -p build
|
|
cc -std=c99 -Wall -Wextra -Werror -DHOST_TEST -Iinclude tests/test_quiz.c src/quiz.c src/states.c -o build/test_quiz
|
|
./build/test_quiz
|
|
python3 tests/check_assets.py
|
|
clean:
|
|
rm -rf obj build
|
|
-include $(OBJECTS:.o=.d)
|