mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-02 16:59:03 +00:00
Modernize MakeROM build system + bug fixes (#120)
* Move files around to new directory structure * Rework libyaml into a stand-alone dep for makerom. * Rework libpolarssl to be standalone dependency for makerom. * Update includes. * Delete makefile * Add new makefile for makerom. * Update MakeROM github actions script. * Fix again. * Update MakeROM's makefile * Tweak makerom build script * Tweak MakeROM build script. * Fix typo * Update MakeROM makefiles. * Tweak CTRTool build script. * Tweak build script * Tweak CTRTool build script. * Tweak CTRTool build script * Add libmbedtls to makerom deps * Partially migrate makerom to libmbedtls * Break out libblz as an external dependency for makerom. * Tweak makerom build script. * Move dependencies to the top level. * Put everything back. * misc * Update makerom documentation. * Link to ctrtool/makerom readmes from the root readme. * Update root readme again. * Migrate makerom to modern mbedtls * Bump makerom version to 0.18.1 * Change signing errors to be warnings when they fail. * Add error verbosity to errors when generating CIA files. * Fix bug in RSA code. * misc. * Remove polarssl now migration to mbedtls complete. * Surface more makerom errors. * [makerom] Tolerate CCI signing errors as a warning. * Add missing return. * Import initial data key_x (prod/dev included) * [makerom] Fix initial data generation.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Project Name
|
||||
PROJECT_NAME = Project_CTR
|
||||
|
||||
# Project Relative Paths
|
||||
PROJECT_PATH = $(CURDIR)
|
||||
PROJECT_PROGRAM_LOCAL_DIR = ctrtool makerom
|
||||
|
||||
# Detect Platform
|
||||
ifeq ($(PROJECT_PLATFORM),)
|
||||
ifeq ($(OS), Windows_NT)
|
||||
export PROJECT_PLATFORM = WIN32
|
||||
else
|
||||
UNAME = $(shell uname -s)
|
||||
ifeq ($(UNAME), Darwin)
|
||||
export PROJECT_PLATFORM = MACOS
|
||||
else
|
||||
export PROJECT_PLATFORM = GNU
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Detect Architecture
|
||||
ifeq ($(PROJECT_PLATFORM_ARCH),)
|
||||
ifeq ($(PROJECT_PLATFORM), WIN32)
|
||||
export PROJECT_PLATFORM_ARCH = x86_64
|
||||
else ifeq ($(PROJECT_PLATFORM), GNU)
|
||||
export PROJECT_PLATFORM_ARCH = $(shell uname -m)
|
||||
else ifeq ($(PROJECT_PLATFORM), MACOS)
|
||||
export PROJECT_PLATFORM_ARCH = $(shell uname -m)
|
||||
else
|
||||
export PROJECT_PLATFORM_ARCH = x86_64
|
||||
endif
|
||||
endif
|
||||
|
||||
# all is the default, user should specify what the default should do
|
||||
# - 'deps' for building local dependencies.
|
||||
# - 'program' for building executable programs.
|
||||
all: progs
|
||||
|
||||
clean: clean_progs
|
||||
|
||||
# Programs
|
||||
.PHONY: progs
|
||||
progs:
|
||||
@$(foreach prog,$(PROJECT_PROGRAM_LOCAL_DIR), cd "$(prog)" && $(MAKE) deps program && cd "$(PROJECT_PATH)";)
|
||||
|
||||
.PHONY: clean_progs
|
||||
clean_progs:
|
||||
@$(foreach prog,$(PROJECT_PROGRAM_LOCAL_DIR), cd "$(prog)" && $(MAKE) clean_deps clean && cd "$(PROJECT_PATH)";)
|
||||
Reference in New Issue
Block a user