#!/usr/bin/python
import sys
import os
import ftplib
import glob

# the path plugin was copied to
COPYTOPATH = 'layeredfs.plg'

CC = "c:/devkitPro/devkitARM/bin/arm-none-eabi-gcc"
CP = "c:/devkitPro/devkitARM/bin/arm-none-eabi-g++"
OC = "c:/devkitPro/devkitARM/bin/arm-none-eabi-objcopy" 
LD = "c:/devkitPro/devkitARM/bin/arm-none-eabi-ld"
CTRULIB = '../libctru'
DEVKITARM = 'c:/devkitPro/devkitARM'
LIBPATH = '-L ./lib'

def allFile(pattern):
    s = "";
    for file in glob.glob(pattern):
        s += file + " ";
    return s;

def run(cmd):
	os.system(cmd)

cwd = os.getcwd() 
run("del obj/*.o")
run("del bin/*.elf")
run(CC+  " -s  -g -I include -I include/libntrplg " + allFile('source/libntrplg/*.c') + allFile('source/ns/*.c') + allFile('source/*.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") + " -lc -lgcc --nostdlib"  )
run("copy *.o obj ")
run(OC+" -O binary a.out payload.bin -S")
run("del *.o")
run("del *.out")
run('copy payload.bin ' + COPYTOPATH);
