gpu_neon: update for armv5pollux build
[pcsx_rearmed.git] / plugins / gpu_neon / Makefile
index a8872df..f227752 100644 (file)
@@ -1,32 +1,50 @@
 CC = $(CROSS_COMPILE)gcc
+CXX = $(CROSS_COMPILE)g++
+CC_ = $(CC)
 
 ARCH = $(shell $(CC) -v 2>&1 | grep -i 'target:' | awk '{print $$2}' | awk -F '-' '{print $$1}')
 
 CFLAGS += -ggdb -Wall -fPIC -O2
+CFLAGS += -fno-strict-aliasing
 
-LDFLAGS += -shared -Wl,-soname,$(TARGET)
 SRC += gpu.c
 ifeq "$(ARCH)" "arm"
-TARGET = gpu_neon.so
+ARM_CORTEXA8 ?= 1
+ifeq "$(ARM_CORTEXA8)" "1"
 CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
-SRC += vout_fb.c ../../frontend/arm_utils.s
+SRC += ../../frontend/cspace_neon.s
 else
-TARGET = gpu_neon.so.x86
+CFLAGS += -mcpu=arm926ej-s -mtune=arm926ej-s
+SRC += ../../frontend/cspace.c
+endif
+SRC += vout_fb.c
+EXT = so
+endif
+ifeq "$(ARCH)" "x86_64"
 CFLAGS += `sdl-config --cflags` -m32
 LDFLAGS += `sdl-config --libs`
 SRC += vout_sdl.c
+EXT = so.x86
 endif
-PEOPS=1
-ifndef PEOPS
-SRC += psx_gpu_if.c
-else
-SRC += peops.c
+
+HAVE_NEON = $(shell $(CC_) -E -dD $(CFLAGS) gpu.h | grep -q '__ARM_NEON__ 1' && echo 1)
+
+TARGETS = gpu_peops.$(EXT) gpu_unai.$(EXT)
+ifeq "$(HAVE_NEON)" "1"
+TARGETS += gpu_neon.$(EXT)
 endif
 
-all: $(TARGET)
+gpu_neon.$(EXT): SRC += psx_gpu_if.c
+gpu_neon.$(EXT): CFLAGS += -fno-strict-aliasing
+gpu_peops.$(EXT): SRC += peops_if.c
+gpu_peops.$(EXT): CFLAGS += -fno-strict-aliasing
+gpu_unai.$(EXT): SRC += unai_if.cpp
+gpu_unai.$(EXT): CC_ = $(CXX)
+
+all: $(TARGETS)
 
-$(TARGET): $(SRC)
-       $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS)
+$(TARGETS): $(SRC)
+       $(CC_) -o $@ $(SRC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$@
 
 clean:
-       $(RM) $(TARGET)
+       $(RM) $(TARGETS)