mirror of
https://github.com/Polprzewodnikowy/N64FlashcartMenu.git
synced 2024-11-22 10:39:20 +01:00
Makefile improvements
Improve readme Add instructions for new sc64 deployer. Improve .gitignore
This commit is contained in:
parent
828c2416d0
commit
48da3bc912
4
.gitignore
vendored
4
.gitignore
vendored
@ -2,3 +2,7 @@
|
|||||||
/build
|
/build
|
||||||
/output
|
/output
|
||||||
tools/sc64/sc64.exe
|
tools/sc64/sc64.exe
|
||||||
|
tools/sc64/sc64deployer.exe
|
||||||
|
# There should never be ROMs uploaded, but just incase, make sure they are excluded.
|
||||||
|
**/*.n64
|
||||||
|
**/*.z64
|
||||||
|
20
Makefile
20
Makefile
@ -1,6 +1,7 @@
|
|||||||
.DEFAULT_GOAL := menu
|
|
||||||
|
|
||||||
EXE_NAME = N64FlashcartMenu
|
PROJECT_NAME = N64FlashcartMenu
|
||||||
|
|
||||||
|
.DEFAULT_GOAL := $(PROJECT_NAME)
|
||||||
|
|
||||||
SOURCE_DIR = src
|
SOURCE_DIR = src
|
||||||
BUILD_DIR = build
|
BUILD_DIR = build
|
||||||
@ -28,18 +29,18 @@ SRCS = \
|
|||||||
|
|
||||||
OBJS = $(addprefix $(BUILD_DIR)/, $(addsuffix .o,$(basename $(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 mkdir -p $(OUTPUT_DIR))
|
||||||
$(shell mv $(EXE_NAME).z64 $(OUTPUT_DIR))
|
$(shell mv $(PROJECT_NAME).z64 $(OUTPUT_DIR))
|
||||||
|
|
||||||
sc64_minify:
|
sc64_minify: $(PROJECT_NAME)
|
||||||
$(shell python3 ./tools/sc64/minify.py $(BUILD_DIR)/$(EXE_NAME).elf $(OUTPUT_DIR)/N64FlashcartMenu.z64 $(OUTPUT_DIR)/sc64menu.n64)
|
$(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
|
.PHONY: all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@ -48,6 +49,7 @@ clean:
|
|||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
||||||
# run:
|
# run:
|
||||||
|
# $(shell sc64deployer --boot direct-rom %~dp0$(OUTPUT_DIR))\$(PROJECT_NAME).z64)
|
||||||
|
|
||||||
# test:
|
# test:
|
||||||
|
|
||||||
|
10
README.md
10
README.md
@ -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.
|
Note: the dev container currently downloads and installs the latest available libdragon from the stable branch, rather than use the repos submodule.
|
||||||
|
|
||||||
To deploy:
|
To deploy:
|
||||||
* Download the deployer [here](https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.12.1/sc64-windows-v2.12.1.zip)
|
* Download the deployer [here](https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.14.0/sc64-deployer-windows-v2.14.0.zip)
|
||||||
* Extract and place `sc64.exe` in the `tools/sc64` directory
|
* 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.
|
* 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)
|
* Run `./deploy.bat` from the terminal (in windows)
|
||||||
* Toggle the N64 power switch to load the ROM.
|
* Toggle the N64 power switch to load the ROM.
|
||||||
|
|
||||||
`ms-vscode.makefile-tools` will help (installed automatically in dev container).
|
`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/
|
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`
|
WORKAROUND: in the dev container terminal, use make directly, i.e.: `make`
|
||||||
The ROM can be found in the `build` directory.
|
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`.
|
||||||
|
@ -4,13 +4,13 @@ cd %~dp0tools\sc64\
|
|||||||
|
|
||||||
:: Make sure we are connected
|
:: Make sure we are connected
|
||||||
echo Detecting SC64...
|
echo Detecting SC64...
|
||||||
sc64 --print-state
|
sc64deployer --print-state
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
echo:
|
echo:
|
||||||
:: Load the ROM
|
:: Load the ROM
|
||||||
echo Loading ROM...
|
echo Loading ROM...
|
||||||
sc64 --boot direct-rom %~dp0output\N64FlashcartMenu.z64
|
sc64deployer --boot direct-rom %~dp0output\N64FlashcartMenu.z64
|
||||||
|
|
||||||
echo:
|
echo:
|
||||||
echo:
|
echo:
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
# Source
|
# Source
|
||||||
https://github.com/Polprzewodnikowy/SummerCart64
|
This Directory.
|
||||||
|
|
||||||
# License
|
# License
|
||||||
GPL-3.0 license
|
See root directory.
|
||||||
|
|
||||||
# Description
|
# 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
|
# Notes
|
||||||
It might be preferable to change to a submodule.
|
The deployer `sc64deployer` needs to be downloaded from https://github.com/Polprzewodnikowy/SummerCart64/releases/tag/v2.14.0 and placed in this folder.
|
||||||
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.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user