Year of the Pikmin

Pikmin 1 setup complete
parts 2 and 3 of asm cleanup done
This commit is contained in:
EpochFlame 2024-01-01 10:16:15 -05:00
parent 3fcd6a1308
commit 17220af4a3
64 changed files with 12888 additions and 676 deletions

5
.gitignore vendored
View File

@ -30,3 +30,8 @@ Debug
.vs
ctx.c
tools/dtk
tools/powerpc/
.ninja_deps
.ninja_log
objdiff.json
__pycache__

144
Makefile
View File

@ -5,8 +5,15 @@ ifneq ($(findstring MSYS,$(shell uname)),)
WINDOWS := 1
endif
# If 0, tells the console to chill out. (Quiets the make process.)
VERBOSE ?= 0
# If MAPGENFLAG set to 1, tells LDFLAGS to generate a mapfile, which makes linking take several minutes.
MAPGENFLAG ?= 0
# Use the all-in-one updater after successful build? (Fails on non-windows platforms)
USE_AOI ?= 0
ifeq ($(VERBOSE),0)
QUIET := @
endif
@ -16,9 +23,29 @@ endif
#-------------------------------------------------------------------------------
NAME := pikmin
VERSION := usa.1
VERSION ?= usa.1
#VERSION := usa.0
ifeq ($(VERSION), usa.1)
VERNUM = 2
else ifeq ($(VERSION), usa.0)
VERNUM = 1
else
VERNUM = 0
endif
# Use the all-in-one updater after successful build? (Fails on non-windows platforms)
ifeq ($(USE_AOI), 1)
ifeq ($(WINDOWS), 1)
USE_AOI = 1
else
@echo "aoi.exe fails on non-windows platforms."
USE_AOI = 0
endif
else
USE_AOI = 0
endif
BUILD_DIR := build/$(NAME).$(VERSION)
# Inputs
@ -26,20 +53,26 @@ S_FILES := $(wildcard asm/*.s)
C_FILES := $(wildcard src/*.c)
CPP_FILES := $(wildcard src/*.cpp)
CPP_FILES += $(wildcard src/*.cp)
LDSCRIPT := ldscript.lcf
LDSCRIPT := $(BUILD_DIR)/ldscript.lcf
AOI := aoi.exe
# Outputs
DOL := $(BUILD_DIR)/main.dol
ELF := $(DOL:.dol=.elf)
MAP := $(BUILD_DIR)/build.map
ifeq ($(MAPGENFLAG),1)
MAPGEN := -map $(MAP)
endif
include obj_files.mk
O_FILES := $(SYSBOOTUP) $(JAUDIO) $(HVQM4DEC) $(SYSCOMMON) $(SYSDOLPHIN)\
$(COLIN) $(KANDO) $(NAKATA) $(NISHIMURA) $(OGAWA) $(YAMASHITA)\
$(BASE) $(OS) $(DB) $(MTX) $(DVD) $(VI) $(PAD) $(AI) $(AR) $(DSP)\
$(CARD) $(HIO) $(GX) $(RUNTIME) $(MSL_C) $(TRK_MINNOW_DOLPHIN)\
$(AMCEXI2) $(AMCNOTSTUB) $(ODEMUEXI2) $(ODENOTSTUB)
O_FILES := $(SYSBOOTUP) $(JAUDIO) $(HVQM4DEC) $(SYS) $(PLUGPIKI) $(DOLPHIN)
DEPENDS := $($(filter *.o,O_FILES):.o=.d)
DEPENDS += $($(filter *.o,E_FILES):.o=.d)
# If a specific .o file is passed as a target, also process its deps
DEPENDS += $(MAKECMDGOALS:.o=.d)
#-------------------------------------------------------------------------------
# Tools
#-------------------------------------------------------------------------------
@ -47,18 +80,11 @@ O_FILES := $(SYSBOOTUP) $(JAUDIO) $(HVQM4DEC) $(SYSCOMMON) $(SYSDOLPHIN)\
MWCC_VERSION := 1.2.5
MWLD_VERSION := 1.2.5
# Compiler versions and flags
$(COLIN): MWCC_VERSION := 1.2.5n
$(KANDO): MWCC_VERSION := 1.2.5n
$(NAKATA): MWCC_VERSION := 1.2.5n
$(NISHIMURA): MWCC_VERSION := 1.2.5n
$(OGAWA): MWCC_VERSION := 1.2.5n
$(YAMASHITA): MWCC_VERSION := 1.2.5n
# Programs
POWERPC ?= tools/powerpc
ifeq ($(WINDOWS),1)
WINE :=
AS := $(DEVKITPPC)/bin/powerpc-eabi-as.exe
AS := $(POWERPC)/powerpc-eabi-as.exe
PYTHON := python
else
WIBO := $(shell command -v wibo 2> /dev/null)
@ -67,7 +93,9 @@ else
else
WINE ?= wine
endif
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
# Disable wine debug output for cleanliness
export WINEDEBUG ?= -all
AS := $(POWERPC)/powerpc-eabi-as
PYTHON := python3
endif
COMPILERS ?= tools/mwcc_compiler
@ -77,16 +105,34 @@ DTK := tools/dtk
ELF2DOL := $(DTK) elf2dol
SHASUM := $(DTK) shasum
ifneq ($(WINDOWS),1)
TRANSFORM_DEP := tools/transform-dep.py
else
TRANSFORM_DEP := tools/transform-win.py
endif
# Options
INCLUDES := -i include/
INCLUDES := -i include/ -i include/stl/
ASM_INCLUDES := -I include/
ASFLAGS := -mgekko $(ASM_INCLUDES)
LDFLAGS := -map $(MAP) -fp hard -nodefaults
CFLAGS = -Cpp_exceptions off -O4,p -fp hard -proc gekko -nodefaults -RTTI on $(INCLUDES)
ASFLAGS := -mgekko $(ASM_INCLUDES) --defsym version=$(VERNUM)
ifeq ($(VERBOSE),1)
# this set of LDFLAGS outputs warnings.
LDFLAGS := $(MAPGEN) -fp hard -nodefaults
endif
ifeq ($(VERBOSE),0)
# this set of LDFLAGS generates no warnings.
LDFLAGS := $(MAPGEN) -fp hard -nodefaults -w off
endif
LIBRARY_LDFLAGS := -nodefaults -fp hard -proc gekko
CFLAGS := -Cpp_exceptions off -O4,p -fp hard -proc gekko -nodefaults -RTTI on -common on -str noreadonly $(INCLUDES)
$(JAUDIO): CFLAGS += -func_align 32
$(MSL_C): CFLAGS += -fp_contract on
ifeq ($(VERBOSE),0)
# this set of ASFLAGS generates no warnings.
ASFLAGS += -W
# this set of CFLAGS generates no warnings.
CFLAGS += -w off
endif
#-------------------------------------------------------------------------------
# Recipes
@ -103,14 +149,17 @@ ALL_DIRS := $(sort $(dir $(O_FILES)))
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
.PHONY: tools
LDSCRIPT := ldscript.lcf
# DOL creation makefile instructions
$(DOL): $(ELF) | $(DTK)
@echo Converting $< to $@
$(QUIET) $(ELF2DOL) $< $@
$(QUIET) $(SHASUM) -c sha1/$(NAME).$(VERSION).sha1
ifneq ($(findstring -map,$(LDFLAGS)),)
$(QUIET) $(PYTHON) tools/calcprogress.py $(DOL) $(MAP)
endif
ifeq ($(USE_AOI),1)
$(WINE) ./aoi.exe
endif
clean:
rm -f -d -r build
@ -125,21 +174,56 @@ $(ELF): $(O_FILES) $(LDSCRIPT)
$(QUIET) @echo $(O_FILES) > build/o_files
$(QUIET) $(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) @build/o_files
%.d.unix: %.d $(TRANSFORM_DEP)
@echo Processing $<
$(QUIET) $(PYTHON) $(TRANSFORM_DEP) $< $@
-include include_link.mk
DEPENDS := $(DEPENDS:.d=.d.unix)
ifneq ($(MAKECMDGOALS), clean)
-include $(DEPENDS)
endif
$(BUILD_DIR)/%.o: %.s
@echo Assembling $<
$(QUIET) mkdir -p $(dir $@)
$(QUIET) $(AS) $(ASFLAGS) -o $@ $<
# for files with capitalized .C extension
$(BUILD_DIR)/%.o: %.C
@echo "Compiling " $<
$(QUIET) mkdir -p $(dir $@)
$(QUIET) $(CC) $(CFLAGS) -c -o $(dir $@) $<
$(BUILD_DIR)/%.o: %.c
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
$(QUIET) mkdir -p $(dir $@)
$(QUIET) $(CC) $(CFLAGS) -c -o $(dir $@) $<
$(BUILD_DIR)/%.o: %.cp
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
$(QUIET) mkdir -p $(dir $@)
$(QUIET) $(CC) $(CFLAGS) -c -o $(dir $@) $<
$(BUILD_DIR)/%.o: %.cpp
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
$(QUIET) mkdir -p $(dir $@)
$(QUIET) $(CC) $(CFLAGS) -c -o $(dir $@) $<
### Extremely lazy recipes for generating context ###
# Example usage: make build/pikmin2.usa/src/plugProjectYamashitaU/farmMgr.h
$(BUILD_DIR)/%.h: %.c
@echo "Compiling and generating context for " $<
$(QUIET) $(CC) $(CFLAGS) -E -c -o $@ $<
$(BUILD_DIR)/%.h: %.cp
@echo "Compiling and generating context for " $<
$(QUIET) $(CC) $(CFLAGS) -E -c -o $@ $<
$(BUILD_DIR)/%.h: %.cpp
@echo "Compiling and generating context for " $<
$(QUIET) $(CC) $(CFLAGS) -E -c -o $@ $<
### Debug Print ###

View File

@ -20,8 +20,8 @@
/* 802200E0 0021D040 7F CE 04 A6 */ mfsr r30, 0xe
/* 802200E4 0021D044 7F EF 04 A6 */ mfsr r31, 0xf
/* 802200E8 0021D048 BE 02 01 A8 */ stmw r16, 0x1a8(r2)
/* 802200EC 0021D04C 7D 4C 42 E6 */ mftb r10, 0x10c
/* 802200F0 0021D050 7D 6D 42 E6 */ mftbu r11
/* 802200EC 0021D04C 7D 4C 42 E6 */ .4byte 0x7D4C42E6 # mftb r10, 0x10c
/* 802200F0 0021D050 7D 6D 42 E6 */ .4byte 0x7D6D42E6 # mftbu r11
/* 802200F4 0021D054 7D 90 FA A6 */ mfspr r12, 0x3f0
/* 802200F8 0021D058 7D B1 FA A6 */ mfspr r13, 0x3f1
/* 802200FC 0021D05C 7D DB 02 A6 */ mfspr r14, 0x1b

View File

@ -56,9 +56,9 @@
.L_801FA164:
/* 801FA164 001F70C4 48 00 00 20 */ b .L_801FA184
.L_801FA168:
/* 801FA168 001F70C8 7C AC 42 E6 */ mftb r5, 0x10c
/* 801FA168 001F70C8 7C AC 42 E6 */ .4byte 0x7CAC42E6 # mftb r5, 0x10c
.L_801FA16C:
/* 801FA16C 001F70CC 7C CC 42 E6 */ mftb r6, 0x10c
/* 801FA16C 001F70CC 7C CC 42 E6 */ .4byte 0x7CCC42E6 # mftb r6, 0x10c
/* 801FA170 001F70D0 7C E5 30 50 */ subf r7, r5, r6
/* 801FA174 001F70D4 28 07 11 24 */ cmplwi r7, 0x1124
/* 801FA178 001F70D8 41 80 FF F4 */ blt .L_801FA16C

View File

@ -1,16 +1,16 @@
.include "macros.inc"
.section .text, "ax" # 0x80005560 - 0x80221F60
.fn OSGetTime, global
/* 801FD3A0 001FA300 7C 6D 42 E6 */ mftbu r3
/* 801FD3A4 001FA304 7C 8C 42 E6 */ mftb r4, 0x10c
/* 801FD3A8 001FA308 7C AD 42 E6 */ mftbu r5
/* 801FD3A0 001FA300 7C 6D 42 E6 */ .4byte 0x7C6D42E6 # mftbu r3
/* 801FD3A4 001FA304 7C 8C 42 E6 */ .4byte 0x7C8C42E6 # mftb r4, 0x10c
/* 801FD3A8 001FA308 7C AD 42 E6 */ .4byte 0x7CAD42E6 # mftbu r5
/* 801FD3AC 001FA30C 7C 03 28 00 */ cmpw r3, r5
/* 801FD3B0 001FA310 40 82 FF F0 */ bne OSGetTime
/* 801FD3B4 001FA314 4E 80 00 20 */ blr
.endfn OSGetTime
.fn OSGetTick, global
/* 801FD3B8 001FA318 7C 6C 42 E6 */ mftb r3, 0x10c
/* 801FD3B8 001FA318 7C 6C 42 E6 */ .4byte 0x7C6C42E6 # mftb r3, 0x10c
/* 801FD3BC 001FA31C 4E 80 00 20 */ blr
.endfn OSGetTick

9030
build.ninja Normal file

File diff suppressed because it is too large Load Diff

1423
configure.py Normal file

File diff suppressed because it is too large Load Diff

18
include/stl/algorithm.h Normal file
View File

@ -0,0 +1,18 @@
#ifndef _STD_ALGORITHM_H
#define _STD_ALGORITHM_H
#include "types.h"
namespace std {
template <typename InputIterator, typename Predicate>
InputIterator find_if(InputIterator first, InputIterator last, Predicate p)
{
for (; first != last && !p(*first); ++first) { }
return first;
}
template <typename ForwardIterator, typename Element, typename Predicate>
ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, const Element& value, Predicate predicate);
} // namespace std
#endif

26
include/stl/ctype.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef _CTYPE_H
#define _CTYPE_H
#include "types.h"
#include "locale.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/ctype_api.h"
#ifdef __cplusplus
extern "C" {
#endif
int tolower(int __c);
inline int isalpha(int c) { return (int)(__ctype_map[(u8)c] & __letter); }
inline int isdigit(int c) { return (int)(__ctype_map[(u8)c] & __digit); }
inline int isspace(int c) { return (int)(__ctype_map[(u8)c] & __whitespace); }
inline int isupper(int c) { return (int)(__ctype_map[(u8)c] & __upper_case); }
inline int isxdigit(int c) { return (int)(__ctype_map[(u8)c] & __hex_digit); }
// added underscore to avoid naming conflicts
inline int _tolower(int c) { return (c == -1 ? -1 : (int)__lower_map[(u8)c]); }
inline int toupper(int c) { return (c == -1 ? -1 : (int)__upper_map[(u8)c]); }
#ifdef __cplusplus
}
#endif
#endif

59
include/stl/errno.h Normal file
View File

@ -0,0 +1,59 @@
#ifndef _ERRNO_H
#define _ERRNO_H
#ifdef __cplusplus
extern "C" {
#endif
// Error constants
#define E2BIG 7
#define EACCES 13
#define EAGAIN 11
#define EBADF 9
#define EBUSY 16
#define ECHILD 10
#define EDEADLK 35
#define EDEADLOCK EDEADLK
#define EDOM 33
#define EEXIST 17
#define EFAULT 14
#define EFBIG 27
#define EFPOS 40
#define EILSEQ 88
#define EINTR 4
#define EINVAL 22
#define EIO 5
#define EISDIR 21
#define EMFILE 24
#define EMLINK 31
#define ENFILE 23
#define ENAMETOOLONG 36
#define ENODEV 19
#define ENOENT 2
#define ENOERR 0
#define ENOEXEC 8
#define ENOLCK 77
#define ENOMEM 12
#define ENOSPC 28
#define ENOSYS 38
#define ENOTDIR 20
#define ENOTEMPTY 39
#define ENOTTY 25
#define ENXIO 6
#define EPERM 1
#define EPIPE 32
#define ERANGE 34
#define EROFS 30
#define ESIGPARM 26
#define ESPIPE 29
#define ESRCH 3
#define EUNKNOWN 99
#define EXDEV 18
extern int errno;
#ifdef __cplusplus
}
#endif
#endif

13
include/stl/extras.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef _EXTRAS_H
#define _EXTRAS_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
int stricmp(const char*, const char*);
#ifdef __cplusplus
}
#endif
#endif

230
include/stl/fdlibm.h Normal file
View File

@ -0,0 +1,230 @@
#ifndef _FDLIBM_H
#define _FDLIBM_H
#include "types.h"
/* @(#)fdlibm.h 1.5 04/04/22 */
/**
* ====================================================
* Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
*
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
/* Sometimes it's necessary to define __LITTLE_ENDIAN explicitly
but these catch some common cases. */
#if defined(i386) || defined(i486) || defined(intel) || defined(x86) || defined(i86pc) || defined(__alpha) || defined(__osf__)
#define __LITTLE_ENDIAN
#endif
#ifdef __LITTLE_ENDIAN
#define __HI(x) *(1 + (int*)&x)
#define __LO(x) *(int*)&x
#define __HIp(x) *(1 + (int*)x)
#define __LOp(x) *(int*)x
#else
#define __HI(x) *(int*)&x
#define __LO(x) *(1 + (int*)&x)
#define __HIp(x) *(int*)x
#define __LOp(x) *(1 + (int*)x)
#endif
// TODO: should __STDC__ actually be defined?
// #ifdef __STDC__
#define __P(p) p
// #else
// #define __P(p) ()
// #endif
/**
* ANSI/POSIX
*/
extern int signgam;
#define MAXFLOAT ((f32)3.40282346638528860e+38)
enum fdversion { fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix };
#define _LIB_VERSION_TYPE enum fdversion
#define _LIB_VERSION _fdlib_version
/* if global variable _LIB_VERSION is not desirable, one may
* change the following to be a constant by:
* #define _LIB_VERSION_TYPE const enum version
* In that case, after one initializes the value _LIB_VERSION (see
* s_lib_version.c) during compile time, it cannot be modified
* in the middle of a program
*/
extern _LIB_VERSION_TYPE _LIB_VERSION;
#define _IEEE_ fdlibm_ieee
#define _SVID_ fdlibm_svid
#define _XOPEN_ fdlibm_xopen
#define _POSIX_ fdlibm_posix
struct exception {
int type;
char* name;
f64 arg1;
f64 arg2;
f64 retval;
};
#define HUGE MAXFLOAT
/**
* set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
* (one may replace the following line by "#include <values.h>")
*/
#define X_TLOSS 1.41484755040568800000e+16
#define DOMAIN 1
#define SING 2
#define OVERFLOW 3
#define UNDERFLOW 4
#define TLOSS 5
#define PLOSS 6
/**
* ANSI/POSIX
*/
extern f64 acos __P((f64));
extern f64 asin __P((f64));
extern f64 atan __P((f64));
extern f64 atan2 __P((f64, f64));
extern f64 cos __P((f64));
extern f64 sin __P((f64));
extern f64 tan __P((f64));
extern f64 cosh __P((f64));
extern f64 sinh __P((f64));
extern f64 tanh __P((f64));
extern f64 exp __P((f64));
extern f64 frexp __P((f64, int*));
extern f64 ldexp __P((f64, int));
extern f64 scalbn __P((f64, int));
extern f64 log __P((f64));
extern f64 log10 __P((f64));
extern f64 modf __P((f64, f64*));
extern f64 pow __P((f64, f64));
extern f64 sqrt __P((f64));
extern f64 ceil __P((f64));
extern f64 fabs __P((f64));
extern f64 floor __P((f64));
extern f64 fmod __P((f64, f64));
extern f64 erf __P((f64));
extern f64 erfc __P((f64));
extern f64 gamma __P((f64));
extern f64 hypot __P((f64, f64));
extern int isnan __P((f64));
extern int finite __P((f64));
extern f64 j0 __P((f64));
extern f64 j1 __P((f64));
extern f64 jn __P((int, f64));
extern f64 lgamma __P((f64));
extern f64 y0 __P((f64));
extern f64 y1 __P((f64));
extern f64 yn __P((int, f64));
extern f64 acosh __P((f64));
extern f64 asinh __P((f64));
extern f64 atanh __P((f64));
extern f64 cbrt __P((f64));
extern f64 logb __P((f64));
extern f64 nextafter __P((f64, f64));
extern f64 remainder __P((f64, f64));
#ifdef _SCALB_INT
extern f64 scalb __P((f64, int));
#else
extern f64 scalb __P((f64, f64));
#endif
extern int matherr __P((struct exception*));
/**
* IEEE Test Vector
*/
extern f64 significand __P((f64));
/**
* Functions callable from C, intended to support IEEE arithmetic.
*/
extern f64 copysign __P((f64, f64));
extern int ilogb __P((f64));
extern f64 rint __P((f64));
extern f64 scalbn __P((f64, int));
/**
* BSD math library entry points
*/
extern f64 expm1 __P((f64));
extern f64 log1p __P((f64));
/**
* Reentrant version of gamma & lgamma; passes signgam back by reference
* as the second argument; user must allocate space for signgam.
*/
#ifdef _REENTRANT
extern f64 gamma_r __P((f64, int*));
extern f64 lgamma_r __P((f64, int*));
#endif /* _REENTRANT */
/* ieee style elementary functions */
extern f64 __ieee754_sqrt __P((f64));
extern f64 __ieee754_acos __P((f64));
extern f64 __ieee754_acosh __P((f64));
extern f64 __ieee754_log __P((f64));
extern f64 __ieee754_atanh __P((f64));
extern f64 __ieee754_asin __P((f64));
extern f64 __ieee754_atan2 __P((f64, f64));
extern f64 __ieee754_exp __P((f64));
extern f64 __ieee754_cosh __P((f64));
extern f64 __ieee754_fmod __P((f64, f64));
extern f64 __ieee754_pow __P((f64, f64));
extern f64 __ieee754_lgamma_r __P((f64, int*));
extern f64 __ieee754_gamma_r __P((f64, int*));
extern f64 __ieee754_lgamma __P((f64));
extern f64 __ieee754_gamma __P((f64));
extern f64 __ieee754_log10 __P((f64));
extern f64 __ieee754_sinh __P((f64));
extern f64 __ieee754_hypot __P((f64, f64));
extern f64 __ieee754_j0 __P((f64));
extern f64 __ieee754_j1 __P((f64));
extern f64 __ieee754_y0 __P((f64));
extern f64 __ieee754_y1 __P((f64));
extern f64 __ieee754_jn __P((int, f64));
extern f64 __ieee754_yn __P((int, f64));
extern f64 __ieee754_remainder __P((f64, f64));
extern int __ieee754_rem_pio2 __P((f64, f64*));
#ifdef _SCALB_INT
extern f64 __ieee754_scalb __P((f64, int));
#else
extern f64 __ieee754_scalb __P((f64, f64));
#endif
/* fdlibm kernel function */
extern f64 __kernel_standard __P((f64, f64, int));
extern f64 __kernel_sin __P((f64, f64, int));
extern f64 __kernel_cos __P((f64, f64));
extern f64 __kernel_tan __P((f64, f64, int));
extern int __kernel_rem_pio2 __P((f64*, f64*, int, int, int, const int*));
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

61
include/stl/float.h Normal file
View File

@ -0,0 +1,61 @@
#ifndef _FLOAT_H
#define _FLOAT_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
extern int __double_max[];
extern int __extended_min[];
extern int __extended_max[];
extern int __float_max[];
extern int __float_epsilon[];
#define FLT_MANT_DIG 24
#define FLT_DIG 6
#define FLT_MIN_EXP (-125)
#define FLT_MIN_10_EXP (-37)
#define FLT_MAX_EXP 128
#define FLT_MAX_10_EXP 38
// #define FLT_MAX 0x1.fffffeP127F
// #define FLT_EPSILON 0x1.000000P-23F
#define FLT_MIN 0x1.000000P-126F
#define FLT_MAX (*(f32*)__float_max)
#define FLT_EPSILON (*(f32*)__float_epsilon)
#define DBL_MANT_DIG 53
#define DBL_DIG 15
#define DBL_MIN_EXP (-1021)
#define DBL_MIN_10_EXP (-308)
#define DBL_MAX_EXP 1024
#define DBL_MAX_10_EXP 308
// #define DBL_MAX 0x1.fffffffffffffP1023
#define DBL_EPSILON 0x1.0000000000000P-52
#define DBL_MIN 0x1.0000000000000P-1022
#define DBL_MAX (*(f64*)__double_max)
#define LDBL_MANT_DIG 53
#define LDBL_DIG 15
#define LDBL_MIN_EXP (-1021)
#define LDBL_MIN_10_EXP (-308)
#define LDBL_MAX_EXP 1024
#define LDBL_MAX_10_EXP 308
// #define LDBL_MAX 0x1.fffffffffffffP1023L
#define LDBL_EPSILON 0x1.0000000000000P-52L
// #define LDBL_MIN 0x1.0000000000000P-1022L
#define LDBL_MAX (*(f128*)__extended_max)
#define LDBL_MIN (*(f128*)__extended_min)
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

20
include/stl/functional.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef _STD_FUNCTIONAL_H
#define _STD_FUNCTIONAL_H
#include "types.h"
namespace std {
template <typename LHS, typename RHS, typename Result>
struct binary_function {
typedef LHS first_argument_type;
typedef RHS second_argument_type;
typedef Result result_type;
};
template <typename T>
struct less : public binary_function<T, T, bool> {
bool operator()(const T& lhs, const T& rhs) const { return lhs < rhs; }
};
} // namespace std
#endif

40
include/stl/iterator.h Normal file
View File

@ -0,0 +1,40 @@
#ifndef _STD_ITERATOR_H
#define _STD_ITERATOR_H
#ifdef __cplusplus
namespace std {
typedef s32 ptrdiff_t;
struct input_iterator_tag {
};
struct output_iterator_tag {
};
struct forward_iterator_tag : public input_iterator_tag {
};
struct bidirectional_iterator_tag : public forward_iterator_tag {
};
struct randomAccess_iterator_tag : public bidirectional_iterator_tag {
};
template <typename Iterator>
struct iterator_traits {
typedef typename Iterator::difference_type difference_type;
typedef typename Iterator::value_type value_type;
typedef typename Iterator::pointer pointer;
typedef typename Iterator::reference reference;
typedef typename Iterator::iterator_category iterator_category;
};
template <typename IteratorTag, typename ValueType, typename DifferenceType = ptrdiff_t, typename Pointer = ValueType*,
typename Reference = ValueType&>
struct iterator {
typedef IteratorTag iterator_category;
typedef ValueType value_type;
typedef DifferenceType difference_type;
typedef Pointer pointer;
typedef Reference reference;
};
} // namespace std
#endif
#endif

104
include/stl/limits.h Normal file
View File

@ -0,0 +1,104 @@
#ifndef _LIMITS_H
#define _LIMITS_H
#include "types.h"
#include "stl/iterator.h"
#ifdef __cplusplus
extern "C" {
#endif
#define CHAR_BIT 8
#define SCHAR_MIN (-0x7F - 1)
#define SCHAR_MAX 0x7F
#define UCHAR_MAX 0xFF
#define CHAR_MIN 0
#define CHAR_MAX SCHAR_MAX
#define SHRT_MIN (-0x7FFF - 1)
#define SHRT_MAX 0x7FFF
#define USHRT_MAX 0xFFFF
#define INT_MIN (-0x7FFFFFFF - 1)
#define INT_MAX 0x7FFFFFFF
#define UINT_MAX 0xFFFFFFFF
#define LONG_MIN (-0x7FFFFFFFL - 1)
#define LONG_MAX 0x7FFFFFFFL
#define ULONG_MAX 0xFFFFFFFFUL
#define LLONG_MIN (-0x7FFFFFFFFFFFFFFFLL - 1)
#define LLONG_MAX 0x7FFFFFFFFFFFFFFFLL
#define ULLONG_MAX 0xFFFFFFFFFFFFFFFFULL
#ifdef __cplusplus
}
namespace std {
template <typename T>
class numeric_limits {
public:
inline static T min();
inline static T max();
};
template <>
class numeric_limits<char> {
public:
inline static char min() { return -0x80; }
inline static char max() { return 0x7F; }
};
template <>
class numeric_limits<s16> {
public:
inline static s16 min() { return -0x8000; }
inline static s16 max() { return 0x7FFF; }
};
template <>
class numeric_limits<int> {
public:
inline static int min() { return -0x80000000; }
inline static int max() { return 0x7FFFFFFF; }
};
template <>
class numeric_limits<s32> {
public:
inline static s32 min() { return -0x80000000; }
inline static s32 max() { return 0x7FFFFFFF; }
};
template <>
class numeric_limits<u8> {
public:
inline static u8 min() { return 0x0; }
inline static u8 max() { return 0xFF; }
};
template <>
class numeric_limits<u16> {
public:
inline static u16 min() { return 0x0; }
inline static u16 max() { return 0xFFFF; }
};
template <>
class numeric_limits<uint> {
public:
inline static uint min() { return 0x0; }
inline static uint max() { return 0xFFFFFFFF; }
};
template <>
class numeric_limits<u32> {
public:
inline static u32 min() { return 0x0; }
inline static u32 max() { return 0xFFFFFFFF; }
};
} // namespace std
#endif
#endif

122
include/stl/locale.h Normal file
View File

@ -0,0 +1,122 @@
#ifndef _LOCALE_H
#define _LOCALE_H
#include "types.h"
#include "stdlib.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef int (*__decode_mbyte)(wchar_t*, const char*, size_t);
typedef int (*__encode_mbyte)(char*, wchar_t);
struct lconv {
char* decimal_point;
char* thousands_sep;
char* grouping;
char* mon_decimal_point;
char* mon_thousands_sep;
char* mon_grouping;
char* positive_sign;
char* negative_sign;
char* currency_symbol;
char frac_digits;
char p_cs_precedes;
char n_cs_precedes;
char p_sep_by_space;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char* int_curr_symbol;
char int_frac_digits;
char int_p_cs_precedes;
char int_n_cs_precedes;
char int_p_sep_by_space;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
};
struct _loc_mon_cmpt {
char CmptName[8];
char* mon_decimal_point;
char* mon_thousands_sep;
char* mon_grouping;
char* positive_sign;
char* negative_sign;
char* currency_symbol;
char frac_digits;
char p_cs_precedes;
char n_cs_precedes;
char p_sep_by_space;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char* int_curr_symbol;
char int_frac_digits;
char int_p_cs_precedes;
char int_n_cs_precedes;
char int_p_sep_by_space;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
};
struct _loc_num_cmpt {
char CmptName[8];
char* decimal_point;
char* thousands_sep;
char* grouping;
};
struct _loc_time_cmpt {
char CmptName[8];
char* am_pm;
char* DateTime_Format;
char* Twelve_hr_format;
char* Date_Format;
char* Time_Format;
char* Day_Names;
char* MonthNames;
char* TimeZone;
};
struct _loc_coll_cmpt {
char CmptName[8];
int char_start_value;
int char_coll_tab_size;
s16 char_spec_accents;
u16* char_coll_table_ptr;
u16* wchar_coll_seq_ptr;
};
struct _loc_ctype_cmpt {
char CmptName[8];
const u16* ctype_map_ptr;
const u8* upper_map_ptr;
const u8* lower_map_ptr;
const u16* wctype_map_ptr;
const wchar_t* wupper_map_ptr;
const wchar_t* wlower_map_ptr;
__decode_mbyte decode_mb;
__encode_mbyte encode_wc;
};
struct __locale {
struct __locale* next_locale;
char locale_name[48];
struct _loc_coll_cmpt* coll_cmpt_ptr;
struct _loc_ctype_cmpt* ctype_cmpt_ptr;
struct _loc_mon_cmpt* mon_cmpt_ptr;
struct _loc_num_cmpt* num_cmpt_ptr;
struct _loc_time_cmpt* time_cmpt_ptr;
};
extern struct __locale _current_locale;
extern struct lconv __lconv;
#ifdef __cplusplus
}
#endif
#endif

143
include/stl/math.h Normal file
View File

@ -0,0 +1,143 @@
#ifndef _MATH_H
#define _MATH_H
#include "types.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/math_api.h"
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
#define SQUARE(v) ((v) * (v))
#define IS_WITHIN_CIRCLE(x, z, radius) ((SQUARE(x) + SQUARE(z)) < SQUARE(radius))
#define VECTOR_SQUARE_MAG(v) (SQUARE(v.x) + SQUARE(v.y) + SQUARE(v.z))
#define signbit(x) ((int)(__HI(x) & 0x80000000))
#define ispositive(x) ((((u8*)&x)[0] & 0x80) != 0)
#define INFINITY (*(f32*)__float_huge)
#define NAN (*(f32*)__float_nan)
#define HUGE_VAL (*(f64*)__double_huge)
#define LONG_TAU 6.2831854820251465
#define TAU 6.2831855f
#define PI 3.1415927f
#define HALF_PI 1.5707964f
#define THIRD_PI 1.0471976f
#define QUARTER_PI 0.7853982f
#define SIN_2_5 0.43633234f
#define M_SQRT3 1.73205f
#define DEG2RAD (1.0f / 180.0f)
#define TORADIANS(val) (PI * (DEG2RAD * val))
extern int __float_nan[];
extern int __float_huge[];
extern int __double_huge[];
f64 cos(f64);
f32 cosf(f32);
f64 sin(f64);
f32 sinf(f32);
f64 tan(f64);
f32 tanf(f32);
f64 acos(f64);
f64 asin(f64);
f64 atan(f64);
f64 atan2(f64, f64);
f64 ceil(f64);
f64 floor(f64);
f64 frexp(f64, int*);
f64 ldexp(f64, int);
f64 sqrt(f64);
f64 pow(f64, f64);
f64 log(f64);
f64 log10(f64);
f64 fmod(f64, f64);
f64 scalbn(f64, int);
f64 __ieee754_acos(f64);
f64 __ieee754_fmod(f64, f64);
f64 __ieee754_log(f64);
f64 __ieee754_log10(f64);
f64 __ieee754_pow(f64, f64);
f64 __ieee754_sqrt(f64);
f64 __ieee754_atan2(f64, f64);
f64 __ieee754_asin(f64);
int __ieee754_rem_pio2(f64, f64*);
f64 __kernel_sin(f64, f64, int);
f64 __kernel_cos(f64, f64);
f64 __kernel_tan(f64, f64, int);
f64 __fabs(f64);
f32 __fabsf(f32);
f64 __fnabs(f64);
f32 __fnabsf(f32);
f64 __fmadd(f64, f64, f64);
f64 __fmsub(f64, f64, f64);
f64 __fnmadd(f64, f64, f64);
f64 __fnmsub(f64, f64, f64);
f32 __fmadds(f32, f32, f32);
f32 __fmsubs(f32, f32, f32);
f32 __fnmadds(f32, f32, f32);
f32 __fnmsubs(f32, f32, f32);
f64 __fsel(f64, f64, f64);
f32 __fsels(f32, f32, f32);
f64 __frsqrte(f64);
f32 __fres(f32);
f64 __fsqrt(f64);
f32 __fsqrts(f32);
s64 __fctid(f64);
s64 __fctiw(f64);
f64 __fcfid(s64);
f64 __mffs(void);
void __mtfsf(int, f64);
void __mtfsfi(int, int);
void __mtfsb0(int);
void __mtfsb1(int);
f64 __setflm(f64);
#define FABS(x) (f32) __fabs(x)
#define fabs(x) __fabs(x)
inline f128 fabsl(f128 x) { return __fabs((f64)x); }
/**
* kludges for emulating inlined f versions of funcs.
* Replace these with tanf/sinf/cosf once we have library support in the build chain.
* If my theory is correct, those functions will become inlined by code using libDolphin as a library.
*/
inline f32 tanf_kludge(f32 __x) { return tan((f64)__x); }
inline f32 sinf_kludge(f32 __x) { return sin((f64)__x); }
inline f32 cosf_kludge(f32 __x) { return cos((f64)__x); }
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
static inline f32 dolsqrtf(f32 x)
{
static const f64 _half = .5;
static const f64 _three = 3.0;
vf32 y;
if (x > 0.0f) {
f64 guess = __frsqrte((f64)x); // returns an approximation to
guess = _half * guess * (_three - guess * guess * x); // now have 12 sig bits
guess = _half * guess * (_three - guess * guess * x); // now have 24 sig bits
guess = _half * guess * (_three - guess * guess * x); // now have 32 sig bits
y = (f32)(x * guess);
return y;
}
return x;
}
static inline f32 scaleValue(f32 scale, f32 value) { return scale * value; }
#endif

21
include/stl/mem.h Normal file
View File

@ -0,0 +1,21 @@
#ifndef _MEM_H
#define _MEM_H
#include "types.h"
#include "PowerPC_EABI_Support/Runtime/__mem.h"
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
int memcmp(const void*, const void*, size_t);
void* memchr(u8*, int, size_t);
void* memmove(void*, const void*, size_t);
void* memcpy(void* dest, const void* src, size_t n);
void* memset(void* dest, int val, size_t count);
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

20
include/stl/signal.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef _SIGNAL_H
#define _SIGNAL_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
extern void exit(int);
typedef void (*sig_func)(int sig);
int raise(int sig);
#ifdef __cplusplus
}
#endif
#endif

39
include/stl/stdarg.h Normal file
View File

@ -0,0 +1,39 @@
#ifndef _STDARG_H_
#define _STDARG_H_
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __MWERKS__
typedef struct {
char gpr;
char fpr;
char reserved[2];
char* input_arg_area;
char* reg_save_area;
} __va_list[1];
typedef __va_list va_list;
#ifndef __MWERKS__
extern void __builtin_va_info(va_list*);
#endif
void* __va_arg(va_list v_list, u8 type);
#define va_start(ap, fmt) ((void)fmt, __builtin_va_info(&ap))
#define va_arg(ap, t) (*((t*)__va_arg(ap, _var_arg_typeof(t))))
#define va_end(ap) (void)0
#else
typedef __builtin_va_list va_list;
#define va_start(v, l) __builtin_va_start(v, l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v, l) __builtin_va_arg(v, l)
#endif
#ifdef __cplusplus
}
#endif
#endif

19
include/stl/stdio.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef _STDIO_H
#define _STDIO_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/FILE_POS.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/direct_io.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/file_io.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/printf.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/scanf.h"
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

20
include/stl/stdlib.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef _STDLIB_H
#define _STDLIB_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif // ifdef __cplusplus
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/alloc.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/arith.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/mbstring.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/rand.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/strtold.h"
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/strtoul.h"
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

27
include/stl/string.h Normal file
View File

@ -0,0 +1,27 @@
#ifndef _STRING_H
#define _STRING_H
#include "types.h"
#include "mem.h"
#include "extras.h"
#ifdef __cplusplus
extern "C" {
#endif
char* strcpy(char*, const char*);
char* strncpy(char*, const char*, size_t);
char* strcat(char*, const char*);
char* strncat(char*, const char*, size_t);
int strcmp(const char*, const char*);
int strncmp(const char*, const char*, size_t);
char* strchr(const char*, int);
char* strstr(const char*, const char*);
char* strrchr(const char* str, int chr);
size_t strlen(const char*);
#ifdef __cplusplus
}
#endif
#endif

26
include/stl/utility.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef _STD_PAIR_H
#define _STD_PAIR_H
namespace std {
template <typename T1, typename T2>
struct pair {
T1 first;
T2 second;
};
template <>
struct pair<f32, f32> {
/**
* @note Address: 0x80035520
* @note Size: 0x10
* In: JSystem/JMath/JMATrigonometric.cpp
*/
pair()
: first(0.0f)
, second(0.0f) {};
f32 first;
f32 second;
};
} // namespace std
#endif

16
include/stl/wchar.h Normal file
View File

@ -0,0 +1,16 @@
#ifndef _WCHAR_H
#define _WCHAR_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "PowerPC_EABI_Support/MSL_C/MSL_Common/wchar_io.h"
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif

View File

@ -54,4 +54,14 @@ typedef unsigned long size_t;
#define ATTRIBUTE_ALIGN(num) __attribute__((aligned(num)))
#ifdef __MWERKS__
#define WEAKFUNC __declspec(weak)
#define DECL_SECT(name) __declspec(section name)
#define ASM asm
#else
#define WEAKFUNC
#define DECL_SECT(name)
#define ASM
#endif
#endif

View File

@ -17,6 +17,7 @@
-include src/vi/Makefile
-include src/pad/Makefile
-include src/ai/Makefile
-include src/ar/Makefile
-include src/dsp/Makefile
-include src/card/Makefile
-include src/hio/Makefile

View File

@ -4,646 +4,41 @@ SYSBOOTUP :=\
$(BUILD_DIR)/src/sysBootup.o\
JAUDIO :=\
$(BUILD_DIR)/src/jaudio/dummyprobe.o\
$(BUILD_DIR)/asm/jaudio/memory.o\
$(BUILD_DIR)/asm/jaudio/aictrl.o\
$(BUILD_DIR)/asm/jaudio/sample.o\
$(BUILD_DIR)/asm/jaudio/dummyrom.o\
$(BUILD_DIR)/asm/jaudio/audiothread.o\
$(BUILD_DIR)/asm/jaudio/audiothread_fakebss.o\
$(BUILD_DIR)/asm/jaudio/streamctrl.o\
$(BUILD_DIR)/asm/jaudio/dspbuf.o\
$(BUILD_DIR)/asm/jaudio/cpubuf.o\
$(BUILD_DIR)/asm/jaudio/playercall.o\
$(BUILD_DIR)/asm/jaudio/dvdthread.o\
$(BUILD_DIR)/asm/jaudio/audiomesg.o\
$(BUILD_DIR)/asm/jaudio/rate.o\
$(BUILD_DIR)/asm/jaudio/stackchecker.o\
$(BUILD_DIR)/asm/jaudio/dspboot.o\
$(BUILD_DIR)/asm/jaudio/dspproc.o\
$(BUILD_DIR)/asm/jaudio/ipldec.o\
$(BUILD_DIR)/asm/jaudio/dsp_cardunlock.o\
$(BUILD_DIR)/asm/jaudio/driverinterface.o\
$(BUILD_DIR)/asm/jaudio/dspdriver.o\
$(BUILD_DIR)/asm/jaudio/dspinterface.o\
$(BUILD_DIR)/asm/jaudio/fxinterface.o\
$(BUILD_DIR)/asm/jaudio/bankread.o\
$(BUILD_DIR)/asm/jaudio/waveread.o\
$(BUILD_DIR)/asm/jaudio/connect.o\
$(BUILD_DIR)/asm/jaudio/tables.o\
$(BUILD_DIR)/asm/jaudio/bankdrv.o\
$(BUILD_DIR)/asm/jaudio/random.o\
$(BUILD_DIR)/asm/jaudio/aramcall.o\
$(BUILD_DIR)/asm/jaudio/ja_calc.o\
$(BUILD_DIR)/asm/jaudio/fat.o\
$(BUILD_DIR)/asm/jaudio/cmdstack.o\
$(BUILD_DIR)/asm/jaudio/virload.o\
$(BUILD_DIR)/asm/jaudio/heapctrl.o\
$(BUILD_DIR)/asm/jaudio/jammain_2.o\
$(BUILD_DIR)/asm/jaudio/midplay.o\
$(BUILD_DIR)/asm/jaudio/noteon.o\
$(BUILD_DIR)/asm/jaudio/seqsetup.o\
$(BUILD_DIR)/asm/jaudio/centcalc.o\
$(BUILD_DIR)/asm/jaudio/jamosc.o\
$(BUILD_DIR)/asm/jaudio/oneshot.o\
$(BUILD_DIR)/asm/jaudio/interface.o\
$(BUILD_DIR)/asm/jaudio/verysimple.o\
$(BUILD_DIR)/asm/jaudio/app_inter.o\
$(BUILD_DIR)/asm/jaudio/pikiinter.o\
$(BUILD_DIR)/asm/jaudio/piki_player.o\
$(BUILD_DIR)/asm/jaudio/piki_bgm.o\
$(BUILD_DIR)/asm/jaudio/piki_scene.o\
$(BUILD_DIR)/asm/jaudio/pikidemo.o\
$(BUILD_DIR)/asm/jaudio/file_seq.o\
$(BUILD_DIR)/asm/jaudio/cmdqueue.o\
$(BUILD_DIR)/src/jaudio/filter3d.o\
$(BUILD_DIR)/asm/jaudio/syncstream.o\
$(BUILD_DIR)/asm/jaudio/bankloader.o\
$(BUILD_DIR)/asm/jaudio/interleave.o\
$(BUILD_DIR)/asm/jaudio/pikiseq.o\
$(BUILD_DIR)/asm/jaudio/hplaybss.o\
$(BUILD_DIR)/asm/jaudio/hplaybss2.o\
$(BUILD_DIR)/asm/jaudio/hvqm_play.o\
$(BUILD_DIR)/src/jaudio/jaudio.o\
HVQM4DEC :=\
$(BUILD_DIR)/asm/hvqm4dec/hvqm4dec.o\
$(BUILD_DIR)/src/hvqm4dec/hvqm4dec.a\
SYSCOMMON :=\
$(BUILD_DIR)/asm/sysCommon/ayuStack.o\
$(BUILD_DIR)/asm/sysCommon/baseApp.o\
$(BUILD_DIR)/asm/sysCommon/stream.o\
$(BUILD_DIR)/asm/sysCommon/streamBufferedInput.o\
$(BUILD_DIR)/src/sysCommon/string.o\
$(BUILD_DIR)/asm/sysCommon/graphics.o\
$(BUILD_DIR)/asm/sysCommon/grLight.o\
$(BUILD_DIR)/asm/sysCommon/shapeBase.o\
$(BUILD_DIR)/asm/sysCommon/shpLightFlares.o\
$(BUILD_DIR)/asm/sysCommon/shpObjColl.o\
$(BUILD_DIR)/asm/sysCommon/shpRoutes.o\
$(BUILD_DIR)/asm/sysCommon/sysMath.o\
$(BUILD_DIR)/asm/sysCommon/matMath.o\
$(BUILD_DIR)/asm/sysCommon/stdSystem.o\
$(BUILD_DIR)/asm/sysCommon/node.o\
$(BUILD_DIR)/src/sysCommon/timers.o\
$(BUILD_DIR)/asm/sysCommon/controller.o\
$(BUILD_DIR)/asm/sysCommon/cmdStream.o\
$(BUILD_DIR)/asm/sysCommon/camera.o\
$(BUILD_DIR)/asm/sysCommon/atx.o\
$(BUILD_DIR)/asm/sysCommon/id32.o\
SYS :=\
$(BUILD_DIR)/src/sysCommon/sysCommon.a\
$(BUILD_DIR)/src/sysDolphin/sysDolphin.a\
SYSDOLPHIN :=\
$(BUILD_DIR)/asm/sysDolphin/texture.o\
$(BUILD_DIR)/asm/sysDolphin/system.o\
$(BUILD_DIR)/asm/sysDolphin/sysNew.o\
$(BUILD_DIR)/asm/sysDolphin/controllerMgr.o\
$(BUILD_DIR)/asm/sysDolphin/dgxGraphics.o\
$(BUILD_DIR)/src/sysDolphin/gameApp.o\
PLUGPIKI :=\
$(BUILD_DIR)/src/plugPikiColin/plugPikiColin.a\
$(BUILD_DIR)/src/plugPikiKando/plugPikiKando.a\
$(BUILD_DIR)/src/plugPikiNakata/plugPikiNakata.a\
$(BUILD_DIR)/src/plugPikiNishimura/plugPikiNishimura.a\
$(BUILD_DIR)/src/plugPikiOgawa/plugPikiOgawa.a\
$(BUILD_DIR)/src/plugPikiYamashita/plugPikiYamashita.a\
COLIN :=\
$(BUILD_DIR)/asm/plugPikiColin/cardutil.o\
$(BUILD_DIR)/asm/plugPikiColin/dynsimulator.o\
$(BUILD_DIR)/asm/plugPikiColin/animMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/gameflow.o\
$(BUILD_DIR)/asm/plugPikiColin/game.o\
$(BUILD_DIR)/asm/plugPikiColin/gamePrefs.o\
$(BUILD_DIR)/asm/plugPikiColin/gameSetup.o\
$(BUILD_DIR)/asm/plugPikiColin/cardSelect.o\
$(BUILD_DIR)/asm/plugPikiColin/mapSelect.o\
$(BUILD_DIR)/asm/plugPikiColin/newPikiGame.o\
$(BUILD_DIR)/asm/plugPikiColin/introGame.o\
$(BUILD_DIR)/asm/plugPikiColin/gameExit.o\
$(BUILD_DIR)/asm/plugPikiColin/gauges.o\
$(BUILD_DIR)/asm/plugPikiColin/genMapObject.o\
$(BUILD_DIR)/asm/plugPikiColin/gui.o\
$(BUILD_DIR)/asm/plugPikiColin/parameters.o\
$(BUILD_DIR)/asm/plugPikiColin/plugPiki.o\
$(BUILD_DIR)/asm/plugPikiColin/titles.o\
$(BUILD_DIR)/asm/plugPikiColin/ninLogo.o\
$(BUILD_DIR)/asm/plugPikiColin/mapMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/dayMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/cinePlayer.o\
$(BUILD_DIR)/asm/plugPikiColin/lightPool.o\
$(BUILD_DIR)/asm/plugPikiColin/memoryCard.o\
$(BUILD_DIR)/asm/plugPikiColin/moviePlayer.o\
$(BUILD_DIR)/asm/plugPikiColin/movSample.o\
KANDO :=\
$(BUILD_DIR)/asm/plugPikiKando/omake.o\
$(BUILD_DIR)/asm/plugPikiKando/radarInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/interactBattle.o\
$(BUILD_DIR)/asm/plugPikiKando/interactGrab.o\
$(BUILD_DIR)/asm/plugPikiKando/interactEtc.o\
$(BUILD_DIR)/asm/plugPikiKando/interactPullout.o\
$(BUILD_DIR)/asm/plugPikiKando/saiEvents.o\
$(BUILD_DIR)/asm/plugPikiKando/simpleAI.o\
$(BUILD_DIR)/asm/plugPikiKando/formationMgr.o\
$(BUILD_DIR)/src/plugPikiKando/globalShapes.o\
$(BUILD_DIR)/asm/plugPikiKando/playerState.o\
$(BUILD_DIR)/asm/plugPikiKando/gameDemo.o\
$(BUILD_DIR)/asm/plugPikiKando/demoInvoker.o\
$(BUILD_DIR)/asm/plugPikiKando/demoEvent.o\
$(BUILD_DIR)/asm/plugPikiKando/resultFlag.o\
$(BUILD_DIR)/asm/plugPikiKando/aiConstants.o\
$(BUILD_DIR)/asm/plugPikiKando/kio.o\
$(BUILD_DIR)/asm/plugPikiKando/keyConfig.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPerf.o\
$(BUILD_DIR)/asm/plugPikiKando/courseDebug.o\
$(BUILD_DIR)/asm/plugPikiKando/memStat.o\
$(BUILD_DIR)/asm/plugPikiKando/collInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/complexCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/creature.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureCollision.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureCollPart.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureMove.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureStick.o\
$(BUILD_DIR)/asm/plugPikiKando/dualCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/dynCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/eventListener.o\
$(BUILD_DIR)/asm/plugPikiKando/fastGrid.o\
$(BUILD_DIR)/asm/plugPikiKando/ropeCreature.o\
$(BUILD_DIR)/src/plugPikiKando/objectTypes.o\
$(BUILD_DIR)/asm/plugPikiKando/pelletMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/animPellet.o\
$(BUILD_DIR)/asm/plugPikiKando/genPellet.o\
$(BUILD_DIR)/asm/plugPikiKando/pelletState.o\
$(BUILD_DIR)/asm/plugPikiKando/workObject.o\
$(BUILD_DIR)/asm/plugPikiKando/routeMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/seMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/seConstants.o\
$(BUILD_DIR)/asm/plugPikiKando/soundMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/updateMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/cPlate.o\
$(BUILD_DIR)/asm/plugPikiKando/aiStone.o\
$(BUILD_DIR)/asm/plugPikiKando/aiActions.o\
$(BUILD_DIR)/asm/plugPikiKando/aiAttack.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBore.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBoMake.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBou.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBridge.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBreakWall.o\
$(BUILD_DIR)/asm/plugPikiKando/aiTransport.o\
$(BUILD_DIR)/asm/plugPikiKando/aiKinoko.o\
$(BUILD_DIR)/asm/plugPikiKando/aiChase.o\
$(BUILD_DIR)/asm/plugPikiKando/aiCrowd.o\
$(BUILD_DIR)/asm/plugPikiKando/aiDecoy.o\
$(BUILD_DIR)/asm/plugPikiKando/aiEnter.o\
$(BUILD_DIR)/asm/plugPikiKando/aiEscape.o\
$(BUILD_DIR)/asm/plugPikiKando/aiExit.o\
$(BUILD_DIR)/asm/plugPikiKando/aiMine.o\
$(BUILD_DIR)/asm/plugPikiKando/aiFormation.o\
$(BUILD_DIR)/asm/plugPikiKando/aiFree.o\
$(BUILD_DIR)/asm/plugPikiKando/aiGoto.o\
$(BUILD_DIR)/asm/plugPikiKando/aiGuard.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPick.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPickCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPullout.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPush.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPut.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRandomBoid.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRescue.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRope.o\
$(BUILD_DIR)/asm/plugPikiKando/aiShoot.o\
$(BUILD_DIR)/asm/plugPikiKando/aiWatch.o\
$(BUILD_DIR)/asm/plugPikiKando/aiWeed.o\
$(BUILD_DIR)/asm/plugPikiKando/aiTable.o\
$(BUILD_DIR)/asm/plugPikiKando/aiAction.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiInf.o\
$(BUILD_DIR)/asm/plugPikiKando/piki.o\
$(BUILD_DIR)/src/plugPikiKando/odoMeter.o\
$(BUILD_DIR)/asm/plugPikiKando/pikidoKill.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiState.o\
$(BUILD_DIR)/asm/plugPikiKando/viewPiki.o\
$(BUILD_DIR)/asm/plugPikiKando/conditions.o\
$(BUILD_DIR)/asm/plugPikiKando/generator.o\
$(BUILD_DIR)/asm/plugPikiKando/generatorCache.o\
$(BUILD_DIR)/asm/plugPikiKando/objectMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/searchSystem.o\
$(BUILD_DIR)/src/plugPikiKando/smartPtr.o\
$(BUILD_DIR)/asm/plugPikiKando/itemGem.o\
$(BUILD_DIR)/asm/plugPikiKando/weedsItem.o\
$(BUILD_DIR)/asm/plugPikiKando/kusaItem.o\
$(BUILD_DIR)/asm/plugPikiKando/fishItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ufoItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ufoAnim.o\
$(BUILD_DIR)/asm/plugPikiKando/bombItem.o\
$(BUILD_DIR)/asm/plugPikiKando/goalItem.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiheadItem.o\
$(BUILD_DIR)/asm/plugPikiKando/keyItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ropeItem.o\
$(BUILD_DIR)/asm/plugPikiKando/seedItem.o\
$(BUILD_DIR)/asm/plugPikiKando/genItem.o\
$(BUILD_DIR)/asm/plugPikiKando/itemAI.o\
$(BUILD_DIR)/asm/plugPikiKando/itemMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/itemObject.o\
$(BUILD_DIR)/asm/plugPikiKando/mizuItem.o\
$(BUILD_DIR)/asm/plugPikiKando/paniItemAnimator.o\
$(BUILD_DIR)/asm/plugPikiKando/genNavi.o\
$(BUILD_DIR)/asm/plugPikiKando/navi.o\
$(BUILD_DIR)/asm/plugPikiKando/naviState.o\
$(BUILD_DIR)/asm/plugPikiKando/naviDemoState.o\
$(BUILD_DIR)/asm/plugPikiKando/gameCoreSection.o\
$(BUILD_DIR)/asm/plugPikiKando/gmWin.o\
$(BUILD_DIR)/asm/plugPikiKando/gameStat.o\
$(BUILD_DIR)/asm/plugPikiKando/kmath.o\
$(BUILD_DIR)/asm/plugPikiKando/uteffect.o\
$(BUILD_DIR)/asm/plugPikiKando/kontroller.o\
$(BUILD_DIR)/src/plugPikiKando/mapcode.o\
$(BUILD_DIR)/asm/plugPikiKando/utkando.o\
$(BUILD_DIR)/asm/plugPikiKando/naviMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/genMapParts.o\
$(BUILD_DIR)/asm/plugPikiKando/mapParts.o\
$(BUILD_DIR)/asm/plugPikiKando/panipikianimator.o\
$(BUILD_DIR)/asm/plugPikiKando/actor.o\
$(BUILD_DIR)/asm/plugPikiKando/actorMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/genActor.o\
$(BUILD_DIR)/src/plugPikiKando/pikiInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/plantMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/paniPlantAnimator.o\
NAKATA :=\
$(BUILD_DIR)/asm/plugPikiNakata/genteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/nakatacode.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibfunction.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgeometry.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgeometry3d.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgraphics.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibmath.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibspline.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibsystem.o\
$(BUILD_DIR)/asm/plugPikiNakata/panianimator.o\
$(BUILD_DIR)/asm/plugPikiNakata/panipikianimmgr.o\
$(BUILD_DIR)/asm/plugPikiNakata/panitekianimator.o\
$(BUILD_DIR)/asm/plugPikiNakata/panitestsection.o\
$(BUILD_DIR)/asm/plugPikiNakata/paraparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcamera.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcameramanager.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcammotionevents.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcameraparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/peve.o\
$(BUILD_DIR)/asm/plugPikiNakata/peveconditions.o\
$(BUILD_DIR)/asm/plugPikiNakata/pevemotionevents.o\
$(BUILD_DIR)/asm/plugPikiNakata/tai.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiattackactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taibasicactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taichappy.o\
$(BUILD_DIR)/asm/plugPikiNakata/taicollec.o\
$(BUILD_DIR)/asm/plugPikiNakata/taicollisionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taieffectactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiiwagen.o\
$(BUILD_DIR)/asm/plugPikiNakata/taijudgementactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taikinoko.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimessageactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimizinko.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimotionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimoveactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/tainapkid.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiotimoti.o\
$(BUILD_DIR)/asm/plugPikiNakata/taipalm.o\
$(BUILD_DIR)/asm/plugPikiNakata/taireactionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiswallow.o\
$(BUILD_DIR)/asm/plugPikiNakata/taishell.o\
$(BUILD_DIR)/asm/plugPikiNakata/taitimeractions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiwaitactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/teki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekianimationmanager.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekibteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiconditions.o\
$(BUILD_DIR)/src/plugPikiNakata/tekievent.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiinteraction.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekimgr.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekinakata.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekinteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekipersonality.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekistrategy.o\
NISHIMURA :=\
$(BUILD_DIR)/asm/plugPikiNishimura/genBoss.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Boss.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossAnimMgr.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossCnd.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossMgr.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossShapeObj.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Spider.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SpiderAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SpiderLeg.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Snake.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SnakeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SnakeBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Slime.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeCreature.o\
$(BUILD_DIR)/asm/plugPikiNishimura/King.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Kogane.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KoganeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Pom.o\
$(BUILD_DIR)/asm/plugPikiNishimura/PomAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingBack.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Nucleus.o\
$(BUILD_DIR)/asm/plugPikiNishimura/NucleusAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/CoreNucleus.o\
$(BUILD_DIR)/asm/plugPikiNishimura/CoreNucleusAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Mizu.o\
$(BUILD_DIR)/asm/plugPikiNishimura/MizuAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/nscalculation.o\
$(BUILD_DIR)/asm/plugPikiNishimura/RumbleData.o\
$(BUILD_DIR)/asm/plugPikiNishimura/HmRumbleMgr.o\
$(BUILD_DIR)/src/plugPikiNishimura/HmRumbleSample.o\
OGAWA :=\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTest.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogSub.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTitle.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogPause.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTutorial.o\
$(BUILD_DIR)/src/plugPikiOgawa/ogTutorialData.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMap.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogResult.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogRader.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileSelect.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMessage.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMemChk.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogDiary.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMenu.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileChkSel.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMakeDefault.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTotalScore.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogSave.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogNitaku.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileCopy.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileDelete.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogGraph.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogStart.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogCallBack.o\
YAMASHITA :=\
$(BUILD_DIR)/asm/plugPikiYamashita/gameCourseClear.o\
$(BUILD_DIR)/asm/plugPikiYamashita/gameStageClear.o\
$(BUILD_DIR)/asm/plugPikiYamashita/gameCredits.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenMath.o\
$(BUILD_DIR)/asm/plugPikiYamashita/effectMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleGenerator.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleLoader.o\
$(BUILD_DIR)/src/plugPikiYamashita/solidField.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleManager.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleMdlManager.o\
$(BUILD_DIR)/asm/plugPikiYamashita/bBoardColourAnim.o\
$(BUILD_DIR)/asm/plugPikiYamashita/simpleParticle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/tekiyteki.o\
$(BUILD_DIR)/asm/plugPikiYamashita/tekiyamashita.o\
$(BUILD_DIR)/src/plugPikiYamashita/TAIanimation.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAItank.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAImar.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAreaction.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAmove.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAmotion.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAjudge.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAattack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DGrafContext.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DOrthoGraph.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPerspGraph.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPane.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPicture.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DScreen.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DStream.o\
$(BUILD_DIR)/asm/plugPikiYamashita/PSUList.o\
$(BUILD_DIR)/asm/plugPikiYamashita/PUTRect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DWindow.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DTextBox.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPrint.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DFont.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawGameInfo.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenGraphics.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawContainer.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCommon.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenController.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawHurryUp.o\
$(BUILD_DIR)/asm/plugPikiYamashita/texAnim.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawAccount.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawMenu.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIeffectAttack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIbeatle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/menuPanelMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiA.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiB.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiC.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAItamago.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIdororo.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIhibaA.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAeffect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAImiurin.o\
$(BUILD_DIR)/src/plugPikiYamashita/ptclGenPack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawProgre.o\
$(BUILD_DIR)/asm/plugPikiYamashita/spectrumCursorMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawWorldMap.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCountDown.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawGameOver.o\
$(BUILD_DIR)/asm/plugPikiYamashita/yai.o\
$(BUILD_DIR)/asm/plugPikiYamashita/effectMgr2D.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawWMPause.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIusuba.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIotama.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMcourseSelect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMtitle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMscore.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMbest.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMresult.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawMenuBase.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawHiScore.o\
$(BUILD_DIR)/asm/plugPikiYamashita/damageEffect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/alphaWipe.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawUfoParts.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenSys.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawSaveMes.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawSaveFailure.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawFinalResult.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawOptionSave.o\
BASE :=\
$(BUILD_DIR)/src/base/PPCArch.o\
OS :=\
$(BUILD_DIR)/asm/os/OS.o\
$(BUILD_DIR)/asm/os/OSAlarm.o\
$(BUILD_DIR)/src/os/OSAlloc.o\
$(BUILD_DIR)/src/os/OSArena.o\
$(BUILD_DIR)/asm/os/OSAudioSystem.o\
$(BUILD_DIR)/asm/os/OSCache.o\
$(BUILD_DIR)/asm/os/OSContext.o\
$(BUILD_DIR)/src/os/OSError.o\
$(BUILD_DIR)/asm/os/OSExi.o\
$(BUILD_DIR)/asm/os/OSFont.o\
$(BUILD_DIR)/asm/os/OSInterrupt.o\
$(BUILD_DIR)/src/os/OSLink.o\
$(BUILD_DIR)/asm/os/OSMessage.o\
$(BUILD_DIR)/asm/os/OSMutex.o\
$(BUILD_DIR)/asm/os/OSReboot.o\
$(BUILD_DIR)/asm/os/OSReset.o\
$(BUILD_DIR)/asm/os/OSResetSW.o\
$(BUILD_DIR)/asm/os/OSRtc.o\
$(BUILD_DIR)/asm/os/OSSerial.o\
$(BUILD_DIR)/asm/os/OSSync.o\
$(BUILD_DIR)/asm/os/OSThread.o\
$(BUILD_DIR)/asm/os/OSTime.o\
$(BUILD_DIR)/asm/os/OSUartExi.o\
$(BUILD_DIR)/src/os/__start.o\
$(BUILD_DIR)/asm/os/__ppc_eabi_init.o\
DB :=\
$(BUILD_DIR)/asm/db/db.o\
MTX :=\
$(BUILD_DIR)/asm/mtx/mtx.o\
$(BUILD_DIR)/asm/mtx/mtx44.o\
$(BUILD_DIR)/asm/mtx/vec.o\
DVD :=\
$(BUILD_DIR)/asm/dvd/dvdlow.o\
$(BUILD_DIR)/asm/dvd/dvdfs.o\
$(BUILD_DIR)/asm/dvd/dvd.o\
$(BUILD_DIR)/asm/dvd/dvdqueue.o\
$(BUILD_DIR)/asm/dvd/dvderror.o\
$(BUILD_DIR)/asm/dvd/fstload.o\
VI :=\
$(BUILD_DIR)/asm/vi/vi.o\
PAD :=\
$(BUILD_DIR)/asm/pad/Padclamp.o\
$(BUILD_DIR)/asm/pad/Pad.o\
AI :=\
$(BUILD_DIR)/asm/ai/ai.o\
AR :=\
$(BUILD_DIR)/asm/ar/ar.o\
$(BUILD_DIR)/asm/ar/arq.o\
DSP :=\
$(BUILD_DIR)/src/dsp/dsp.o\
CARD :=\
$(BUILD_DIR)/asm/card/CARDBios.o\
$(BUILD_DIR)/asm/card/CARDRdwr.o\
$(BUILD_DIR)/asm/card/CARDBlock.o\
$(BUILD_DIR)/asm/card/CARDDir.o\
$(BUILD_DIR)/asm/card/CARDCheck.o\
$(BUILD_DIR)/asm/card/CARDMount.o\
$(BUILD_DIR)/asm/card/CARDFormat.o\
$(BUILD_DIR)/asm/card/CARDOpen.o\
$(BUILD_DIR)/asm/card/CARDCreate.o\
$(BUILD_DIR)/asm/card/CARDRead.o\
$(BUILD_DIR)/asm/card/CARDWrite.o\
$(BUILD_DIR)/asm/card/CARDDelete.o\
$(BUILD_DIR)/asm/card/CARDStat.o\
$(BUILD_DIR)/asm/card/CARDRename.o\
HIO :=\
$(BUILD_DIR)/asm/hio/hio.o\
GX :=\
$(BUILD_DIR)/asm/gx/GXInit.o\
$(BUILD_DIR)/asm/gx/GXFifo.o\
$(BUILD_DIR)/asm/gx/GXAttr.o\
$(BUILD_DIR)/asm/gx/GXMisc.o\
$(BUILD_DIR)/asm/gx/GXGeometry.o\
$(BUILD_DIR)/asm/gx/GXFrameBuf.o\
$(BUILD_DIR)/asm/gx/GXLight.o\
$(BUILD_DIR)/asm/gx/GXTexture.o\
$(BUILD_DIR)/asm/gx/GXBump.o\
$(BUILD_DIR)/asm/gx/GXTev.o\
$(BUILD_DIR)/asm/gx/GXPixel.o\
$(BUILD_DIR)/src/gx/GXStubs.o\
$(BUILD_DIR)/asm/gx/GXDisplayList.o\
$(BUILD_DIR)/asm/gx/GXTransform.o\
RUNTIME :=\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__mem.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__va_arg.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/global_destructor_chain.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/CPlusLibPPC.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/NMWException.o\
$(BUILD_DIR)/src/Runtime/PPCEABI/H/ptmf.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/ExceptionPPC.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/runtime.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__init_cpp_exceptions.o\
MSL_C :=\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/abort_exit.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/errno.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/ansi_fp.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/arith.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/buffer_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/critical_regions.ppc_eabi.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/ctype.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/ansi_files.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/locale.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/direct_io.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mbstring.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mem.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mem_funcs.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/misc_io.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/printf.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/rand.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/scanf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/string.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/strtold.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/strtoul.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/uart_console_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/wchar_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/float.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/e_asin.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/e_atan2.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/e_pow.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/fminmaxdim.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/s_atan.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/s_copysign.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/s_frexp.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/s_ldexp.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/w_atan2.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/w_pow.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/hyperbolicsf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/inverse_trig.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/trigf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/math_inlines.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/common_float_tables.o\
TRK_MINNOW_DOLPHIN :=\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mainloop.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/nubevent.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/nubinit.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msg.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msgbuf.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/serpoll.o\
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/usr_put.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dispatch.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msghndlr.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/support.o\
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/mutex_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/notify.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/flush_cache.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mem_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/__exception.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/targimpl.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dolphin_trk.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/main_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/targcont.o\
AMCEXI2 :=\
$(BUILD_DIR)/asm/amcExi2/AmcExi.o\
$(BUILD_DIR)/asm/amcExi2/AmcExi2Comm.o\
AMCNOTSTUB :=\
$(BUILD_DIR)/src/amcnotstub/amcnotstub.o\
ODEMUEXI2 :=\
$(BUILD_DIR)/asm/OdemuExi2/DebuggerDriver.o\
ODENOTSTUB :=\
$(BUILD_DIR)/src/odenotstub/odenotstub.o\
DOLPHIN :=\
$(BUILD_DIR)/src/base/base.a\
$(BUILD_DIR)/src/os/os.a\
$(BUILD_DIR)/src/db/db.a\
$(BUILD_DIR)/src/mtx/mtx.a\
$(BUILD_DIR)/src/dvd/dvd.a\
$(BUILD_DIR)/src/vi/vi.a\
$(BUILD_DIR)/src/pad/pad.a\
$(BUILD_DIR)/src/ai/ai.a\
$(BUILD_DIR)/src/ar/ar.a\
$(BUILD_DIR)/src/dsp/dsp.a\
$(BUILD_DIR)/src/card/card.a\
$(BUILD_DIR)/src/hio/hio.a\
$(BUILD_DIR)/src/gx/gx.a\
$(BUILD_DIR)/src/Runtime/PPCEABI/H/Runtime.PPCEABI.H.a\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/MSL_C.PPCEABI.bare.H.a\
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/TRK_MINNOW_DOLPHIN.a\
$(BUILD_DIR)/src/amcExi2/amcExi2.a\
$(BUILD_DIR)/src/amcnotstub/amcnotstub.a\
$(BUILD_DIR)/src/OdemuExi2/OdemuExi2.a\
$(BUILD_DIR)/src/odenotstub/odenotstub.a\

View File

@ -0,0 +1,50 @@
MSL_C_FILES:=\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/abort_exit.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/errno.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/ansi_fp.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/arith.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/buffer_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/critical_regions.ppc_eabi.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/ctype.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/ansi_files.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/locale.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/direct_io.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mbstring.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mem.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/mem_funcs.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/misc_io.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/printf.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/rand.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/scanf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/string.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/strtold.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/strtoul.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/uart_console_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/wchar_io.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/float.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/e_asin.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/e_atan2.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/e_pow.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/fminmaxdim.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/s_atan.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/s_copysign.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/s_frexp.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/s_ldexp.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/w_atan2.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/w_pow.o\
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/hyperbolicsf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/inverse_trig.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/trigf.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/math_inlines.o\
$(BUILD_DIR)/asm/MSL_C/PPCEABI/bare/H/common_float_tables.o\
$(MSL_C_FILES): CFLAGS += -common off -fp_contract on
$(MSL_C_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(MSL_C_FILES:.o=.d)
$(BUILD_DIR)/src/MSL_C/PPCEABI/bare/H/MSL_C.PPCEABI.bare.H.a: $(MSL_C_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(MSL_C_FILES) > build/MSL_C_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/MSL_C_ofiles

13
src/OdemuExi2/Makefile Normal file
View File

@ -0,0 +1,13 @@
ODEMUEXI2_FILES:=\
$(BUILD_DIR)/asm/OdemuExi2/DebuggerDriver.o\
$(ODEMUEXI2_FILES): CFLAGS += -common off
$(ODEMUEXI2_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(ODEMUEXI2_FILES:.o=.d)
$(BUILD_DIR)/src/OdemuExi2/OdemuExi2.a: $(ODEMUEXI2_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(ODEMUEXI2_FILES) > build/ODEMUEXI2_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/ODEMUEXI2_ofiles

View File

@ -0,0 +1,21 @@
RUNTIME_FILES:=\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__mem.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__va_arg.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/global_destructor_chain.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/CPlusLibPPC.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/NMWException.o\
$(BUILD_DIR)/src/Runtime/PPCEABI/H/ptmf.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/ExceptionPPC.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/runtime.o\
$(BUILD_DIR)/asm/Runtime/PPCEABI/H/__init_cpp_exceptions.o\
$(RUNTIME_FILES): CFLAGS += -common off
$(RUNTIME_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(RUNTIME_FILES:.o=.d)
$(BUILD_DIR)/src/Runtime/PPCEABI/H/Runtime.PPCEABI.H.a: $(RUNTIME_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(RUNTIME_FILES) > build/RUNTIME_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/RUNTIME_ofiles

View File

@ -0,0 +1,33 @@
TRK_MINNOW_DOLPHIN_FILES:=\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mainloop.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/nubevent.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/nubinit.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msg.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msgbuf.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/serpoll.o\
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/usr_put.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dispatch.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/msghndlr.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/support.o\
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/mutex_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/notify.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/flush_cache.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mem_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/__exception.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/targimpl.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dolphin_trk.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/main_TRK.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.o\
$(BUILD_DIR)/asm/TRK_MINNOW_DOLPHIN/targcont.o\
$(TRK_MINNOW_DOLPHIN_FILES): CFLAGS += -common off
$(TRK_MINNOW_DOLPHIN_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(TRK_MINNOW_DOLPHIN_FILES:.o=.d)
$(BUILD_DIR)/src/TRK_MINNOW_DOLPHIN/TRK_MINNOW_DOLPHIN.a: $(TRK_MINNOW_DOLPHIN_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(TRK_MINNOW_DOLPHIN_FILES) > build/TRK_MINNOW_DOLPHIN_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/TRK_MINNOW_DOLPHIN_ofiles

13
src/ai/Makefile Normal file
View File

@ -0,0 +1,13 @@
AI_FILES:=\
$(BUILD_DIR)/asm/ai/ai.o\
$(AI_FILES): CFLAGS += -common off
$(AI_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(AI_FILES:.o=.d)
$(BUILD_DIR)/src/ai/ai.a: $(AI_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(AI_FILES) > build/AI_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/AI_ofiles

14
src/amcExi2/Makefile Normal file
View File

@ -0,0 +1,14 @@
AMCEXI2_FILES:=\
$(BUILD_DIR)/asm/amcExi2/AmcExi.o\
$(BUILD_DIR)/asm/amcExi2/AmcExi2Comm.o\
$(AMCEXI2_FILES): CFLAGS += -common off
$(AMCEXI2_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(AMCEXI2_FILES:.o=.d)
$(BUILD_DIR)/src/amcExi2/amcExi2.a: $(AMCEXI2_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(AMCEXI2_FILES) > build/AMCEXI2_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/AMCEXI2_ofiles

13
src/amcnotstub/Makefile Normal file
View File

@ -0,0 +1,13 @@
AMCNOTSTUB_FILES:=\
$(BUILD_DIR)/src/amcnotstub/amcnotstub.o\
$(AMCNOTSTUB_FILES): CFLAGS += -common off
$(AMCNOTSTUB_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(AMCNOTSTUB_FILES:.o=.d)
$(BUILD_DIR)/src/amcnotstub/amcnotstub.a: $(AMCNOTSTUB_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(AMCNOTSTUB_FILES) > build/AMCNOTSTUB_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/AMCNOTSTUB_ofiles

14
src/ar/Makefile Normal file
View File

@ -0,0 +1,14 @@
AR_FILES:=\
$(BUILD_DIR)/asm/ar/ar.o\
$(BUILD_DIR)/asm/ar/arq.o\
$(AR_FILES): CFLAGS += -common off
$(AR_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(AR_FILES:.o=.d)
$(BUILD_DIR)/src/ar/ar.a: $(AR_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(AR_FILES) > build/AR_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/AR_ofiles

13
src/base/Makefile Normal file
View File

@ -0,0 +1,13 @@
BASE_FILES:=\
$(BUILD_DIR)/src/base/PPCArch.o\
$(BASE_FILES): CFLAGS += -common off
$(BASE_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(BASE_FILES:.o=.d)
$(BUILD_DIR)/src/base/base.a: $(BASE_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(BASE_FILES) > build/BASE_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/BASE_ofiles

26
src/card/Makefile Normal file
View File

@ -0,0 +1,26 @@
CARD_FILES:=\
$(BUILD_DIR)/asm/card/CARDBios.o\
$(BUILD_DIR)/asm/card/CARDRdwr.o\
$(BUILD_DIR)/asm/card/CARDBlock.o\
$(BUILD_DIR)/asm/card/CARDDir.o\
$(BUILD_DIR)/asm/card/CARDCheck.o\
$(BUILD_DIR)/asm/card/CARDMount.o\
$(BUILD_DIR)/asm/card/CARDFormat.o\
$(BUILD_DIR)/asm/card/CARDOpen.o\
$(BUILD_DIR)/asm/card/CARDCreate.o\
$(BUILD_DIR)/asm/card/CARDRead.o\
$(BUILD_DIR)/asm/card/CARDWrite.o\
$(BUILD_DIR)/asm/card/CARDDelete.o\
$(BUILD_DIR)/asm/card/CARDStat.o\
$(BUILD_DIR)/asm/card/CARDRename.o\
$(CARD_FILES): CFLAGS += -common off
$(CARD_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(CARD_FILES:.o=.d)
$(BUILD_DIR)/src/card/card.a: $(CARD_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(CARD_FILES) > build/CARD_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/CARD_ofiles

13
src/db/Makefile Normal file
View File

@ -0,0 +1,13 @@
DB_FILES:=\
$(BUILD_DIR)/asm/db/db.o\
$(DB_FILES): CFLAGS += -common off
$(DB_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(DB_FILES:.o=.d)
$(BUILD_DIR)/src/db/db.a: $(DB_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(DB_FILES) > build/DB_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/DB_ofiles

13
src/dsp/Makefile Normal file
View File

@ -0,0 +1,13 @@
DSP_FILES:=\
$(BUILD_DIR)/src/dsp/dsp.o\
$(DSP_FILES): CFLAGS += -common off
$(DSP_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(DSP_FILES:.o=.d)
$(BUILD_DIR)/src/dsp/dsp.a: $(DSP_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(DSP_FILES) > build/DSP_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/DSP_ofiles

18
src/dvd/Makefile Normal file
View File

@ -0,0 +1,18 @@
DVD_FILES:=\
$(BUILD_DIR)/asm/dvd/dvdlow.o\
$(BUILD_DIR)/asm/dvd/dvdfs.o\
$(BUILD_DIR)/asm/dvd/dvd.o\
$(BUILD_DIR)/asm/dvd/dvdqueue.o\
$(BUILD_DIR)/asm/dvd/dvderror.o\
$(BUILD_DIR)/asm/dvd/fstload.o\
$(DVD_FILES): CFLAGS += -common off
$(DVD_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(DVD_FILES:.o=.d)
$(BUILD_DIR)/src/dvd/dvd.a: $(DVD_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(DVD_FILES) > build/DVD_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/DVD_ofiles

26
src/gx/Makefile Normal file
View File

@ -0,0 +1,26 @@
GX_FILES:=\
$(BUILD_DIR)/asm/gx/GXInit.o\
$(BUILD_DIR)/asm/gx/GXFifo.o\
$(BUILD_DIR)/asm/gx/GXAttr.o\
$(BUILD_DIR)/asm/gx/GXMisc.o\
$(BUILD_DIR)/asm/gx/GXGeometry.o\
$(BUILD_DIR)/asm/gx/GXFrameBuf.o\
$(BUILD_DIR)/asm/gx/GXLight.o\
$(BUILD_DIR)/asm/gx/GXTexture.o\
$(BUILD_DIR)/asm/gx/GXBump.o\
$(BUILD_DIR)/asm/gx/GXTev.o\
$(BUILD_DIR)/asm/gx/GXPixel.o\
$(BUILD_DIR)/src/gx/GXStubs.o\
$(BUILD_DIR)/asm/gx/GXDisplayList.o\
$(BUILD_DIR)/asm/gx/GXTransform.o\
$(GX_FILES): CFLAGS += -common off
$(GX_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(GX_FILES:.o=.d)
$(BUILD_DIR)/src/gx/gx.a: $(GX_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(GX_FILES) > build/GX_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/GX_ofiles

13
src/hio/Makefile Normal file
View File

@ -0,0 +1,13 @@
HIO_FILES:=\
$(BUILD_DIR)/asm/hio/hio.o\
$(HIO_FILES): CFLAGS += -common off
$(HIO_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(HIO_FILES:.o=.d)
$(BUILD_DIR)/src/hio/hio.a: $(HIO_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(HIO_FILES) > build/HIO_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/HIO_ofiles

13
src/hvqm4dec/Makefile Normal file
View File

@ -0,0 +1,13 @@
HVQM4DEC_FILES:=\
$(BUILD_DIR)/asm/hvqm4dec/hvqm4dec.o\
$(HVQM4DEC_FILES): CFLAGS += -common off
$(HVQM4DEC_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(HVQM4DEC_FILES:.o=.d)
$(BUILD_DIR)/src/hvqm4dec/hvqm4dec.a: $(HVQM4DEC_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(HVQM4DEC_FILES) > build/HVQM4DEC_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/HVQM4DEC_ofiles

72
src/jaudio/Makefile Normal file
View File

@ -0,0 +1,72 @@
JAUDIO_FILES:=\
$(BUILD_DIR)/src/jaudio/dummyprobe.o\
$(BUILD_DIR)/asm/jaudio/memory.o\
$(BUILD_DIR)/asm/jaudio/aictrl.o\
$(BUILD_DIR)/asm/jaudio/sample.o\
$(BUILD_DIR)/asm/jaudio/dummyrom.o\
$(BUILD_DIR)/asm/jaudio/audiothread.o\
$(BUILD_DIR)/asm/jaudio/audiothread_fakebss.o\
$(BUILD_DIR)/asm/jaudio/streamctrl.o\
$(BUILD_DIR)/asm/jaudio/dspbuf.o\
$(BUILD_DIR)/asm/jaudio/cpubuf.o\
$(BUILD_DIR)/asm/jaudio/playercall.o\
$(BUILD_DIR)/asm/jaudio/dvdthread.o\
$(BUILD_DIR)/asm/jaudio/audiomesg.o\
$(BUILD_DIR)/asm/jaudio/rate.o\
$(BUILD_DIR)/asm/jaudio/stackchecker.o\
$(BUILD_DIR)/asm/jaudio/dspboot.o\
$(BUILD_DIR)/asm/jaudio/dspproc.o\
$(BUILD_DIR)/asm/jaudio/ipldec.o\
$(BUILD_DIR)/asm/jaudio/dsp_cardunlock.o\
$(BUILD_DIR)/asm/jaudio/driverinterface.o\
$(BUILD_DIR)/asm/jaudio/dspdriver.o\
$(BUILD_DIR)/asm/jaudio/dspinterface.o\
$(BUILD_DIR)/asm/jaudio/fxinterface.o\
$(BUILD_DIR)/asm/jaudio/bankread.o\
$(BUILD_DIR)/asm/jaudio/waveread.o\
$(BUILD_DIR)/asm/jaudio/connect.o\
$(BUILD_DIR)/asm/jaudio/tables.o\
$(BUILD_DIR)/asm/jaudio/bankdrv.o\
$(BUILD_DIR)/asm/jaudio/random.o\
$(BUILD_DIR)/asm/jaudio/aramcall.o\
$(BUILD_DIR)/asm/jaudio/ja_calc.o\
$(BUILD_DIR)/asm/jaudio/fat.o\
$(BUILD_DIR)/asm/jaudio/cmdstack.o\
$(BUILD_DIR)/asm/jaudio/virload.o\
$(BUILD_DIR)/asm/jaudio/heapctrl.o\
$(BUILD_DIR)/asm/jaudio/jammain_2.o\
$(BUILD_DIR)/asm/jaudio/midplay.o\
$(BUILD_DIR)/asm/jaudio/noteon.o\
$(BUILD_DIR)/asm/jaudio/seqsetup.o\
$(BUILD_DIR)/asm/jaudio/centcalc.o\
$(BUILD_DIR)/asm/jaudio/jamosc.o\
$(BUILD_DIR)/asm/jaudio/oneshot.o\
$(BUILD_DIR)/asm/jaudio/interface.o\
$(BUILD_DIR)/asm/jaudio/verysimple.o\
$(BUILD_DIR)/asm/jaudio/app_inter.o\
$(BUILD_DIR)/asm/jaudio/pikiinter.o\
$(BUILD_DIR)/asm/jaudio/piki_player.o\
$(BUILD_DIR)/asm/jaudio/piki_bgm.o\
$(BUILD_DIR)/asm/jaudio/piki_scene.o\
$(BUILD_DIR)/asm/jaudio/pikidemo.o\
$(BUILD_DIR)/asm/jaudio/file_seq.o\
$(BUILD_DIR)/asm/jaudio/cmdqueue.o\
$(BUILD_DIR)/src/jaudio/filter3d.o\
$(BUILD_DIR)/asm/jaudio/syncstream.o\
$(BUILD_DIR)/asm/jaudio/bankloader.o\
$(BUILD_DIR)/asm/jaudio/interleave.o\
$(BUILD_DIR)/asm/jaudio/pikiseq.o\
$(BUILD_DIR)/asm/jaudio/hplaybss.o\
$(BUILD_DIR)/asm/jaudio/hplaybss2.o\
$(BUILD_DIR)/asm/jaudio/hvqm_play.o\
$(JAUDIO_FILES): CFLAGS += -common off -func_align 32
$(JAUDIO_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(JAUDIO_FILES:.o=.d)
$(BUILD_DIR)/src/jaudio/jaudio.o: $(JAUDIO_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(JAUDIO_FILES) > build/JAUDIO_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/JAUDIO_ofiles

15
src/mtx/Makefile Normal file
View File

@ -0,0 +1,15 @@
MTX_FILES:=\
$(BUILD_DIR)/asm/mtx/mtx.o\
$(BUILD_DIR)/asm/mtx/mtx44.o\
$(BUILD_DIR)/asm/mtx/vec.o\
$(MTX_FILES): CFLAGS += -common off
$(MTX_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(MTX_FILES:.o=.d)
$(BUILD_DIR)/src/mtx/mtx.a: $(MTX_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(MTX_FILES) > build/MTX_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/MTX_ofiles

13
src/odenotstub/Makefile Normal file
View File

@ -0,0 +1,13 @@
ODENOTSTUB_FILES:=\
$(BUILD_DIR)/src/odenotstub/odenotstub.o\
$(ODENOTSTUB_FILES): CFLAGS += -common off
$(ODENOTSTUB_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(ODENOTSTUB_FILES:.o=.d)
$(BUILD_DIR)/src/odenotstub/odenotstub.a: $(ODENOTSTUB_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(ODENOTSTUB_FILES) > build/ODENOTSTUB_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/ODENOTSTUB_ofiles

37
src/os/Makefile Normal file
View File

@ -0,0 +1,37 @@
OS_FILES:=\
$(BUILD_DIR)/asm/os/OS.o\
$(BUILD_DIR)/asm/os/OSAlarm.o\
$(BUILD_DIR)/src/os/OSAlloc.o\
$(BUILD_DIR)/src/os/OSArena.o\
$(BUILD_DIR)/asm/os/OSAudioSystem.o\
$(BUILD_DIR)/asm/os/OSCache.o\
$(BUILD_DIR)/asm/os/OSContext.o\
$(BUILD_DIR)/src/os/OSError.o\
$(BUILD_DIR)/asm/os/OSExi.o\
$(BUILD_DIR)/asm/os/OSFont.o\
$(BUILD_DIR)/asm/os/OSInterrupt.o\
$(BUILD_DIR)/src/os/OSLink.o\
$(BUILD_DIR)/asm/os/OSMessage.o\
$(BUILD_DIR)/asm/os/OSMutex.o\
$(BUILD_DIR)/asm/os/OSReboot.o\
$(BUILD_DIR)/asm/os/OSReset.o\
$(BUILD_DIR)/asm/os/OSResetSW.o\
$(BUILD_DIR)/asm/os/OSRtc.o\
$(BUILD_DIR)/asm/os/OSSerial.o\
$(BUILD_DIR)/asm/os/OSSync.o\
$(BUILD_DIR)/asm/os/OSThread.o\
$(BUILD_DIR)/asm/os/OSTime.o\
$(BUILD_DIR)/asm/os/OSUartExi.o\
$(BUILD_DIR)/src/os/__start.o\
$(BUILD_DIR)/asm/os/__ppc_eabi_init.o\
$(OS_FILES): CFLAGS += -common off
$(OS_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(OS_FILES:.o=.d)
$(BUILD_DIR)/src/os/os.a: $(OS_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(OS_FILES) > build/OS_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/OS_ofiles

14
src/pad/Makefile Normal file
View File

@ -0,0 +1,14 @@
PAD_FILES:=\
$(BUILD_DIR)/asm/pad/Padclamp.o\
$(BUILD_DIR)/asm/pad/Pad.o\
$(PAD_FILES): CFLAGS += -common off
$(PAD_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(PAD_FILES:.o=.d)
$(BUILD_DIR)/src/pad/pad.a: $(PAD_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(PAD_FILES) > build/PAD_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/PAD_ofiles

View File

@ -0,0 +1,37 @@
COLIN_FILES:=\
$(BUILD_DIR)/asm/plugPikiColin/cardutil.o\
$(BUILD_DIR)/asm/plugPikiColin/dynsimulator.o\
$(BUILD_DIR)/asm/plugPikiColin/animMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/gameflow.o\
$(BUILD_DIR)/asm/plugPikiColin/game.o\
$(BUILD_DIR)/asm/plugPikiColin/gamePrefs.o\
$(BUILD_DIR)/asm/plugPikiColin/gameSetup.o\
$(BUILD_DIR)/asm/plugPikiColin/cardSelect.o\
$(BUILD_DIR)/asm/plugPikiColin/mapSelect.o\
$(BUILD_DIR)/asm/plugPikiColin/newPikiGame.o\
$(BUILD_DIR)/asm/plugPikiColin/introGame.o\
$(BUILD_DIR)/asm/plugPikiColin/gameExit.o\
$(BUILD_DIR)/asm/plugPikiColin/gauges.o\
$(BUILD_DIR)/asm/plugPikiColin/genMapObject.o\
$(BUILD_DIR)/asm/plugPikiColin/gui.o\
$(BUILD_DIR)/asm/plugPikiColin/parameters.o\
$(BUILD_DIR)/asm/plugPikiColin/plugPiki.o\
$(BUILD_DIR)/asm/plugPikiColin/titles.o\
$(BUILD_DIR)/asm/plugPikiColin/ninLogo.o\
$(BUILD_DIR)/asm/plugPikiColin/mapMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/dayMgr.o\
$(BUILD_DIR)/asm/plugPikiColin/cinePlayer.o\
$(BUILD_DIR)/asm/plugPikiColin/lightPool.o\
$(BUILD_DIR)/asm/plugPikiColin/memoryCard.o\
$(BUILD_DIR)/asm/plugPikiColin/moviePlayer.o\
$(BUILD_DIR)/asm/plugPikiColin/movSample.o\
$(COLIN_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(COLIN_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiColin/plugPikiColin.a: $(COLIN_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(COLIN_FILES) > build/COLIN_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/COLIN_ofiles

143
src/plugPikiKando/Makefile Normal file
View File

@ -0,0 +1,143 @@
KANDO_FILES:=\
$(BUILD_DIR)/asm/plugPikiKando/omake.o\
$(BUILD_DIR)/asm/plugPikiKando/radarInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/interactBattle.o\
$(BUILD_DIR)/asm/plugPikiKando/interactGrab.o\
$(BUILD_DIR)/asm/plugPikiKando/interactEtc.o\
$(BUILD_DIR)/asm/plugPikiKando/interactPullout.o\
$(BUILD_DIR)/asm/plugPikiKando/saiEvents.o\
$(BUILD_DIR)/asm/plugPikiKando/simpleAI.o\
$(BUILD_DIR)/asm/plugPikiKando/formationMgr.o\
$(BUILD_DIR)/src/plugPikiKando/globalShapes.o\
$(BUILD_DIR)/asm/plugPikiKando/playerState.o\
$(BUILD_DIR)/asm/plugPikiKando/gameDemo.o\
$(BUILD_DIR)/asm/plugPikiKando/demoInvoker.o\
$(BUILD_DIR)/asm/plugPikiKando/demoEvent.o\
$(BUILD_DIR)/asm/plugPikiKando/resultFlag.o\
$(BUILD_DIR)/asm/plugPikiKando/aiConstants.o\
$(BUILD_DIR)/asm/plugPikiKando/kio.o\
$(BUILD_DIR)/asm/plugPikiKando/keyConfig.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPerf.o\
$(BUILD_DIR)/asm/plugPikiKando/courseDebug.o\
$(BUILD_DIR)/asm/plugPikiKando/memStat.o\
$(BUILD_DIR)/asm/plugPikiKando/collInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/complexCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/creature.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureCollision.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureCollPart.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureMove.o\
$(BUILD_DIR)/asm/plugPikiKando/creatureStick.o\
$(BUILD_DIR)/asm/plugPikiKando/dualCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/dynCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/eventListener.o\
$(BUILD_DIR)/asm/plugPikiKando/fastGrid.o\
$(BUILD_DIR)/asm/plugPikiKando/ropeCreature.o\
$(BUILD_DIR)/src/plugPikiKando/objectTypes.o\
$(BUILD_DIR)/asm/plugPikiKando/pelletMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/animPellet.o\
$(BUILD_DIR)/asm/plugPikiKando/genPellet.o\
$(BUILD_DIR)/asm/plugPikiKando/pelletState.o\
$(BUILD_DIR)/asm/plugPikiKando/workObject.o\
$(BUILD_DIR)/asm/plugPikiKando/routeMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/seMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/seConstants.o\
$(BUILD_DIR)/asm/plugPikiKando/soundMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/updateMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/cPlate.o\
$(BUILD_DIR)/asm/plugPikiKando/aiStone.o\
$(BUILD_DIR)/asm/plugPikiKando/aiActions.o\
$(BUILD_DIR)/asm/plugPikiKando/aiAttack.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBore.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBoMake.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBou.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBridge.o\
$(BUILD_DIR)/asm/plugPikiKando/aiBreakWall.o\
$(BUILD_DIR)/asm/plugPikiKando/aiTransport.o\
$(BUILD_DIR)/asm/plugPikiKando/aiKinoko.o\
$(BUILD_DIR)/asm/plugPikiKando/aiChase.o\
$(BUILD_DIR)/asm/plugPikiKando/aiCrowd.o\
$(BUILD_DIR)/asm/plugPikiKando/aiDecoy.o\
$(BUILD_DIR)/asm/plugPikiKando/aiEnter.o\
$(BUILD_DIR)/asm/plugPikiKando/aiEscape.o\
$(BUILD_DIR)/asm/plugPikiKando/aiExit.o\
$(BUILD_DIR)/asm/plugPikiKando/aiMine.o\
$(BUILD_DIR)/asm/plugPikiKando/aiFormation.o\
$(BUILD_DIR)/asm/plugPikiKando/aiFree.o\
$(BUILD_DIR)/asm/plugPikiKando/aiGoto.o\
$(BUILD_DIR)/asm/plugPikiKando/aiGuard.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPick.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPickCreature.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPullout.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPush.o\
$(BUILD_DIR)/asm/plugPikiKando/aiPut.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRandomBoid.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRescue.o\
$(BUILD_DIR)/asm/plugPikiKando/aiRope.o\
$(BUILD_DIR)/asm/plugPikiKando/aiShoot.o\
$(BUILD_DIR)/asm/plugPikiKando/aiWatch.o\
$(BUILD_DIR)/asm/plugPikiKando/aiWeed.o\
$(BUILD_DIR)/asm/plugPikiKando/aiTable.o\
$(BUILD_DIR)/asm/plugPikiKando/aiAction.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiInf.o\
$(BUILD_DIR)/asm/plugPikiKando/piki.o\
$(BUILD_DIR)/src/plugPikiKando/odoMeter.o\
$(BUILD_DIR)/asm/plugPikiKando/pikidoKill.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiState.o\
$(BUILD_DIR)/asm/plugPikiKando/viewPiki.o\
$(BUILD_DIR)/asm/plugPikiKando/conditions.o\
$(BUILD_DIR)/asm/plugPikiKando/generator.o\
$(BUILD_DIR)/asm/plugPikiKando/generatorCache.o\
$(BUILD_DIR)/asm/plugPikiKando/objectMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/searchSystem.o\
$(BUILD_DIR)/src/plugPikiKando/smartPtr.o\
$(BUILD_DIR)/asm/plugPikiKando/itemGem.o\
$(BUILD_DIR)/asm/plugPikiKando/weedsItem.o\
$(BUILD_DIR)/asm/plugPikiKando/kusaItem.o\
$(BUILD_DIR)/asm/plugPikiKando/fishItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ufoItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ufoAnim.o\
$(BUILD_DIR)/asm/plugPikiKando/bombItem.o\
$(BUILD_DIR)/asm/plugPikiKando/goalItem.o\
$(BUILD_DIR)/asm/plugPikiKando/pikiheadItem.o\
$(BUILD_DIR)/asm/plugPikiKando/keyItem.o\
$(BUILD_DIR)/asm/plugPikiKando/ropeItem.o\
$(BUILD_DIR)/asm/plugPikiKando/seedItem.o\
$(BUILD_DIR)/asm/plugPikiKando/genItem.o\
$(BUILD_DIR)/asm/plugPikiKando/itemAI.o\
$(BUILD_DIR)/asm/plugPikiKando/itemMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/itemObject.o\
$(BUILD_DIR)/asm/plugPikiKando/mizuItem.o\
$(BUILD_DIR)/asm/plugPikiKando/paniItemAnimator.o\
$(BUILD_DIR)/asm/plugPikiKando/genNavi.o\
$(BUILD_DIR)/asm/plugPikiKando/navi.o\
$(BUILD_DIR)/asm/plugPikiKando/naviState.o\
$(BUILD_DIR)/asm/plugPikiKando/naviDemoState.o\
$(BUILD_DIR)/asm/plugPikiKando/gameCoreSection.o\
$(BUILD_DIR)/asm/plugPikiKando/gmWin.o\
$(BUILD_DIR)/asm/plugPikiKando/gameStat.o\
$(BUILD_DIR)/asm/plugPikiKando/kmath.o\
$(BUILD_DIR)/asm/plugPikiKando/uteffect.o\
$(BUILD_DIR)/asm/plugPikiKando/kontroller.o\
$(BUILD_DIR)/src/plugPikiKando/mapcode.o\
$(BUILD_DIR)/asm/plugPikiKando/utkando.o\
$(BUILD_DIR)/asm/plugPikiKando/naviMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/genMapParts.o\
$(BUILD_DIR)/asm/plugPikiKando/mapParts.o\
$(BUILD_DIR)/asm/plugPikiKando/panipikianimator.o\
$(BUILD_DIR)/asm/plugPikiKando/actor.o\
$(BUILD_DIR)/asm/plugPikiKando/actorMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/genActor.o\
$(BUILD_DIR)/src/plugPikiKando/pikiInfo.o\
$(BUILD_DIR)/asm/plugPikiKando/plantMgr.o\
$(BUILD_DIR)/asm/plugPikiKando/paniPlantAnimator.o\
$(KANDO_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(KANDO_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiKando/plugPikiKando.a: $(KANDO_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(KANDO_FILES) > build/KANDO_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/KANDO_ofiles

View File

@ -0,0 +1,66 @@
NAKATA_FILES:=\
$(BUILD_DIR)/asm/plugPikiNakata/genteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/nakatacode.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibfunction.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgeometry.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgeometry3d.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibgraphics.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibmath.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibspline.o\
$(BUILD_DIR)/asm/plugPikiNakata/nlibsystem.o\
$(BUILD_DIR)/asm/plugPikiNakata/panianimator.o\
$(BUILD_DIR)/asm/plugPikiNakata/panipikianimmgr.o\
$(BUILD_DIR)/asm/plugPikiNakata/panitekianimator.o\
$(BUILD_DIR)/asm/plugPikiNakata/panitestsection.o\
$(BUILD_DIR)/asm/plugPikiNakata/paraparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcamera.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcameramanager.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcammotionevents.o\
$(BUILD_DIR)/asm/plugPikiNakata/pcamcameraparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/peve.o\
$(BUILD_DIR)/asm/plugPikiNakata/peveconditions.o\
$(BUILD_DIR)/asm/plugPikiNakata/pevemotionevents.o\
$(BUILD_DIR)/asm/plugPikiNakata/tai.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiattackactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taibasicactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taichappy.o\
$(BUILD_DIR)/asm/plugPikiNakata/taicollec.o\
$(BUILD_DIR)/asm/plugPikiNakata/taicollisionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taieffectactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiiwagen.o\
$(BUILD_DIR)/asm/plugPikiNakata/taijudgementactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taikinoko.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimessageactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimizinko.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimotionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taimoveactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/tainapkid.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiotimoti.o\
$(BUILD_DIR)/asm/plugPikiNakata/taipalm.o\
$(BUILD_DIR)/asm/plugPikiNakata/taireactionactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiswallow.o\
$(BUILD_DIR)/asm/plugPikiNakata/taishell.o\
$(BUILD_DIR)/asm/plugPikiNakata/taitimeractions.o\
$(BUILD_DIR)/asm/plugPikiNakata/taiwaitactions.o\
$(BUILD_DIR)/asm/plugPikiNakata/teki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekianimationmanager.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekibteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiconditions.o\
$(BUILD_DIR)/src/plugPikiNakata/tekievent.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiinteraction.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekimgr.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekinakata.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekinteki.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekiparameters.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekipersonality.o\
$(BUILD_DIR)/asm/plugPikiNakata/tekistrategy.o\
$(NAKATA_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(NAKATA_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiNakata/plugPikiNakata.a: $(NAKATA_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(NAKATA_FILES) > build/NAKATA_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/NAKATA_ofiles

View File

@ -0,0 +1,45 @@
NISHIMURA_FILES:=\
$(BUILD_DIR)/asm/plugPikiNishimura/genBoss.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Boss.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossAnimMgr.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossCnd.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossMgr.o\
$(BUILD_DIR)/asm/plugPikiNishimura/BossShapeObj.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Spider.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SpiderAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SpiderLeg.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Snake.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SnakeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SnakeBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Slime.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/SlimeCreature.o\
$(BUILD_DIR)/asm/plugPikiNishimura/King.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingBody.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Kogane.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KoganeAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Pom.o\
$(BUILD_DIR)/asm/plugPikiNishimura/PomAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/KingBack.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Nucleus.o\
$(BUILD_DIR)/asm/plugPikiNishimura/NucleusAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/CoreNucleus.o\
$(BUILD_DIR)/asm/plugPikiNishimura/CoreNucleusAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/Mizu.o\
$(BUILD_DIR)/asm/plugPikiNishimura/MizuAi.o\
$(BUILD_DIR)/asm/plugPikiNishimura/nscalculation.o\
$(BUILD_DIR)/asm/plugPikiNishimura/RumbleData.o\
$(BUILD_DIR)/asm/plugPikiNishimura/HmRumbleMgr.o\
$(BUILD_DIR)/src/plugPikiNishimura/HmRumbleSample.o\
$(NISHIMURA_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(NISHIMURA_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiNishimura/plugPikiNishimura.a: $(NISHIMURA_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(NISHIMURA_FILES) > build/NISHIMURA_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/NISHIMURA_ofiles

View File

@ -0,0 +1,35 @@
OGAWA_FILES:=\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTest.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogSub.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTitle.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogPause.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTutorial.o\
$(BUILD_DIR)/src/plugPikiOgawa/ogTutorialData.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMap.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogResult.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogRader.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileSelect.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMessage.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMemChk.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogDiary.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMenu.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileChkSel.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogMakeDefault.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogTotalScore.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogSave.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogNitaku.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileCopy.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogFileDelete.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogGraph.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogStart.o\
$(BUILD_DIR)/asm/plugPikiOgawa/ogCallBack.o\
$(OGAWA_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(OGAWA_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiOgawa/plugPikiOgawa.a: $(OGAWA_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(OGAWA_FILES) > build/OGAWA_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/OGAWA_ofiles

View File

@ -0,0 +1,92 @@
YAMASHITA_FILES:=\
$(BUILD_DIR)/asm/plugPikiYamashita/gameCourseClear.o\
$(BUILD_DIR)/asm/plugPikiYamashita/gameStageClear.o\
$(BUILD_DIR)/asm/plugPikiYamashita/gameCredits.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenMath.o\
$(BUILD_DIR)/asm/plugPikiYamashita/effectMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleGenerator.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleLoader.o\
$(BUILD_DIR)/src/plugPikiYamashita/solidField.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleManager.o\
$(BUILD_DIR)/asm/plugPikiYamashita/particleMdlManager.o\
$(BUILD_DIR)/asm/plugPikiYamashita/bBoardColourAnim.o\
$(BUILD_DIR)/asm/plugPikiYamashita/simpleParticle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/tekiyteki.o\
$(BUILD_DIR)/asm/plugPikiYamashita/tekiyamashita.o\
$(BUILD_DIR)/src/plugPikiYamashita/TAIanimation.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAItank.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAImar.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAreaction.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAmove.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAmotion.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAjudge.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAattack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DGrafContext.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DOrthoGraph.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPerspGraph.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPane.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPicture.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DScreen.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DStream.o\
$(BUILD_DIR)/asm/plugPikiYamashita/PSUList.o\
$(BUILD_DIR)/asm/plugPikiYamashita/PUTRect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DWindow.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DTextBox.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DPrint.o\
$(BUILD_DIR)/asm/plugPikiYamashita/P2DFont.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawGameInfo.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenGraphics.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawContainer.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCommon.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenController.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawHurryUp.o\
$(BUILD_DIR)/asm/plugPikiYamashita/texAnim.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawAccount.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawMenu.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIeffectAttack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIbeatle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/menuPanelMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiA.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiB.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIkabekuiC.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAItamago.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIdororo.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIhibaA.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIAeffect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAImiurin.o\
$(BUILD_DIR)/src/plugPikiYamashita/ptclGenPack.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawProgre.o\
$(BUILD_DIR)/asm/plugPikiYamashita/spectrumCursorMgr.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawWorldMap.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCountDown.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawGameOver.o\
$(BUILD_DIR)/asm/plugPikiYamashita/yai.o\
$(BUILD_DIR)/asm/plugPikiYamashita/effectMgr2D.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawWMPause.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIusuba.o\
$(BUILD_DIR)/asm/plugPikiYamashita/TAIotama.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMcourseSelect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMtitle.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMscore.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMbest.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawCMresult.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawMenuBase.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawHiScore.o\
$(BUILD_DIR)/asm/plugPikiYamashita/damageEffect.o\
$(BUILD_DIR)/asm/plugPikiYamashita/alphaWipe.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawUfoParts.o\
$(BUILD_DIR)/asm/plugPikiYamashita/zenSys.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawSaveMes.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawSaveFailure.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawFinalResult.o\
$(BUILD_DIR)/asm/plugPikiYamashita/drawOptionSave.o\
$(YAMASHITA_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(YAMASHITA_FILES:.o=.d)
$(BUILD_DIR)/src/plugPikiYamashita/plugPikiYamashita.a: $(YAMASHITA_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(YAMASHITA_FILES) > build/YAMASHITA_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/YAMASHITA_ofiles

32
src/sysCommon/Makefile Normal file
View File

@ -0,0 +1,32 @@
SYSCOMMON_FILES:=\
$(BUILD_DIR)/asm/sysCommon/ayuStack.o\
$(BUILD_DIR)/asm/sysCommon/baseApp.o\
$(BUILD_DIR)/asm/sysCommon/stream.o\
$(BUILD_DIR)/asm/sysCommon/streamBufferedInput.o\
$(BUILD_DIR)/src/sysCommon/string.o\
$(BUILD_DIR)/asm/sysCommon/graphics.o\
$(BUILD_DIR)/asm/sysCommon/grLight.o\
$(BUILD_DIR)/asm/sysCommon/shapeBase.o\
$(BUILD_DIR)/asm/sysCommon/shpLightFlares.o\
$(BUILD_DIR)/asm/sysCommon/shpObjColl.o\
$(BUILD_DIR)/asm/sysCommon/shpRoutes.o\
$(BUILD_DIR)/asm/sysCommon/sysMath.o\
$(BUILD_DIR)/asm/sysCommon/matMath.o\
$(BUILD_DIR)/asm/sysCommon/stdSystem.o\
$(BUILD_DIR)/asm/sysCommon/node.o\
$(BUILD_DIR)/src/sysCommon/timers.o\
$(BUILD_DIR)/asm/sysCommon/controller.o\
$(BUILD_DIR)/asm/sysCommon/cmdStream.o\
$(BUILD_DIR)/asm/sysCommon/camera.o\
$(BUILD_DIR)/asm/sysCommon/atx.o\
$(BUILD_DIR)/asm/sysCommon/id32.o\
$(SYSCOMMON_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(SYSCOMMON_FILES:.o=.d)
$(BUILD_DIR)/src/sysCommon/sysCommon.a: $(SYSCOMMON_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(SYSCOMMON_FILES) > build/SYSCOMMON_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/SYSCOMMON_ofiles

17
src/sysDolphin/Makefile Normal file
View File

@ -0,0 +1,17 @@
SYSDOLPHIN_FILES:=\
$(BUILD_DIR)/asm/sysDolphin/texture.o\
$(BUILD_DIR)/asm/sysDolphin/system.o\
$(BUILD_DIR)/asm/sysDolphin/sysNew.o\
$(BUILD_DIR)/asm/sysDolphin/controllerMgr.o\
$(BUILD_DIR)/asm/sysDolphin/dgxGraphics.o\
$(BUILD_DIR)/src/sysDolphin/gameApp.o\
$(SYSDOLPHIN_FILES): MWCC_VERSION := 1.2.5n
DEPENDS += $(SYSDOLPHIN_FILES:.o=.d)
$(BUILD_DIR)/src/sysDolphin/sysDolphin.a: $(SYSDOLPHIN_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(SYSDOLPHIN_FILES) > build/SYSDOLPHIN_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/SYSDOLPHIN_ofiles

13
src/vi/Makefile Normal file
View File

@ -0,0 +1,13 @@
VI_FILES:=\
$(BUILD_DIR)/asm/vi/vi.o\
$(VI_FILES): CFLAGS += -common off
$(VI_FILES): MWCC_VERSION := 1.2.5
DEPENDS += $(VI_FILES:.o=.d)
$(BUILD_DIR)/src/vi/vi.a: $(VI_FILES)
@echo Linking... $@
$(QUIET) mkdir -p $(dir $@)
@echo $(VI_FILES) > build/VI_ofiles
$(QUIET) $(LD) -library $(LIBRARY_LDFLAGS) -o $@ -lcf ldscript.lcf @build/VI_ofiles

View File

@ -1,10 +1,19 @@
import argparse
import urllib.request
import sys
import os
import stat
import platform
from pathlib import Path
if sys.platform == "cygwin":
sys.exit(
f"Cygwin/MSYS2 is not supported."
f"\nPlease use native Windows Python instead."
f"\nPlease run pacman -R python in msys2."
f"\n(Current path: {sys.executable})"
)
REPO = "https://github.com/encounter/decomp-toolkit"

45
tools/download_mwcc.py Normal file
View File

@ -0,0 +1,45 @@
import urllib.request
import sys
import os
import stat
import tempfile
import shutil
import zipfile
if sys.platform == "cygwin":
sys.exit(
f"Cygwin/MSYS2 is not supported."
f"\nPlease use native Windows Python instead."
f"\nPlease run pacman -R python in msys2."
f"\n(Current path: {sys.executable})"
)
HARDLINK = "https://files.decomp.dev/compilers_20230715.zip"
def main() -> None:
output = f"{os.path.dirname(__file__)}/mwcc_compiler"
with tempfile.TemporaryDirectory() as tmp_dir:
tmp_zip = f"{tmp_dir}/mwcc_compiler.zip"
tmp_gc = f"{tmp_dir}/GC"
request = urllib.request.Request(
url=HARDLINK,
headers={"User-Agent": "Mozilla/5.0"},
)
with urllib.request.urlopen(request) as src, open(tmp_zip, "wb") as dst:
shutil.copyfileobj(src, dst)
with zipfile.ZipFile(tmp_zip) as zip_file:
zip_file.extractall(tmp_dir)
shutil.move(tmp_gc, output)
st = os.stat(output)
os.chmod(output, st.st_mode | stat.S_IEXEC)
if __name__ == "__main__":
main()

47
tools/download_ppc.py Normal file
View File

@ -0,0 +1,47 @@
import urllib.request
import sys
import os
import stat
import platform
import tempfile
import zipfile
if sys.platform == "cygwin":
sys.exit(
f"Cygwin/MSYS2 is not supported."
f"\nPlease use native Windows Python instead."
f"\nPlease run pacman -R python in msys2."
f"\n(Current path: {sys.executable})"
)
REPO = "https://github.com/encounter/gc-wii-binutils"
def main() -> None:
output = f"{os.path.dirname(__file__)}/powerpc"
uname = platform.uname()
system = uname.system.lower()
arch = uname.machine.lower()
if system == "darwin":
system = "macos"
arch = "universal"
if arch == "amd64":
arch = "x86_64"
if arch == "x86_32":
arch = "i686"
with tempfile.TemporaryDirectory() as tmp_dir:
tmp_zip = f"{tmp_dir}/powerpc.zip"
url = f"{REPO}/releases/latest/download/{system}-{arch}.zip"
urllib.request.urlretrieve(url, tmp_zip)
with zipfile.ZipFile(tmp_zip) as zip_file:
zip_file.extractall(output)
st = os.stat(output)
os.chmod(output, st.st_mode | stat.S_IEXEC)
if __name__ == "__main__":
main()

199
tools/ninja_syntax.py Normal file
View File

@ -0,0 +1,199 @@
#!/usr/bin/python
# Copyright 2011 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Python module for generating .ninja files.
Note that this is emphatically not a required piece of Ninja; it's
just a helpful utility for build-file-generation systems that already
use Python.
"""
import re
import textwrap
def escape_path(word):
return word.replace('$ ', '$$ ').replace(' ', '$ ').replace(':', '$:')
class Writer(object):
def __init__(self, output, width=78):
self.output = output
self.width = width
def newline(self):
self.output.write('\n')
def comment(self, text):
for line in textwrap.wrap(text, self.width - 2, break_long_words=False,
break_on_hyphens=False):
self.output.write('# ' + line + '\n')
def variable(self, key, value, indent=0):
if value is None:
return
if isinstance(value, list):
value = ' '.join(filter(None, value)) # Filter out empty strings.
self._line('%s = %s' % (key, value), indent)
def pool(self, name, depth):
self._line('pool %s' % name)
self.variable('depth', depth, indent=1)
def rule(self, name, command, description=None, depfile=None,
generator=False, pool=None, restat=False, rspfile=None,
rspfile_content=None, deps=None):
self._line('rule %s' % name)
self.variable('command', command, indent=1)
if description:
self.variable('description', description, indent=1)
if depfile:
self.variable('depfile', depfile, indent=1)
if generator:
self.variable('generator', '1', indent=1)
if pool:
self.variable('pool', pool, indent=1)
if restat:
self.variable('restat', '1', indent=1)
if rspfile:
self.variable('rspfile', rspfile, indent=1)
if rspfile_content:
self.variable('rspfile_content', rspfile_content, indent=1)
if deps:
self.variable('deps', deps, indent=1)
def build(self, outputs, rule, inputs=None, implicit=None, order_only=None,
variables=None, implicit_outputs=None, pool=None, dyndep=None):
outputs = as_list(outputs)
out_outputs = [escape_path(x) for x in outputs]
all_inputs = [escape_path(x) for x in as_list(inputs)]
if implicit:
implicit = [escape_path(x) for x in as_list(implicit)]
all_inputs.append('|')
all_inputs.extend(implicit)
if order_only:
order_only = [escape_path(x) for x in as_list(order_only)]
all_inputs.append('||')
all_inputs.extend(order_only)
if implicit_outputs:
implicit_outputs = [escape_path(x)
for x in as_list(implicit_outputs)]
out_outputs.append('|')
out_outputs.extend(implicit_outputs)
self._line('build %s: %s' % (' '.join(out_outputs),
' '.join([rule] + all_inputs)))
if pool is not None:
self._line(' pool = %s' % pool)
if dyndep is not None:
self._line(' dyndep = %s' % dyndep)
if variables:
if isinstance(variables, dict):
iterator = iter(variables.items())
else:
iterator = iter(variables)
for key, val in iterator:
self.variable(key, val, indent=1)
return outputs
def include(self, path):
self._line('include %s' % path)
def subninja(self, path):
self._line('subninja %s' % path)
def default(self, paths):
self._line('default %s' % ' '.join(as_list(paths)))
def _count_dollars_before_index(self, s, i):
"""Returns the number of '$' characters right in front of s[i]."""
dollar_count = 0
dollar_index = i - 1
while dollar_index > 0 and s[dollar_index] == '$':
dollar_count += 1
dollar_index -= 1
return dollar_count
def _line(self, text, indent=0):
"""Write 'text' word-wrapped at self.width characters."""
leading_space = ' ' * indent
while len(leading_space) + len(text) > self.width:
# The text is too wide; wrap if possible.
# Find the rightmost space that would obey our width constraint and
# that's not an escaped space.
available_space = self.width - len(leading_space) - len(' $')
space = available_space
while True:
space = text.rfind(' ', 0, space)
if (space < 0 or
self._count_dollars_before_index(text, space) % 2 == 0):
break
if space < 0:
# No such space; just use the first unescaped space we can find.
space = available_space - 1
while True:
space = text.find(' ', space + 1)
if (space < 0 or
self._count_dollars_before_index(text, space) % 2 == 0):
break
if space < 0:
# Give up on breaking.
break
self.output.write(leading_space + text[0:space] + ' $\n')
text = text[space+1:]
# Subsequent lines are continuations, so indent them.
leading_space = ' ' * (indent+2)
self.output.write(leading_space + text + '\n')
def close(self):
self.output.close()
def as_list(input):
if input is None:
return []
if isinstance(input, list):
return input
return [input]
def escape(string):
"""Escape a string such that it can be embedded into a Ninja file without
further interpretation."""
assert '\n' not in string, 'Ninja syntax does not allow newlines'
# We only have one special metacharacter: '$'.
return string.replace('$', '$$')
def expand(string, vars, local_vars={}):
"""Expand a string containing $vars as Ninja would.
Note: doesn't handle the full Ninja variable syntax, but it's enough
to make configure.py's use of it work.
"""
def exp(m):
var = m.group(1)
if var == '$':
return '$'
return local_vars.get(var, vars.get(var, ''))
return re.sub(r'\$(\$|\w*)', exp, string)

3
tools/progress.csv Normal file
View File

@ -0,0 +1,3 @@
code_count_in_ship parts,code_completion_in_bytes,code_completion_in_percentage,data_count_in_pikmin,data_completion_in_bytes,data_completion_in_percentage,sentence,created_at
0,7456,0.0033531934490400946,1,19830,0.010557008645247775,"
You have 0 out of 30 ship parts and 1 out of 100 Pikmin.",2024-01-01 01:34:33.509086
1 code_count_in_ship parts code_completion_in_bytes code_completion_in_percentage data_count_in_pikmin data_completion_in_bytes data_completion_in_percentage sentence created_at
2 0 7456 0.0033531934490400946 1 19830 0.010557008645247775 You have 0 out of 30 ship parts and 1 out of 100 Pikmin. 2024-01-01 01:34:33.509086