61 lines
1.4 KiB
Makefile
61 lines
1.4 KiB
Makefile
MODE ?= cpu
|
|
VERSION := 0.0.2
|
|
APP_NAME := bot
|
|
CC:= gcc
|
|
CXX:= g++
|
|
NVCC:= nvcc
|
|
LIBS := -lpthread
|
|
FLAGS := -O3 -pipe #-Wall -Werror
|
|
|
|
#-----------
|
|
all: libi2c4cj.so libsnd4cj.so libmt4cj.so libfft4cj.so #libcnn4cj.so
|
|
|
|
# I2C
|
|
libi2c4cj.so: src/cpp/I2C.c
|
|
$(CC) $(FLAGS) -shared -fPIC $^ -o $@
|
|
|
|
# SOUND
|
|
libsnd4cj.so: src/cpp/snd.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC $^ -o $@
|
|
|
|
# cpu nn
|
|
ifeq ($(MODE), cpu)
|
|
libmt4cj.so: src/cpp/Matrix.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC $^ -o $@
|
|
endif
|
|
|
|
ifeq ($(MODE), cuda)# GPU矩阵
|
|
libmt4cj.so: src/cuda/matrix.cu
|
|
#$(NVCC) -arch=compute_61 -code=sm_61 -O3 -Xcompiler -fPIC -shared src/cuda/matrix.cu -o libmt4cj.so
|
|
$(NVCC) -fPIC -shared src/cuda/matrix.cu -o libmt4cj.so
|
|
|
|
endif
|
|
|
|
# 快速傅里叶变换fft
|
|
libfft4cj.so: src/cpp/fft1.c src/cpp/fft.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC $^ -lm -o $@
|
|
|
|
# 卷积神经网络cnn
|
|
libcnn4cj.so: src/cpp/cnn/cnn_i.cpp conv.o pooling.o ga_pooling.o flatten.o imgl.o
|
|
$(CC) $(FLAGS) -std=c++17 -shared -fPIC $^ -lm -o $@
|
|
|
|
conv.o: src/cpp/cnn/conv.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC -c $^ -o $@
|
|
|
|
pooling.o: src/cpp/cnn/pooling.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC -c $^ -o $@
|
|
|
|
ga_pooling.o: src/cpp/cnn/ga_pooling.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC -c $^ -o $@
|
|
|
|
flatten.o: src/cpp/cnn/flatten.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC -c $^ -o $@
|
|
|
|
imgl.o: src/cpp/cnn/imgl.cpp
|
|
$(CC) $(FLAGS) -shared -fPIC -c $^ -o $@
|
|
|
|
|
|
clear:
|
|
rm -f *.o
|
|
rm -f *.so
|