b03b973291f20a38df412d74e2fe5cd84c437332
2 .PHONY: clean ARMonly linalg cleanall install build prebuild
4 LINALG_BLIS_DIR = blis
5 LINALG_CBLAS_DIR = cblas
6 LINALG_TICBLAS_DIR = ticblas
7 LINALG_BLASACC_DIR = blasblisacc
8 LINALG_CLAPACK_DIR = clapack
9 BLIS_VERSION = $(shell cat $(LINALG_BLIS_DIR)/version)
11 CBLAS_HEADERS =$(LINALG_CBLAS_DIR)/include/cblas.h
12 CBLAS_HEADERS +=$(LINALG_TICBLAS_DIR)/ticblas.h
13 CLAPACK_HEADERS =$(LINALG_CLAPACK_DIR)/INCLUDE/blaswrap.h
14 CLAPACK_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/clapack.h
15 CLAPACK_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/f2c.h
17 ifeq ($(MEM_MODEL),Large)
18 BLIS_CFG = c66xLarge
19 else ifeq ($(MEM_MODEL),Medium)
20 BLIS_CFG = c66xMedium
21 else ifeq ($(MEM_MODEL),Small)
22 BLIS_CFG = c66xSmall
23 endif
25 DSPlibs:
26 cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \
27 cd ../$(LINALG_BLIS_DIR); ./configure -p install/$(BLIS_CFG) c66x; make -j8 MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET) LIBOS=$(LIBOS); make install; \
28 cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET) LIBOS=$(LIBOS); cd ../lib; \
29 echo "combining BLIS, CBLAS, and TICBLAS libraries into one: libcblas.ae66"; \
30 mkdir -p objs; cd objs; rm *; ar x ../../../blis/install/$(BLIS_CFG)/lib/libblis.ae66; mmv 'cblas*.o' 'blis_cblas#1.o'; \
31 ar -x ../../../cblas/lib/C66/libcblas.ae66; ar -x ../libticblas.ae66; chmod +rw *;cd ../../..; \
32 mkdir -p lib; cd lib; rm *; ar -cr libcblas.ae66 ../ticblas/lib/objs/*; cd ..
34 ARMlibs:
35 cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; \
36 cd ../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make -j8; make install; \
37 cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8; cd ..
39 ARMplusDSP: DSPlibs ARMlibs
40 cd $(LINALG_BLASACC_DIR)/src; make MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET); cd ../..; \
41 cp $(LINALG_BLASACC_DIR)/lib/libcblas_armplusdsp.a ./lib; \
42 cp $(LINALG_BLIS_DIR)/install/arm/lib/libblis.a ./lib; \
43 cp $(LINALG_CLAPACK_DIR)/lapack_ARM.a ./lib/liblapack.a; \
44 cp $(LINALG_CLAPACK_DIR)/libcblaswr_ARM.a ./lib/libcblaswr.a; \
45 cp $(LINALG_CLAPACK_DIR)/F2CLIBS/libf2c_ARM.a ./lib/libf2c.a
47 cleanDSPlibs:
48 cd $(LINALG_CBLAS_DIR); make arch=C66 clean; \
49 cd ../$(LINALG_BLIS_DIR); ./configure -p install/$(BLIS_CFG) c66x; make -j8 clean; \
50 cd ../$(LINALG_TICBLAS_DIR)/src; make clean;
52 cleanARMlibs:
53 cd $(LINALG_CBLAS_DIR); make arch=ARM clean; \
54 cd ../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make clean; \
55 cd ../$(LINALG_BLASACC_DIR); make clean; \
56 cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
57 cd ../../$(LINALG_CLAPACK_DIR); make clean
59 #DSPonly:
61 BLIStest:
62 cd $(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; \
63 cd testsuite; make lib=OpenCLCBLAS -j8
65 BLAStest:
66 cd $(LINALG_CLAPACK_DIR)/BLAS/TESTING; make -f Makeblat1; make -f Makeblat2; make -f Makeblat3
68 CLAPACKtest:
69 cd $(LINALG_CLAPACK_DIR)/TESTING/MATGEN; make
70 cd $(LINALG_CLAPACK_DIR)/TESTING/LIN; make
71 cd $(LINALG_CLAPACK_DIR)/TESTING/EIG; make
74 cleanARMplusDSP: cleanDSPlibs cleanARMlibs
77 installDSPlib:
78 install -m 755 -d ${DESTDIR}/include
79 install -m 755 -d ${DESTDIR}/lib
80 cp $(CBLAS_HEADERS) ${DESTDIR}/include
81 cp ./lib/libcblas.ae66 ${DESTDIR}/lib
82 cp -r docs ${DESTDIR}
84 installARMplusDSPlib:
85 install -m 755 -d ${DESTDIR}/include
86 install -m 755 -d ${DESTDIR}/lib
87 cp $(CBLAS_HEADERS) ${DESTDIR}/include
88 cp $(CLAPACK_HEADERS) ${DESTDIR}/include
89 cp ./lib/libblis.a ${DESTDIR}/lib
90 cp ./lib/libcblas_armplusdsp.a ${DESTDIR}/lib
91 cp ./lib/liblapack.a ${DESTDIR}/lib
92 cp ./lib/libcblaswr.a ${DESTDIR}/lib
93 cp ./lib/libf2c.a ${DESTDIR}/lib
94 cp -r docs ${DESTDIR}