summaryrefslogtreecommitdiff
path: root/Makefile.linux_thumb2
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.linux_thumb2')
-rw-r--r--Makefile.linux_thumb232
1 files changed, 32 insertions, 0 deletions
diff --git a/Makefile.linux_thumb2 b/Makefile.linux_thumb2
new file mode 100644
index 0000000..d938380
--- /dev/null
+++ b/Makefile.linux_thumb2
@@ -0,0 +1,32 @@
+
+SDIR = ./
+ODIR = ./
+
+ASFLAGS=-mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 -march=armv8-a+crc -mthumb
+CFLAGS=-mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 -march=armv8-a+crc -mtune=cortex-a53 -mthumb
+DEFINES=-DUSE_CLIB -DLINUX -DARM -DGNU_C -DELF
+
+all: $(ODIR)_startup.o
+
+$(ODIR)_startup.o: $(ODIR)thumb2startup.o $(ODIR)thumb2fileIO3.o $(ODIR)scon.o $(ODIR)ufileIO2.o $(ODIR)thumb2divmod.o
+ ld -r -o $(ODIR)_startup.o $(ODIR)thumb2startup.o $(ODIR)thumb2divmod.o $(ODIR)scon.o $(ODIR)thumb2fileIO3.o $(ODIR)ufileIO2.o
+
+$(ODIR)scon.o: $(SDIR)scon.c
+# gcc -c -O $(DEFINES) -o $(ODIR)scon.o $(SDIR)scon.c
+ $(CC) -O $(DEFINES) $(CFLAGS) -ffunction-sections -fdata-sections $(SDIR)scon.c -S -o $(ODIR)scon.s
+ mv $(ODIR)scon.s $(ODIR)scon.s.copy
+ grep -v -w ___main $(ODIR)scon.s.copy > $(ODIR)scon.s
+ as $(ASFLAGS) $(DEFINES_A) $(ODIR)scon.s -o $(ODIR)scon.o
+
+$(ODIR)ufileIO2.o: $(SDIR)ufileIO2.c
+ gcc -c -O $(DEFINES) -ffunction-sections -fdata-sections -o $(ODIR)ufileIO2.o $(SDIR)ufileIO2.c
+
+$(ODIR)thumb2startup.o: $(SDIR)thumb2startup.s
+ as $(ODIR)thumb2startup.s -o $(ODIR)thumb2startup.o $(ASFLAGS)
+
+$(ODIR)thumb2fileIO3.o: $(SDIR)thumb2fileIO3.s
+ as $(ODIR)thumb2fileIO3.s -o $(ODIR)thumb2fileIO3.o $(ASFLAGS)
+
+$(ODIR)thumb2divmod.o: $(SDIR)thumb2divmod.s
+ as $(ODIR)thumb2divmod.s -o $(ODIR)thumb2divmod.o $(ASFLAGS)
+