]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - dense-linear-algebra-libraries/linalg.git/blobdiff - Makefile
Added DSP-only dgemm example.
[dense-linear-algebra-libraries/linalg.git] / Makefile
index 583405280b5b53a4ffa656285a4cec0bddeb105c..a42fdba8394caebf2b088e5534ef1fd950de3129 100644 (file)
--- a/Makefile
+++ b/Makefile
 
 LINALG_BLIS_DIR     = blis
 LINALG_CBLAS_DIR    = cblas
-LINALG_BLISACC_DIR  = blasblisacc
+LINALG_TICBLAS_DIR  = ticblas
+LINALG_BLASACC_DIR  = blasblisacc
+LINALG_CLAPACK_DIR  = clapack
 BLIS_VERSION = $(shell cat $(LINALG_BLIS_DIR)/version)
 
-build: ARMonly
-prebuild: DSPonly
-linalg: ARMplusDSP
+CBLAS_HEADERS   =$(LINALG_CBLAS_DIR)/include/cblas.h
+CBLAS_HEADERS  +=$(LINALG_TICBLAS_DIR)/ticblas.h
+CLAPACK_HEADERS =$(LINALG_CLAPACK_DIR)/INCLUDE/blaswrap.h  
+CLAPACK_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/clapack.h  
+CLAPACK_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/f2c.h  
 
-ARMonly: 
+ifeq ($(MEM_MODEL),Large)
+BLIS_CFG   = c66xLarge
+else ifeq ($(MEM_MODEL),Medium)
+BLIS_CFG   = c66xMedium
+else ifeq ($(MEM_MODEL),Small)
+BLIS_CFG   = c66xSmall
+endif
+
+DSPlibs:
+       cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/$(BLIS_CFG) c66x; make -j8 MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET) LIBOS=$(LIBOS); make install; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET) LIBOS=$(LIBOS); cd ../lib; \
+       echo "combining BLIS, CBLAS, and TICBLAS libraries into one: libcblas.ae66"; \
+       mkdir -p objs; cd objs; rm *; ar x ../../../blis/install/c66xMedium/lib/libblis.ae66; mmv 'cblas*.o' 'blis_cblas#1.o'; \
+       ar -x ../../../cblas/lib/C66/libcblas.ae66; ar -x ../libticblas.ae66; chmod +rw *;cd ../../..; \
+       mkdir -p lib; cd lib; rm *; ar -cr libcblas.ae66 ../ticblas/lib/objs/*; 
+
+
+ARMplusDSP:
        cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; \
        cd ../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make -j8; make install; \
-       cd ../$(LINALG_BLISACC_DIR)/src; make -f Makefile.ARM
+       cd ../$(LINALG_BLASACC_DIR)/src; make MEM_MODEL=$(MEM_MODEL) TARGET=$(TARGET); cd ..; \
+       cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8
+
+
+cleanDSPlibs:
+       cd $(LINALG_CBLAS_DIR); make clean; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/$(BLIS_CFG) c66x; make -j8 clean; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ../lib/objs; rm *; cd ../../..;
+
+#DSPonly:
+       
+BLIStest:
+       cd $(LINALG_BLIS_DIR)/testsuite; make lib=OpenCLCBLAS -j8 
+
+BLAStest:
+       cd $(LINALG_CLAPACK_DIR)/BLAS/TESTING; make -f Makeblat1; make -f Makeblat2; make -f Makeblat3
+
+CLAPACKtest:
+       cd $(LINALG_CLAPACK_DIR)/TESTING/MATGEN; make 
+       cd $(LINALG_CLAPACK_DIR)/TESTING/LIN; make
+       cd $(LINALG_CLAPACK_DIR)/TESTING/EIG; make
 
-ARMplusDSP:
-       cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \
-       cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make -j8; make install; \
-       ./configure -p install/arm cortex-a15; make -j8; make install; \
-       cd ../$(LINALG_BLISACC_DIR); make cross; 
-       cd ../$(LINALG_BLIS_DIR)/testsuite; make lib=OpenCLCBLAS -j8
 
-cleanall:
+cleanARMplusDSP:
        cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
-       cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make clean; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/Large c66x; make clean; \
        ./configure -p install/arm cortex-a15; make clean; \
-       cd ../$(LINALG_BLISACC_DIR); make clean; \
-       cd ../$(LINALG_BLIS_DIR)/testsuite; make clean
-
-DSPonly:
-       cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \
-       cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make -j8; make install; \
-       cd ../$(LINALG_BLISACC_DIR)/src; make ti_cblas_kernel.dsp_h
+       cd ../$(LINALG_BLASACC_DIR); make clean; \
+       cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
+       cd ../../$(LINALG_CLAPACK_DIR); make clean
        
+cleanARMplusDSP_AM57x: 
+       cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/am57x am57x; make clean; \
+       ./configure -p install/arm cortex-a15; make clean; \
+       cd ../$(LINALG_BLASACC_DIR); make clean; \
+       cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
+       cd ../../$(LINALG_CLAPACK_DIR); make clean
+       
+cleanShannon:  
+       cd $(LINALG_CBLAS_DIR); make arch=ARM clean; make arch=C66 clean; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/shannon shannon; make clean; \
+       ./configure -p install/arm cortex-a15; make clean; \
+       cd ../$(LINALG_BLASACC_DIR); make clean; \
+       cd ../$(LINALG_BLIS_DIR)/testsuite; make clean; \
+       cd ../../$(LINALG_CLAPACK_DIR); make clean
+
 clean:
        cd $(LINALG_CBLAS_DIR)/src; make arch=ARM clean; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make clean; cd ..; \
        cd ../../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make clean; \
-       cd ../$(LINALG_BLISACC_DIR); make clean
+       cd ../$(LINALG_BLASACC_DIR)/src; make -f Makefile.ARM cleanARM; \
+       cd ../../$(LINALG_CLAPACK_DIR); make clean
+
+DSPportion:
+       cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \
+       cd ../$(LINALG_TICBLAS_DIR)/src; make; cd ..; \
+       cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66x c66x; make -j8; make install; \
+       cd ../$(LINALG_BLASACC_DIR)/src; make ti_cblas_kernel.dsp_h
 
 install:
        install -m 755 -d ${DESTDIR}/usr/include
        install -m 755 -d ${DESTDIR}/usr/lib
+       install -m 755 -d ${DESTDIR}/usr/share/doc/ti-linalg
        install -m 755 -d ${DESTDIR}/usr/share/ti/examples/linalg       
-       cp $(LINALG_CBLAS_DIR)/include/cblas.h ${DESTDIR}/usr/include
-       cp $(LINALG_BLISACC_DIR)/lib/libcblas_armplusdsp.a ${DESTDIR}/usr/lib
+       cp $(LINALG_HEADERS) ${DESTDIR}/usr/include
+       cp $(LINALG_BLASACC_DIR)/lib/libcblas_armplusdsp.a ${DESTDIR}/usr/lib
        cp $(LINALG_BLIS_DIR)/install/arm/lib/libblis-$(BLIS_VERSION)-cortex-a15.a ${DESTDIR}/usr/lib/libblis.a
        cp -r ./examples/* ${DESTDIR}/usr/share/ti/examples/linalg
+       cp $(LINALG_CLAPACK_DIR)/lapack_ARM.a ${DESTDIR}/usr/lib/liblapack.a
+       cp $(LINALG_CLAPACK_DIR)/libcblaswr_ARM.a ${DESTDIR}/usr/lib/libcblaswr.a
+       cp $(LINALG_CLAPACK_DIR)/F2CLIBS/libf2c_ARM.a ${DESTDIR}/usr/lib/libf2c.a
+       cp docs/* ${DESTDIR}/usr/share/doc/ti-linalg
+
+installDSPlib:
+       install -m 755 -d ${DESTDIR}/include
+       install -m 755 -d ${DESTDIR}/lib
+       cp $(CBLAS_HEADERS) ${DESTDIR}/include
+       cp ./lib/libcblas.ae66 ${DESTDIR}/lib
+       cp -r docs ${DESTDIR}