


SRC     := ../source/algorithm.cpp ../source/alloc.cpp ../source/arithm.cpp ../source/array.cpp ../source/convert.cpp ../source/copy.cpp 
SRC     += ../source/cuda_gpu_mat.cpp ../source/cuda_host_mem.cpp ../source/cuda_stream.cpp ../source/datastructs.cpp ../source/dxt.cpp
SRC     += ../source/kmeans.cpp ../source/lapack.cpp ../source/mathfuncs_core.cpp ../source/mathfuncs.cpp ../source/matmul.cpp ../source/matop.cpp 
SRC     += ../source/matrix.cpp ../source/matrix_decomp.cpp ../source/merge.cpp ../source/opengl.cpp ../source/out.cpp ../source/parallel.cpp 
SRC     += ../source/pca.cpp ../source/persistence.cpp ../source/rand.cpp ../source/split.cpp ../source/stat.cpp ../source/stl.cpp 
SRC     += ../source/system.cpp ../source/umatrix.cpp
OBJS    := $(SRC:%.cpp=%.o)


INCLUDE = -I ../../include/ -I ../source/ 


./lib/libcore.so: $(OBJS)
	$(CXX) -shared $^ -o $@
	ar rs ./lib/libcore.a $^

%.o:%.cpp
	$(CXX) -std=c++11 -fPIC $(CXXFLAGS) $(INCLUDE) -c $< -o $@

clean:
	rm -f $(OBJS) ./lib/*.so ./lib/*.a
