Makefile improvements

Improve readme
Add instructions for new sc64 deployer.
Improve .gitignore
This commit is contained in:
Robin Jones 2023-03-13 00:46:13 +00:00
parent 828c2416d0
commit 48da3bc912
5 changed files with 27 additions and 23 deletions

4
.gitignore vendored
View File

@ -2,3 +2,7 @@
/build
/output
tools/sc64/sc64.exe
tools/sc64/sc64deployer.exe
# There should never be ROMs uploaded, but just incase, make sure they are excluded.
**/*.n64
**/*.z64

View File

@ -1,6 +1,7 @@
.DEFAULT_GOAL := menu
EXE_NAME = N64FlashcartMenu
PROJECT_NAME = N64FlashcartMenu
.DEFAULT_GOAL := $(PROJECT_NAME)
SOURCE_DIR = src
BUILD_DIR = build
@ -28,18 +29,18 @@ SRCS = \
OBJS = $(addprefix $(BUILD_DIR)/, $(addsuffix .o,$(basename $(SRCS))))
$(BUILD_DIR)/$(EXE_NAME).elf: $(OBJS)
$(BUILD_DIR)/$(PROJECT_NAME).elf: $(OBJS)
$(EXE_NAME).z64: N64_ROM_TITLE=$(EXE_NAME)
$(PROJECT_NAME).z64: N64_ROM_TITLE=$(PROJECT_NAME)
menu: $(EXE_NAME).z64
$(PROJECT_NAME): $(PROJECT_NAME).z64
$(shell mkdir -p $(OUTPUT_DIR))
$(shell mv $(EXE_NAME).z64 $(OUTPUT_DIR))
$(shell mv $(PROJECT_NAME).z64 $(OUTPUT_DIR))
sc64_minify:
$(shell python3 ./tools/sc64/minify.py $(BUILD_DIR)/$(EXE_NAME).elf $(OUTPUT_DIR)/N64FlashcartMenu.z64 $(OUTPUT_DIR)/sc64menu.n64)
sc64_minify: $(PROJECT_NAME)
$(shell python3 ./tools/sc64/minify.py $(BUILD_DIR)/$(PROJECT_NAME).elf $(OUTPUT_DIR)/$(PROJECT_NAME).z64 $(OUTPUT_DIR)/sc64menu.n64)
all: menu sc64_minify
all: sc64_minify
.PHONY: all
clean:
@ -48,6 +49,7 @@ clean:
.PHONY: clean
# run:
# $(shell sc64deployer --boot direct-rom %~dp0$(OUTPUT_DIR))\$(PROJECT_NAME).z64)
# test:

View File

@ -61,15 +61,15 @@ You can use a dev container in VSCode to ease development.
Note: the dev container currently downloads and installs the latest available libdragon from the stable branch, rather than use the repos submodule.
To deploy:
* Download the deployer [here](https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.12.1/sc64-windows-v2.12.1.zip)
* Extract and place `sc64.exe` in the `tools/sc64` directory
* Download the deployer [here](https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.14.0/sc64-deployer-windows-v2.14.0.zip)
* Extract and place `sc64deployer.exe` in the `tools/sc64` directory
* For the moment, deployment cannot happen within the dev container and you must do it from a terminal on the host.
* Run `./deploy.bat` from the terminal (in windows)
* Toggle the N64 power switch to load the ROM.
`ms-vscode.makefile-tools` will help (installed automatically in dev container).
TODO: it does not yet work with `F5`: see https://devblogs.microsoft.com/cppblog/now-announcing-makefile-support-in-visual-studio-code/
WORKAROUND: in the dev container terminal, use make directly `make all`
The ROM can be found in the `build` directory.
WORKAROUND: in the dev container terminal, use make directly, i.e.: `make`
The ROM can be found in the `output` directory.
NOTE: a "release" version of the ROM is called `sc64menu.n64` is created for when you want to add it directly to the SDCard.
NOTE: a "release" version of the SC64 menu is called `sc64menu.n64` and can be created for when you want to add it directly to the SDCard. This is generated by running `make all` or running `make sc64_minify`.

View File

@ -4,13 +4,13 @@ cd %~dp0tools\sc64\
:: Make sure we are connected
echo Detecting SC64...
sc64 --print-state
sc64deployer --print-state
echo:
echo:
:: Load the ROM
echo Loading ROM...
sc64 --boot direct-rom %~dp0output\N64FlashcartMenu.z64
sc64deployer --boot direct-rom %~dp0output\N64FlashcartMenu.z64
echo:
echo:

View File

@ -1,14 +1,12 @@
# Source
https://github.com/Polprzewodnikowy/SummerCart64
This Directory.
# License
GPL-3.0 license
See root directory.
# Description
Used for build and deployment
`minify.py`
Removes unnecessary null bytes from the end of ROM file to cut on menu load time from SD card.
# Notes
It might be preferable to change to a submodule.
But `finalize.py` is independent.
The deployer needs to be downloaded from https://github.com/Polprzewodnikowy/SummerCart64/releases/tag/v2.12.1 and placed in this folder.
The deployer `sc64deployer` needs to be downloaded from https://github.com/Polprzewodnikowy/SummerCart64/releases/tag/v2.14.0 and placed in this folder.