@@ -22,6 +22,8 @@ ifeq ($(platform),)
2222 else ifneq ($(findstring win,$(UNAME)),)
2323 platform = win
2424 endif
25+ else ifneq (,$(findstring armv,$(platform)))
26+ override platform += unix
2527endif
2628
2729# system platform
@@ -110,7 +112,7 @@ BUILD_JPEGLIB = 1
110112VRENDER ?= soft
111113
112114# Unix
113- ifeq ( $( platform ) , unix)
115+ ifneq (, $( findstring unix, $( platform ) ) )
114116 TARGETLIB := $(TARGET_NAME)_libretro.so
115117 TARGETOS=linux
116118 fpic := -fPIC
@@ -143,6 +145,13 @@ ifeq ($(platform), unix)
143145 ifneq (,$(findstring ppc,$(UNAME)))
144146 BIGENDIAN=1
145147 endif
148+ ifneq (,$(findstring armv,$(UNAME)))
149+ CCOMFLAGS += -mstructure-size-boundary=32
150+ PLATCFLAGS += -DSDLMAME_NO64BITIO -DSDLMAME_ARM -DRETRO_SETJMP_HACK -DARM
151+ LDFLAGS += -Wl,--fix-cortex-a8 -Wl,--no-as-needed
152+ NOASM = 1
153+ FORCE_DRC_C_BACKEND = 1
154+ endif
146155
147156# OS X
148157else ifeq ($(platform), osx)
@@ -179,9 +188,9 @@ else ifeq ($(platform), osx)
179188 endif
180189 PLATCFLAGS += -DSDLMAME_NO64BITIO -DOSX
181190 CCOMFLAGS += $(PLATCFLAGS)
191+
182192# iOS
183193else ifeq ($(platform), ios)
184- armplatform := 1
185194 FORCE_DRC_C_BACKEND = 1
186195 TARGETLIB := $(TARGET_NAME)_libretro_ios.dylib
187196 fpic := -fPIC
@@ -204,7 +213,6 @@ else ifeq ($(platform), ios)
204213
205214# Android
206215else ifeq ($(platform), android)
207- armplatform := 1
208216 TARGETLIB := $(TARGET_NAME)_libretro.so
209217 TARGETOS=linux
210218 fpic := -fPIC
@@ -231,7 +239,6 @@ else ifeq ($(platform), android)
231239
232240# QNX
233241else ifeq ($(platform), qnx)
234- armplatform := 1
235242 TARGETLIB := $(TARGET_NAME)_libretro_qnx.so
236243 TARGETOS=linux
237244 fpic := -fPIC
@@ -311,48 +318,6 @@ else ifeq ($(platform), wii)
311318 BIGENDIAN=1
312319 LIBS += -lstdc++ -lpthread
313320
314- # ARM
315- else ifneq (,$(findstring armv,$(platform)))
316- armplatform := 1
317- TARGETLIB := $(TARGET_NAME)_libretro.so
318- TARGETOS=linux
319- fpic := -fPIC
320- SHARED := -shared -Wl,--version-script=src/osd/retro/link.T -Wl,--no-undefined
321- CCOMFLAGS += $(fpic) -mstructure-size-boundary=32 -falign-functions=16 -fsigned-char -finline -fno-common -fno-builtin -fweb -frename-registers -falign-functions=16
322- PLATCFLAGS += -march=armv7-a -DALIGN_INTS -DALIGN_SHORTS -fstrict-aliasing -fno-merge-constants -DSDLMAME_NO64BITIO -DSDLMAME_ARM -DRETRO_SETJMP_HACK
323- LDFLAGS += -Wl,--fix-cortex-a8 -Wl,--no-as-needed $(fpic) $(SHARED)
324- REALCC = gcc
325- NATIVECC = g++
326- NATIVECFLAGS = -std=gnu99
327- CC = g++
328- AR = @ar
329- LD = g++
330- CCOMFLAGS += $(PLATCFLAGS)
331-
332- ifneq (,$(findstring cortexa8,$(platform)))
333- PLATCFLAGS += -marm -mcpu=cortex-a8
334- else ifneq (,$(findstring cortexa9,$(platform)))
335- PLATCFLAGS += -marm -mcpu=cortex-a9
336- endif
337- PLATCFLAGS += -marm
338- ifneq (,$(findstring neon,$(platform)))
339- PLATCFLAGS += -mfpu=neon
340- HAVE_NEON = 1
341- endif
342- ifneq (,$(findstring softfloat,$(platform)))
343- PLATCFLAGS += -mfloat-abi=softfp
344- else ifneq (,$(findstring hardfloat,$(platform)))
345- PLATCFLAGS += -mfloat-abi=hard
346- endif
347- ifeq ($(VRENDER),opengl)
348- PLATCFLAGS += -DHAVE_OPENGL
349- LIBS += -lGLESv2
350- GLES = 1
351- endif
352-
353- PLATCFLAGS += -DARM
354- LIBS += -lstdc++ -lpthread -ldl
355-
356321# Windows cross compiler
357322else ifeq ($(platform), wincross)
358323 TARGETLIB := $(TARGET_NAME)_libretro.dll
@@ -372,6 +337,7 @@ else ifeq ($(platform), wincross)
372337 ifneq (,$(findstring mingw64-w64,$(PATH)))
373338 PTR64=1
374339 endif
340+
375341# emscripten
376342else ifeq ($(platform), emscripten)
377343 TARGETLIB := $(TARGET_NAME ) _libretro_emscripten.bc
@@ -402,6 +368,7 @@ else ifeq ($(platform), emscripten)
402368 CXXFLAGS += -s USE_ZLIB=1
403369 LDFLAGS += -s USE_ZLIB=1 $(EXCEPT_FLAGS )
404370 LDFLAGSEMULATOR +=
371+
405372# Windows
406373else
407374 TARGETLIB := $(TARGET_NAME)_libretro.dll
0 commit comments