Initial commit.
This commit is contained in:
commit
1d304f54dc
8 changed files with 455 additions and 0 deletions
BIN
3ds/bannertool-linux
Executable file
BIN
3ds/bannertool-linux
Executable file
Binary file not shown.
BIN
3ds/bannertool-mac
Normal file
BIN
3ds/bannertool-mac
Normal file
Binary file not shown.
BIN
3ds/bannertool.exe
Executable file
BIN
3ds/bannertool.exe
Executable file
Binary file not shown.
BIN
3ds/makerom-linux
Executable file
BIN
3ds/makerom-linux
Executable file
Binary file not shown.
BIN
3ds/makerom-mac
Normal file
BIN
3ds/makerom-mac
Normal file
Binary file not shown.
BIN
3ds/makerom.exe
Executable file
BIN
3ds/makerom.exe
Executable file
Binary file not shown.
218
3ds/template.rsf
Normal file
218
3ds/template.rsf
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
BasicInfo:
|
||||||
|
Title : $(APP_TITLE)
|
||||||
|
ProductCode : $(APP_PRODUCT_CODE)
|
||||||
|
Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
|
||||||
|
|
||||||
|
RomFs:
|
||||||
|
$(APP_ROMFS)
|
||||||
|
|
||||||
|
TitleInfo:
|
||||||
|
Category : Application
|
||||||
|
UniqueId : $(APP_UNIQUE_ID)
|
||||||
|
|
||||||
|
Option:
|
||||||
|
UseOnSD : true # true if App is to be installed to SD
|
||||||
|
FreeProductCode : true # Removes limitations on ProductCode
|
||||||
|
MediaFootPadding : false # If true CCI files are created with padding
|
||||||
|
EnableCrypt : $(APP_ENCRYPTED) # Enables encryption for NCCH and CIA
|
||||||
|
EnableCompress : true # Compresses where applicable (currently only exefs:/.code)
|
||||||
|
|
||||||
|
AccessControlInfo:
|
||||||
|
CoreVersion : 2
|
||||||
|
|
||||||
|
# Exheader Format Version
|
||||||
|
DescVersion : 2
|
||||||
|
|
||||||
|
# Minimum Required Kernel Version (below is for 4.5.0)
|
||||||
|
ReleaseKernelMajor : "02"
|
||||||
|
ReleaseKernelMinor : "33"
|
||||||
|
|
||||||
|
# ExtData
|
||||||
|
UseExtSaveData : false # enables ExtData
|
||||||
|
#ExtSaveDataId : 0x300 # only set this when the ID is different to the UniqueId
|
||||||
|
|
||||||
|
# FS:USER Archive Access Permissions
|
||||||
|
# Uncomment as required
|
||||||
|
FileSystemAccess:
|
||||||
|
#- CategorySystemApplication
|
||||||
|
#- CategoryHardwareCheck
|
||||||
|
- CategoryFileSystemTool
|
||||||
|
#- Debug
|
||||||
|
#- TwlCardBackup
|
||||||
|
#- TwlNandData
|
||||||
|
#- Boss
|
||||||
|
- DirectSdmc
|
||||||
|
#- Core
|
||||||
|
#- CtrNandRo
|
||||||
|
#- CtrNandRw
|
||||||
|
#- CtrNandRoWrite
|
||||||
|
#- CategorySystemSettings
|
||||||
|
#- CardBoard
|
||||||
|
#- ExportImportIvs
|
||||||
|
#- DirectSdmcWrite
|
||||||
|
#- SwitchCleanup
|
||||||
|
#- SaveDataMove
|
||||||
|
#- Shop
|
||||||
|
#- Shell
|
||||||
|
#- CategoryHomeMenu
|
||||||
|
|
||||||
|
# Process Settings
|
||||||
|
MemoryType : Application # Application/System/Base
|
||||||
|
SystemMode : $(APP_SYSTEM_MODE) # 64MB(Default)/96MB/80MB/72MB/32MB
|
||||||
|
IdealProcessor : 0
|
||||||
|
AffinityMask : 1
|
||||||
|
Priority : 16
|
||||||
|
MaxCpu : 0x9E # Default
|
||||||
|
HandleTableSize : 0x200
|
||||||
|
DisableDebug : false
|
||||||
|
EnableForceDebug : false
|
||||||
|
CanWriteSharedPage : true
|
||||||
|
CanUsePrivilegedPriority : false
|
||||||
|
CanUseNonAlphabetAndNumber : true
|
||||||
|
PermitMainFunctionArgument : true
|
||||||
|
CanShareDeviceMemory : true
|
||||||
|
RunnableOnSleep : false
|
||||||
|
SpecialMemoryArrange : true
|
||||||
|
|
||||||
|
# New3DS Exclusive Process Settings
|
||||||
|
SystemModeExt : $(APP_SYSTEM_MODE_EXT) # Legacy(Default)/124MB/178MB Legacy:Use Old3DS SystemMode
|
||||||
|
CpuSpeed : 804MHz # 256MHz(Default)/804MHz
|
||||||
|
EnableL2Cache : true # false(default)/true
|
||||||
|
CanAccessCore2 : true
|
||||||
|
|
||||||
|
# Virtual Address Mappings
|
||||||
|
IORegisterMapping:
|
||||||
|
- 1ff00000-1ff7ffff # DSP memory
|
||||||
|
MemoryMapping:
|
||||||
|
- 1f000000-1f5fffff:r # VRAM
|
||||||
|
|
||||||
|
# Accessible SVCs, <Name>:<ID>
|
||||||
|
SystemCallAccess:
|
||||||
|
ArbitrateAddress: 34
|
||||||
|
Backdoor: 123
|
||||||
|
Break: 60
|
||||||
|
CancelTimer: 28
|
||||||
|
ClearEvent: 25
|
||||||
|
ClearTimer: 29
|
||||||
|
CloseHandle: 35
|
||||||
|
ConnectToPort: 45
|
||||||
|
ControlMemory: 1
|
||||||
|
ControlProcessMemory: 112
|
||||||
|
CreateAddressArbiter: 33
|
||||||
|
CreateEvent: 23
|
||||||
|
CreateMemoryBlock: 30
|
||||||
|
CreateMutex: 19
|
||||||
|
CreateSemaphore: 21
|
||||||
|
CreateThread: 8
|
||||||
|
CreateTimer: 26
|
||||||
|
DuplicateHandle: 39
|
||||||
|
ExitProcess: 3
|
||||||
|
ExitThread: 9
|
||||||
|
GetCurrentProcessorNumber: 17
|
||||||
|
GetHandleInfo: 41
|
||||||
|
GetProcessId: 53
|
||||||
|
GetProcessIdOfThread: 54
|
||||||
|
GetProcessIdealProcessor: 6
|
||||||
|
GetProcessInfo: 43
|
||||||
|
GetResourceLimit: 56
|
||||||
|
GetResourceLimitCurrentValues: 58
|
||||||
|
GetResourceLimitLimitValues: 57
|
||||||
|
GetSystemInfo: 42
|
||||||
|
GetSystemTick: 40
|
||||||
|
GetThreadContext: 59
|
||||||
|
GetThreadId: 55
|
||||||
|
GetThreadIdealProcessor: 15
|
||||||
|
GetThreadInfo: 44
|
||||||
|
GetThreadPriority: 11
|
||||||
|
MapMemoryBlock: 31
|
||||||
|
OutputDebugString: 61
|
||||||
|
QueryMemory: 2
|
||||||
|
ReleaseMutex: 20
|
||||||
|
ReleaseSemaphore: 22
|
||||||
|
SendSyncRequest1: 46
|
||||||
|
SendSyncRequest2: 47
|
||||||
|
SendSyncRequest3: 48
|
||||||
|
SendSyncRequest4: 49
|
||||||
|
SendSyncRequest: 50
|
||||||
|
SetThreadPriority: 12
|
||||||
|
SetTimer: 27
|
||||||
|
SignalEvent: 24
|
||||||
|
SleepThread: 10
|
||||||
|
UnmapMemoryBlock: 32
|
||||||
|
WaitSynchronization1: 36
|
||||||
|
WaitSynchronizationN: 37
|
||||||
|
|
||||||
|
# Service List
|
||||||
|
# Maximum 34 services (32 if firmware is prior to 9.6.0)
|
||||||
|
ServiceAccessControl:
|
||||||
|
- APT:U
|
||||||
|
- ac:u
|
||||||
|
- am:net
|
||||||
|
- boss:U
|
||||||
|
- cam:u
|
||||||
|
- cecd:u
|
||||||
|
- cfg:nor
|
||||||
|
- cfg:u
|
||||||
|
- csnd:SND
|
||||||
|
- dsp::DSP
|
||||||
|
- frd:u
|
||||||
|
- fs:USER
|
||||||
|
- gsp::Gpu
|
||||||
|
- hid:USER
|
||||||
|
- http:C
|
||||||
|
- ir:rst
|
||||||
|
- ir:u
|
||||||
|
- ir:USER
|
||||||
|
- mic:u
|
||||||
|
- ndm:u
|
||||||
|
- news:u
|
||||||
|
- nwm::UDS
|
||||||
|
- ptm:u
|
||||||
|
- pxi:dev
|
||||||
|
- soc:U
|
||||||
|
- ssl:C
|
||||||
|
- y2r:u
|
||||||
|
|
||||||
|
|
||||||
|
SystemControlInfo:
|
||||||
|
SaveDataSize: 0KB # Change if the app uses savedata
|
||||||
|
RemasterVersion: 2
|
||||||
|
StackSize: 0x40000
|
||||||
|
|
||||||
|
# Modules that run services listed above should be included below
|
||||||
|
# Maximum 48 dependencies
|
||||||
|
# <module name>:<module titleid>
|
||||||
|
Dependency:
|
||||||
|
ac: 0x0004013000002402
|
||||||
|
#act: 0x0004013000003802
|
||||||
|
am: 0x0004013000001502
|
||||||
|
boss: 0x0004013000003402
|
||||||
|
camera: 0x0004013000001602
|
||||||
|
cecd: 0x0004013000002602
|
||||||
|
cfg: 0x0004013000001702
|
||||||
|
codec: 0x0004013000001802
|
||||||
|
csnd: 0x0004013000002702
|
||||||
|
dlp: 0x0004013000002802
|
||||||
|
dsp: 0x0004013000001a02
|
||||||
|
friends: 0x0004013000003202
|
||||||
|
gpio: 0x0004013000001b02
|
||||||
|
gsp: 0x0004013000001c02
|
||||||
|
hid: 0x0004013000001d02
|
||||||
|
http: 0x0004013000002902
|
||||||
|
i2c: 0x0004013000001e02
|
||||||
|
ir: 0x0004013000003302
|
||||||
|
mcu: 0x0004013000001f02
|
||||||
|
mic: 0x0004013000002002
|
||||||
|
ndm: 0x0004013000002b02
|
||||||
|
news: 0x0004013000003502
|
||||||
|
#nfc: 0x0004013000004002
|
||||||
|
nim: 0x0004013000002c02
|
||||||
|
nwm: 0x0004013000002d02
|
||||||
|
pdn: 0x0004013000002102
|
||||||
|
ps: 0x0004013000003102
|
||||||
|
ptm: 0x0004013000002202
|
||||||
|
#qtm: 0x0004013020004202
|
||||||
|
ro: 0x0004013000003702
|
||||||
|
socket: 0x0004013000002e02
|
||||||
|
spi: 0x0004013000002302
|
||||||
|
ssl: 0x0004013000002f02
|
237
make_base
Normal file
237
make_base
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
ifeq ($(TARGET),3DS)
|
||||||
|
ifeq ($(strip $(DEVKITPRO)),)
|
||||||
|
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPro")
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(DEVKITARM)),)
|
||||||
|
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# TOOLS #
|
||||||
|
|
||||||
|
BUILDTOOLS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||||
|
|
||||||
|
define createdirrule
|
||||||
|
$(1): | $(dir $(1))
|
||||||
|
|
||||||
|
ifndef $(dir $(1))_DIRECTORY_RULE_IS_DEFINED
|
||||||
|
$(dir $(1)):
|
||||||
|
@mkdir -p $$@
|
||||||
|
|
||||||
|
$(dir $(1))_DIRECTORY_RULE_IS_DEFINED := 1
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
rwildcard=$(wildcard $1/$2) $(foreach d,$(wildcard $1/*),$(call rwildcard,$d,$2))
|
||||||
|
|
||||||
|
# SETUP #
|
||||||
|
|
||||||
|
OBJECT_FILES := $(foreach dir,$(SOURCE_DIRS), \
|
||||||
|
$(patsubst %.c,$(BUILD_DIR)/%.o,$(call rwildcard,$(dir),*.c)) \
|
||||||
|
$(patsubst %.cpp,$(BUILD_DIR)/%.o,$(call rwildcard,$(dir),*.cpp)) \
|
||||||
|
$(patsubst %.s,$(BUILD_DIR)/%.o,$(call rwildcard,$(dir),*.s)) \
|
||||||
|
$(patsubst %.bin,$(BUILD_DIR)/%.bin.o,$(call rwildcard,$(dir),*.bin)) \
|
||||||
|
$(patsubst %.v.pica,$(BUILD_DIR)/%.shbin.o,$(call rwildcard,$(dir),*.v.pica)) \
|
||||||
|
$(patsubst %.shlist,$(BUILD_DIR)/%.shbin.o,$(call rwildcard,$(dir),*.shlist)) \
|
||||||
|
)
|
||||||
|
|
||||||
|
OUTPUT_ZIP_FILE := $(OUTPUT_DIR)/$(NAME).zip
|
||||||
|
ifeq ($(LIBRARY),1)
|
||||||
|
OUTPUT_FILES := $(OUTPUT_DIR)/lib$(NAME).a $(OUTPUT_DIR)/lib$(NAME).so
|
||||||
|
else ifeq ($(TARGET),3DS)
|
||||||
|
OUTPUT_FILES := $(OUTPUT_DIR)/$(NAME).elf $(OUTPUT_DIR)/3ds/$(NAME)/$(NAME).smdh $(OUTPUT_DIR)/3ds/$(NAME)/$(NAME).3dsx $(OUTPUT_DIR)/$(NAME).3ds $(OUTPUT_DIR)/$(NAME).cia
|
||||||
|
else
|
||||||
|
OUTPUT_FILES := $(OUTPUT_DIR)/$(NAME)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),3DS)
|
||||||
|
AR := $(DEVKITARM)/bin/arm-none-eabi-ar
|
||||||
|
AS := $(DEVKITARM)/bin/arm-none-eabi-as
|
||||||
|
CC := $(DEVKITARM)/bin/arm-none-eabi-gcc
|
||||||
|
CXX := $(DEVKITARM)/bin/arm-none-eabi-g++
|
||||||
|
else
|
||||||
|
AR := ar
|
||||||
|
AS := as
|
||||||
|
CC := gcc
|
||||||
|
CXX := g++
|
||||||
|
endif
|
||||||
|
|
||||||
|
LD_FLAGS := $(patsubst %,-L%/lib,$(LIBRARY_DIRS)) $(patsubst %,-l%,$(LIBRARIES))
|
||||||
|
COMMON_CC_FLAGS := $(patsubst %,-I%,$(INCLUDE_DIRS)) $(patsubst %,-I%/include,$(LIBRARY_DIRS)) -g -Wall -O2 $(BUILD_FLAGS)
|
||||||
|
ifeq ($(LIBRARY),1)
|
||||||
|
COMMON_CC_FLAGS += -fPIC
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),3DS)
|
||||||
|
COMMON_CC_FLAGS += -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -DARM11 -D_3DS
|
||||||
|
LD_FLAGS += -specs=3dsx.specs
|
||||||
|
endif
|
||||||
|
|
||||||
|
CC_FLAGS := $(COMMON_CC_FLAGS) -std=gnu99
|
||||||
|
CXX_FLAGS := $(COMMON_CC_FLAGS) -std=gnu++11
|
||||||
|
|
||||||
|
ifeq ($(TARGET),3DS)
|
||||||
|
ifeq ($(suffix $(BANNER_IMAGE)),".cgfx")
|
||||||
|
BANNER_IMAGE_ARG := -ci
|
||||||
|
else
|
||||||
|
BANNER_IMAGE_ARG := -i
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(suffix $(BANNER_AUDIO)),".cwav")
|
||||||
|
BANNER_AUDIO_ARG := -ca
|
||||||
|
else
|
||||||
|
BANNER_AUDIO_ARG := -a
|
||||||
|
endif
|
||||||
|
|
||||||
|
RSF := $(BUILDTOOLS_DIR)/3ds/template.rsf
|
||||||
|
|
||||||
|
ROMFS_PARAM :=
|
||||||
|
ifneq ("$(wildcard $(ROMFS_DIR))","")
|
||||||
|
ROMFS_PARAM := -DAPP_ROMFS="RootPath: $(ROMFS_DIR)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
COMMON_MAKEROM_PARAMS := -rsf $(RSF) -target t -exefslogo -icon $(BUILD_DIR)/icon.icn -banner $(BUILD_DIR)/banner.bnr -DAPP_TITLE="$(NAME)" -DAPP_PRODUCT_CODE="$(PRODUCT_CODE)" -DAPP_UNIQUE_ID="$(UNIQUE_ID)" $(ROMFS_PARAM) -DAPP_SYSTEM_MODE="$(SYSTEM_MODE)" -DAPP_SYSTEM_MODE_EXT="$(SYSTEM_MODE_EXT)"
|
||||||
|
|
||||||
|
SMDHTOOL := $(DEVKITARM)/bin/smdhtool
|
||||||
|
_3DSXTOOL := $(DEVKITARM)/bin/3dsxtool
|
||||||
|
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
MAKEROM := $(BUILDTOOLS_DIR)/3ds/makerom.exe
|
||||||
|
BANNERTOOL := $(BUILDTOOLS_DIR)/3ds/bannertool.exe
|
||||||
|
else
|
||||||
|
UNAME_S := $(shell uname -s)
|
||||||
|
ifeq ($(UNAME_S),Linux)
|
||||||
|
MAKEROM := $(BUILDTOOLS_DIR)/3ds/makerom-linux
|
||||||
|
BANNERTOOL := $(BUILDTOOLS_DIR)/3ds/bannertool-linux
|
||||||
|
endif
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
MAKEROM := $(BUILDTOOLS_DIR)/3ds/makerom-mac
|
||||||
|
BANNERTOOL := $(BUILDTOOLS_DIR)/3ds/bannertool-mac
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
_3DSXFLAGS :=
|
||||||
|
ifneq ("$(wildcard $(ROMFS_DIR))","")
|
||||||
|
_3DSXFLAGS += --romfs=$(ROMFS_DIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# RULES #
|
||||||
|
|
||||||
|
.PHONY: all run clean
|
||||||
|
.PRECIOUS: %.bnr %.icn
|
||||||
|
|
||||||
|
all: $(OUTPUT_ZIP_FILE)
|
||||||
|
|
||||||
|
ifneq ($(LIBRARY),1)
|
||||||
|
run: $(OUTPUT_FILES)
|
||||||
|
./$< $(RUN_FLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -rf $(BUILD_DIR) $(OUTPUT_DIR)
|
||||||
|
@echo "Cleaned."
|
||||||
|
|
||||||
|
$(foreach file,$(OBJECT_FILES),$(eval $(call createdirrule,$(file))))
|
||||||
|
$(foreach file,$(OUTPUT_FILES),$(eval $(call createdirrule,$(file))))
|
||||||
|
|
||||||
|
$(OUTPUT_ZIP_FILE): $(OUTPUT_FILES)
|
||||||
|
@echo $@
|
||||||
|
@cd $(OUTPUT_DIR); \
|
||||||
|
zip -r $(patsubst $(OUTPUT_DIR)/%,%,$@ $^) > /dev/null
|
||||||
|
|
||||||
|
$(OUTPUT_DIR)/$(NAME): $(OBJECT_FILES)
|
||||||
|
@echo $@
|
||||||
|
@$(CXX) $(CXX_FLAGS) $^ -o $@ $(LD_FLAGS)
|
||||||
|
|
||||||
|
%.elf: $(OBJECT_FILES)
|
||||||
|
@echo $@
|
||||||
|
@$(CXX) $(CXX_FLAGS) $^ -o $@ $(LD_FLAGS)
|
||||||
|
|
||||||
|
%.a: $(OBJECT_FILES)
|
||||||
|
@echo $@
|
||||||
|
@$(AR) -rc $@ $^
|
||||||
|
|
||||||
|
%.so: $(OBJECT_FILES)
|
||||||
|
@echo $@
|
||||||
|
@$(CXX) $(CXX_FLAGS) -shared $^ -o $@ $(LD_FLAGS)
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o: %.c
|
||||||
|
@echo $@
|
||||||
|
@$(CC) -c $(CC_FLAGS) -MMD -MP -MF $(BUILD_DIR)/$*.d $< -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o: %.cpp
|
||||||
|
@echo $@
|
||||||
|
@$(CXX) -c $(CXX_FLAGS) -MMD -MP -MF $(BUILD_DIR)/$*.d $< -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o: %.s
|
||||||
|
@echo $@
|
||||||
|
@$(CC) -c $(CC_FLAGS) -MMD -MP -MF -x assembler-with-cpp $(BUILD_DIR)/$*.d $< -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.o: %.S
|
||||||
|
@echo $@
|
||||||
|
@$(CC) -c $(CC_FLAGS) -MMD -MP -MF -x assembler-with-cpp $(BUILD_DIR)/$*.d $< -o $@
|
||||||
|
|
||||||
|
ifeq ($(TARGET),3DS)
|
||||||
|
define bin2o
|
||||||
|
bin2s $< | $(AS) -o $(@)
|
||||||
|
echo "extern const u8" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(<F) | tr . _)`.h
|
||||||
|
echo "extern const u8" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(<F) | tr . _)`.h
|
||||||
|
echo "extern const u32" `(echo $(<F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(<F) | tr . _)`.h
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.bin.o: %.bin
|
||||||
|
@echo $@
|
||||||
|
@$(bin2o)
|
||||||
|
|
||||||
|
define shader-as
|
||||||
|
$(eval CURBIN := $(patsubst %.shbin.o,%.shbin,$(notdir $@)))
|
||||||
|
picasso -o $(CURBIN) $1
|
||||||
|
bin2s $(CURBIN) | $(AS) -o $@
|
||||||
|
echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(CURBIN) | tr . _)`.h
|
||||||
|
echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(CURBIN) | tr . _)`.h
|
||||||
|
echo "extern const u32" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(CURBIN) | tr . _)`.h
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.shbin.o : %.v.pica %.g.pica
|
||||||
|
@echo $@
|
||||||
|
@$(call shader-as,$^)
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.shbin.o : %.v.pica
|
||||||
|
@echo $@
|
||||||
|
@$(call shader-as,$<)
|
||||||
|
|
||||||
|
$(BUILD_DIR)/%.shbin.o : %.shlist
|
||||||
|
@echo $@
|
||||||
|
@$(call shader-as,$(foreach file,$(shell cat $<),$(dir $<)/$(file)))
|
||||||
|
|
||||||
|
%.bnr: $(BANNER_IMAGE) $(BANNER_AUDIO)
|
||||||
|
@echo $@
|
||||||
|
@$(BANNERTOOL) makebanner $(BANNER_IMAGE_ARG) $(BANNER_IMAGE) $(BANNER_AUDIO_ARG) $(BANNER_AUDIO) -o $@ > /dev/null
|
||||||
|
|
||||||
|
%.icn: $(ICON)
|
||||||
|
@echo $@
|
||||||
|
@$(BANNERTOOL) makesmdh -s "$(NAME)" -l "$(DESCRIPTION)" -p "$(AUTHOR)" -i $(ICON) -o $@ > /dev/null
|
||||||
|
|
||||||
|
%.smdh: $(ICON)
|
||||||
|
@echo $@
|
||||||
|
@$(SMDHTOOL) --create "$(NAME)" "$(DESCRIPTION)" "$(AUTHOR)" $(ICON) $@
|
||||||
|
|
||||||
|
$(OUTPUT_DIR)/3ds/$(NAME)/%.3dsx: $(OUTPUT_DIR)/%.elf $(OUTPUT_DIR)/3ds/$(NAME)/%.smdh
|
||||||
|
@echo $@
|
||||||
|
@$(_3DSXTOOL) $< $@ --smdh=$(word 2,$^) $(_3DSXFLAGS)
|
||||||
|
|
||||||
|
%.3ds: %.elf $(BUILD_DIR)/banner.bnr $(BUILD_DIR)/icon.icn
|
||||||
|
@echo $@
|
||||||
|
@$(MAKEROM) -f cci -o $@ -elf $< -DAPP_ENCRYPTED=true $(COMMON_MAKEROM_PARAMS)
|
||||||
|
|
||||||
|
%.cia: %.elf $(BUILD_DIR)/banner.bnr $(BUILD_DIR)/icon.icn
|
||||||
|
@echo $@
|
||||||
|
@$(MAKEROM) -f cia -o $@ -elf $< -DAPP_ENCRYPTED=false $(COMMON_MAKEROM_PARAMS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# DEPENDS #
|
||||||
|
|
||||||
|
DEPENDS := $(OBJECT_FILES:.o=.d)
|
||||||
|
-include $(DEPENDS)
|
Loading…
Add table
Reference in a new issue