-
all:
- cat src/kernel.cl | grep -vi '{gpu_only}' | sed -e 's/__global //' -e 's/__kernel //' > src/kernel_cpu.cl
- cat src/kernel.cl | grep -vi '{cpu_only}' > src/.kernel.tmp.1
- bash -c 'echo -ne "$$(cat src/.kernel.tmp.1)\x00" > src/.kernel.tmp.2'
- xxd -i src/.kernel.tmp.2 | sed -e 's/src__kernel_tmp_2/kernel_gpu/' > src/kernel_gpu.cl
- gcc src/main.c -g -o bin/QAnsel -lm -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
- rm -f src/.kernel* src/kernel_*
+ sh build.sh all
simple:
- cat src/kernel.cl | grep -vi '{gpu_only}' | sed -e 's/__global //' -e 's/__kernel //' > src/kernel_cpu.cl
- cat src/kernel.cl | grep -vi '{cpu_only}' > src/.kernel.tmp.1
- bash -c 'echo -ne "$$(cat src/.kernel.tmp.1)\x00" > src/.kernel.tmp.2'
- xxd -i src/.kernel.tmp.2 | sed -e 's/src__kernel_tmp_2/kernel_gpu/' > src/kernel_gpu.cl
- gcc src/main.c -g -o bin/QAnsel -lm -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
- rm -f src/.kernel* src/kernel_*
-
-metal:
- cat src/kernel.cl | grep -vi '{gpu_only}' | sed -e 's/__global //' -e 's/__kernel //' > src/kernel_cpu.cl
- cat src/kernel.cl | grep -vi '{cpu_only}' > src/.kernel.tmp.1
- bash -c 'echo -ne "$$(cat src/.kernel.tmp.1)\x00" > src/.kernel.tmp.2'
- xxd -i src/.kernel.tmp.2 | sed -e 's/src__kernel_tmp_2/kernel_gpu/' > src/kernel_gpu.cl
- gcc src/main.c -g -o bin/QAnsel -lm -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
- rm -f src/.kernel* src/kernel_*
-
-metal:
- cat src/kernel.cl | grep -vi '{gpu_only}' | sed -e 's/__global //' -e 's/__kernel //' > src/kernel_cpu.cl
- cat src/kernel.cl | grep -vi '{cpu_only}' > src/.kernel.tmp.1
- bash -c 'echo -ne "$$(cat src/.kernel.tmp.1)\x00" > src/.kernel.tmp.2'
- xxd -i src/.kernel.tmp.2 | sed -e 's/src__kernel_tmp_2/kernel_gpu/' > src/kernel_gpu.cl
- gcc src/main.c -g -o bin/QAnsel -lm -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
- rm -f src/.kernel* src/kernel_*
-
+ sh build.sh simple
commit:
git add src/ examples/ Makefile
--- /dev/null
+#!/bin/sh
+
+echo "$1"
+
+echo "Verifying build commands exist..."
+for i in cat grep sed xxd gcc rm printf
+do
+ if ! which $i
+ then
+ echo "Could not locate $i."
+ exit
+ fi
+done
+echo "Verified."
+echo "Building..."
+cat src/kernel.cl | grep -vi '{gpu_only}' | sed -e 's/__global //' -e 's/__kernel //' > src/kernel_cpu.cl
+cat src/kernel.cl | grep -vi '{cpu_only}' > src/.kernel.tmp.1
+tmp="$(cat src/.kernel.tmp.1)"
+printf "%s\0" "$tmp" > src/.kernel.tmp.2
+xxd -i src/.kernel.tmp.2 | sed -e 's/src__kernel_tmp_2/kernel_gpu/' > src/kernel_gpu.cl
+if [ "$1" = "simple" ]
+then
+ gcc src/main.c -g -o bin/QAnsel -lm -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
+else
+ gcc src/main.c -g -o bin/QAnsel -lm -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread
+fi
+rm -f src/.kernel* src/kernel_*
+echo "Built."
\ No newline at end of file