Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 18 additions & 7 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,17 @@
# the path plugin was copied to
COPYTOPATH = 'cheat.plg'

CC = "arm-none-eabi-gcc"
CP = "arm-none-eabi-g++"
OC = "arm-none-eabi-objcopy"
LD = "arm-none-eabi-ld"
CTRULIB = '../libctru'
# get devkitarm environment variable
DEVKITARM = os.environ['DEVKITARM']
# set paths to local compilers
CC = DEVKITARM + "/bin/arm-none-eabi-gcc"
CP = DEVKITARM + "/bin/arm-none-eabi-g++"
OC = DEVKITARM + "/bin/arm-none-eabi-objcopy"
LD = DEVKITARM + "/bin/arm-none-eabi-ld"
CTRULIB = '../libctru'
LIBPATH = '-L ' + DEVKITARM + '/lib/gcc/arm-none-eabi/5.3.0/' + ' -L ' + DEVKITARM + '/arm-none-eabi/lib/ -L obj'


# define function to get all files in a folder based on pattern
def allFile(pattern):
s = "";
for file in glob.glob(pattern):
Expand All @@ -26,10 +28,19 @@ def run(cmd):
#print(cmd);
os.system(cmd)

# check if required folders exist
if not os.path.exists("obj"):
os.makedirs("obj");
if not os.path.exists("bin"):
os.makedirs("bin");


# actually build the thing
cwd = os.getcwd()
# clean up files from previous build
run("rm obj/*.o")
run("rm bin/*.elf")
run(CC+ " -Os -s -g -I include -I include/libntrplg " + allFile('source/libntrplg/*.c') + allFile('source/ns/*.c') + allFile('source/*.c') + allFile('source/battle/*.c') + allFile('source/rng/*.c') + allFile('source/libctru/*.c') + " -c -march=armv6 -mlittle-endian ");
run(CC+ " -Os -s -g -I include -I include/libntrplg " + allFile('source/libntrplg/*.c') + allFile('source/ns/*.c') + allFile('source/*.c') + allFile('source/battle/*.c') + allFile('source/rng/*.c') + allFile('source/libctru/*.c') + " -c -march=armv6 -mlittle-endian ");
run(CC+" -Os " + allFile('source/libntrplg/*.s') + allFile('source/ns/*.s') + allFile('source/*.s') + allFile('source/libctru/*.s') + " -c -s -march=armv6 -mlittle-endian ");

run(LD + ' ' + LIBPATH + " -pie --print-gc-sections -T 3ds.ld -Map=homebrew.map " + allFile("*.o") + " " + allFile("lib/*.o") + " " + allFile("lib/*.a") + " -lc --nostdlib")
Expand Down
2 changes: 2 additions & 0 deletions makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
PokemonCheatPlugin:
python3 build.py