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