aboutsummaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/Makefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/loader/Makefile b/loader/Makefile
new file mode 100644
index 0000000..c627df7
--- /dev/null
+++ b/loader/Makefile
@@ -0,0 +1,36 @@
+CC=arm-elf-gcc
+LD=arm-elf-ld
+AR=arm-elf-ar
+AS=arm-elf-as
+OBJCOPY=arm-elf-objcopy
+OBJDUMP=arm-elf-objdump
+
+CFLAGS=-nostartfiles -nostdlib -nodefaultlibs -g -O2
+LDFLAGS=-Tloader.lds
+
+all: loader128.bin loader256.bin
+
+headers: loader128.bin loader256.bin
+ gcc -o bin2c bin2c.c
+ ./bin2c loader128_data < loader128.bin > ../loader128_data.h
+ ./bin2c loader256_data < loader256.bin > ../loader256_data.h
+
+loader128.elf: crt0.o loader128.o
+ ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $^
+
+loader256.elf: crt0.o loader256.o
+ ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $^
+
+
+loader128.o: loader.c
+ ${CC} ${CFLAGS} -DPAGE_SIZE=128 -c -o $@ $^
+
+loader256.o: loader.c
+ ${CC} ${CFLAGS} -DPAGE_SIZE=256 -c -o $@ $^
+
+%.bin: %.elf
+ ${OBJCOPY} -O binary $^ $@
+
+clean:
+ rm -f loader128.o loader256.o loader128.elf loader256.elf \
+ loader128.bin loader256.bin crt0.o bin2c bin2c.exe \ No newline at end of file