.PHONY: clean ARMonly linalg cleanall install build prebuild LINALG_BLIS_DIR = blis LINALG_CBLAS_DIR = cblas LINALG_TICBLAS_DIR = ticblas LINALG_BLASACC_DIR = blasblisacc LINALG_CLAPACK_DIR = clapack BLIS_VERSION = $(shell cat $(LINALG_BLIS_DIR)/version) LINALG_HEADERS =$(LINALG_CLAPACK_DIR)/INCLUDE/blaswrap.h LINALG_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/clapack.h LINALG_HEADERS+=$(LINALG_CLAPACK_DIR)/INCLUDE/f2c.h LINALG_HEADERS+=$(LINALG_CBLAS_DIR)/include/cblas.h ifeq ($(MEM_MODEL),Large) BLIS_CFG = c66xLarge else ifeq ($(TARGET),Medium) BLIS_CFG = c66xMedium else ifeq ($(TARGET),Small) BLIS_CFG = c66xSmall endif build: ARMonly prebuild: DSPonly linalg: ARMplusDSP ARMonly: cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; \ cd ../$(LINALG_BLIS_DIR); ./configure -p install/arm cortex-a15; make -j8; make install; \ cd ../$(LINALG_BLASACC_DIR)/src; make -f Makefile.ARM; \ cd ../../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make ARMplusDSP_K2H: cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \ cd ../$(LINALG_BLIS_DIR); ./configure -p install/c66xLarge c66x; make mem_model=Large -j8; make install; \ ./configure -p install/arm cortex-a15; make -j8; make install; \ cd ../$(LINALG_TICBLAS_DIR)/src; make mem_model=Large; cd ..; \ cd ../$(LINALG_BLASACC_DIR)/src; make mem_model=Large; cd..; \ cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8 ARMplusDSP_AM57x: cd $(LINALG_CBLAS_DIR); make arch=ARM alllib; make arch=C66 alllib; \ cd ../$(LINALG_TICBLAS_DIR)/src; make MEM_MODEL=Small; cd ..; \ cd ../$(LINALG_BLIS_DIR); ./configure -p install/am57x am57x; make -j8; make install; \ ./configure -p install/arm cortex-a15; make -j8; make install; \ cd ../$(LINALG_BLASACC_DIR); make crossAM57x; \ cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8 DSPlibs: cd $(LINALG_CBLAS_DIR); make arch=C66 alllib; \ cd ../$(LINALG_BLIS_DIR); ./configure -p install/$(BLIS_CFG) c66x; make mem_model=$(MEM_MODEL) -j8; make install; \ cd ../$(LINALG_TICBLAS_DIR)/src; make mem_model=$(MEM_MODEL); cd ..; \ 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_BLASACC_DIR)/src; make mem_model=Large; cd..; \ cd ../$(LINALG_CLAPACK_DIR); make f2clib; make cblaswrap; cd SRC; make -j8 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 cleanARMplusDSP_K2H: 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/c66x c66x; 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 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_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_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