refactor gpu plugins and Makefiles
[pcsx_rearmed.git] / plugins / gpulib / Makefile.test
diff --git a/plugins/gpulib/Makefile.test b/plugins/gpulib/Makefile.test
new file mode 100644 (file)
index 0000000..196b1f9
--- /dev/null
@@ -0,0 +1,45 @@
+CC = $(CROSS_COMPILE)gcc
+CXX = $(CROSS_COMPILE)g++
+CC_ = $(CROSS_COMPILE)gcc
+
+ARCH = $(shell $(CC) -v 2>&1 | grep -i 'target:' | awk '{print $$2}' | awk -F '-' '{print $$1}')
+HAVE_NEON = $(shell $(CC_) -E -dD $(CFLAGS) gpu.h | grep -q '__ARM_NEON__ 1' && echo 1)
+
+CFLAGS += -ggdb -Wall -DTEST
+ifndef DEBUG
+CFLAGS += -O2
+endif
+ifeq "$(ARCH)" "arm"
+CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
+endif
+ifeq "$(ARCH)" "x86_64"
+CFLAGS += -m32
+endif
+
+TARGETS = test_neon test_peops test_unai
+
+SRC += test.c
+
+all: $(TARGETS)
+
+test_neon: SRC += ../gpu_neon/psx_gpu_if.c
+test_neon: CFLAGS += -DTEXTURE_CACHE_4BPP -DTEXTURE_CACHE_8BPP
+ifeq "$(HAVE_NEON)" "1"
+test_neon: SRC += ../gpu_neon/psx_gpu/psx_gpu_arm_neon.S
+test_neon: CFLAGS += -DNEON_BUILD
+else
+test_neon: CFLAGS += -fno-strict-aliasing
+endif
+test_peops: SRC += ../dfxvideo/gpulib_if.c
+test_peops: CFLAGS += -fno-strict-aliasing
+test_unai: SRC += ../gpu_unai/gpulib_if.cpp
+test_unai: CC_ = $(CXX)
+ifeq "$(ARCH)" "arm"
+test_unai: SRC += ../gpu_unai/gpu_arm.s
+endif
+
+$(TARGETS): $(SRC)
+       $(CC_) -o $@ $(SRC) $(CFLAGS) $(LDFLAGS)
+
+clean:
+       $(RM) $(TARGETS)