]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - dense-linear-algebra-libraries/linalg.git/blob - Makefile
Merged refactored BLIS code and BLIS code with AM57x and Shannoon configurations.
[dense-linear-algebra-libraries/linalg.git] / Makefile
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 LINALG_HEADERS =$(LINALG_CLAPACK_DIR)/INCLUDE/blaswrap.h  
12 LINALG_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/clapack.h  
13 LINALG_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/f2c.h  
14 LINALG_HEADERS+=$(LINALG_CBLAS_DIR)/include/cblas.h
17 build: ARMonly
18 prebuild: DSPonly
19 linalg: ARMplusDSP
21 ARMonly: 
22         cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; \
23         cd ../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make -j8; make install; \
24         cd ../$(LINALG_BLASACC_DIR)/src; make -f Makefile.ARM; \
25         cd ../../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make 
27 ARMplusDSP_K2H:
28         cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \
29         cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=Large; cd ..; \
30         cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make -j8; make install; \
31         ./configure -p install/arm cortex-a15; make -j8; make install; \
32         cd ../$(LINALG_BLASACC_DIR); make crossC66x; \
33         cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8
34         
35 ARMplusDSP_AM57x:
36         cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \
37         cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=Small; cd ..; \
38         cd ../$(LINALG_BLIS_DIR); ./configure -p install/am57x am57x; make -j8; make install; \
39         ./configure -p install/arm cortex-a15; make -j8; make install; \
40         cd ../$(LINALG_BLASACC_DIR); make crossAM57x; \
41         cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8
42         
43 DSPonly_Shannon:
44         cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \
45         cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=Medium; cd ..; \
46         cd ../$(LINALG_BLIS_DIR); ./configure -p install/shannon shannon; make -j8; make install; \
47         ./configure -p install/arm cortex-a15; make -j8; make install; \
48         cd ../$(LINALG_BLASACC_DIR); make crossShannon; \
49         cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8
51 BLIStest:
52         cd $(LINALG_BLIS_DIR)/testsuite; make lib=OpenCLCBLAS -j8 
54 BLAStest:
55         cd $(LINALG_CLAPACK_DIR)/BLAS/TESTING; make -f Makeblat1; make -f Makeblat2; make -f Makeblat3
57 CLAPACKtest:
58         cd $(LINALG_CLAPACK_DIR)/TESTING/MATGEN; make 
59         cd $(LINALG_CLAPACK_DIR)/TESTING/LIN; make
60         cd $(LINALG_CLAPACK_DIR)/TESTING/EIG; make
63 cleanARMplusDSP_K2H:
64         cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
65         cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
66         cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make clean; \
67         ./configure -p install/arm cortex-a15; make clean; \
68         cd ../$(LINALG_BLASACC_DIR); make clean; \
69         cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
70         cd ../../$(LINALG_CLAPACK_DIR); make clean
71         
72 cleanARMplusDSP_AM57x:  
73         cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
74         cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
75         cd ../$(LINALG_BLIS_DIR); ./configure -p install/am57x am57x; make clean; \
76         ./configure -p install/arm cortex-a15; make clean; \
77         cd ../$(LINALG_BLASACC_DIR); make clean; \
78         cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
79         cd ../../$(LINALG_CLAPACK_DIR); make clean
80         
81 cleanShannon:   
82         cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
83         cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
84         cd ../$(LINALG_BLIS_DIR); ./configure -p install/shannon shannon; make clean; \
85         ./configure -p install/arm cortex-a15; make clean; \
86         cd ../$(LINALG_BLASACC_DIR); make clean; \
87         cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
88         cd ../../$(LINALG_CLAPACK_DIR); make clean
90 clean:
91         cd $(LINALG_CBLAS_DIR)/src; make arch=ARM clean; \
92         cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
93         cd ../../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make clean; \
94         cd ../$(LINALG_BLASACC_DIR)/src; make -f Makefile.ARM cleanARM; \
95         cd ../../$(LINALG_CLAPACK_DIR); make clean
97 DSPonly:
98         cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \
99         cd ../$(LINALG_TICBLAS_DIR)/src; make; cd ..; \
100         cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make -j8; make install; \
101         cd ../$(LINALG_BLASACC_DIR)/src; make ti_cblas_kernel.dsp_h
103 install:
104         install -m 755 -d ${DESTDIR}/usr/include
105         install -m 755 -d ${DESTDIR}/usr/lib
106         install -m 755 -d ${DESTDIR}/usr/share/doc/ti-linalg
107         install -m 755 -d ${DESTDIR}/usr/share/ti/examples/linalg       
108         cp $(LINALG_HEADERS) ${DESTDIR}/usr/include
109         cp $(LINALG_BLASACC_DIR)/lib/libcblas_armplusdsp.a ${DESTDIR}/usr/lib
110         cp $(LINALG_BLIS_DIR)/install/arm/lib/libblis-$(BLIS_VERSION)-cortex-a15.a ${DESTDIR}/usr/lib/libblis.a
111         cp -r ./examples/* ${DESTDIR}/usr/share/ti/examples/linalg
112         cp $(LINALG_CLAPACK_DIR)/lapack_ARM.a ${DESTDIR}/usr/lib/liblapack.a
113         cp $(LINALG_CLAPACK_DIR)/libcblaswr_ARM.a ${DESTDIR}/usr/lib/libcblaswr.a
114         cp $(LINALG_CLAPACK_DIR)/F2CLIBS/libf2c_ARM.a ${DESTDIR}/usr/lib/libf2c.a
115         cp docs/* ${DESTDIR}/usr/share/doc/ti-linalg