1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
diff --git a/Makefile b/Makefile
index 23b8979..0a09e85 100644
--- a/Makefile
+++ b/Makefile
@@ -74,13 +74,46 @@ ifeq ($(platform), unix)
fpic := -fPIC
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
CFLAGS += -fno-builtin -fno-exceptions -ffunction-sections
-# ARM
+# (armv7 a7, hard point, neon based) ###
+# NESC, SNESC, C64 mini
+else ifeq ($(platform), classic_armv7_a7)
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC
+ SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
+ CFLAGS += -Ofast \
+ -flto=4 -fwhole-program -fuse-linker-plugin \
+ -fdata-sections -ffunction-sections -Wl,--gc-sections \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
+ -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
+ -fmerge-all-constants -fno-math-errno \
+ -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
+ CC = $(CROSS_COMPILE)gcc
+ AR = $(CROSS_COMPILE)ar
+ CXXFLAGS += $(CFLAGS)
+ CPPFLAGS += $(CFLAGS)
+ ASFLAGS += $(CFLAGS)
+ HAVE_NEON = 1
+ ARCH = arm
+ BUILTIN_GPU = neon
+ USE_DYNAREC = 1
+ ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1)
+ CFLAGS += -march=armv7-a
+ else
+ CFLAGS += -march=armv7ve
+ # If gcc is 5.0 or later
+ ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1)
+ LDFLAGS += -static-libgcc -static-libstdc++
+ endif
+ endif
+#######################################
+# generic ARM
else ifneq (,$(findstring armv,$(platform)))
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
- CC = gcc
- CXX = g++
+ CC = $(CROSS_COMPILE)gcc
+ CXX = $(CROSS_COMPILE)g++
PLATFORM_DEFINES += -marm
ifneq (,$(findstring softfloat,$(platform)))
PLATFORM_DEFINES += -mfloat-abi=softfp
@@ -306,38 +339,6 @@ else
endif
OPTIMIZE += -Ofast -DNDEBUG=1
-# (armv7 a7, hard point, neon based) ###
-# NESC, SNESC, C64 mini
-else ifeq ($(platform), classic_armv7_a7)
- TARGET := $(TARGET_NAME)_libretro.so
- fpic := -fPIC
- SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
- CFLAGS += -Ofast \
- -flto=4 -fwhole-program -fuse-linker-plugin \
- -fdata-sections -ffunction-sections -Wl,--gc-sections \
- -fno-stack-protector -fno-ident -fomit-frame-pointer \
- -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
- -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
- -fmerge-all-constants -fno-math-errno \
- -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
- CXXFLAGS += $(CFLAGS)
- CPPFLAGS += $(CFLAGS)
- ASFLAGS += $(CFLAGS)
- HAVE_NEON = 1
- ARCH = arm
- BUILTIN_GPU = neon
- USE_DYNAREC = 1
- ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1)
- CFLAGS += -march=armv7-a
- else
- CFLAGS += -march=armv7ve
- # If gcc is 5.0 or later
- ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1)
- LDFLAGS += -static-libgcc -static-libstdc++
- endif
- endif
-#######################################
-
# Windows MSVC 2010 x64
else ifeq ($(platform), windows_msvc2010_x64)
CC = cl.exe
|