openblas_ffi 0.1.1

FFI bindings to sequential and parallel OpenBLAS.
Documentation
### GEMV ###

ifndef SGEMVNKERNEL
SGEMVNKERNEL = gemv_n.S
endif

ifndef SGEMVTKERNEL
SGEMVTKERNEL = gemv_t.S
endif

ifndef DGEMVNKERNEL
DGEMVNKERNEL = gemv_n.S
endif

ifndef DGEMVTKERNEL
DGEMVTKERNEL = gemv_t.S
endif

ifndef CGEMVNKERNEL
CGEMVNKERNEL = zgemv_n.S
endif

ifndef CGEMVTKERNEL
CGEMVTKERNEL = zgemv_t.S
endif

ifndef ZGEMVNKERNEL
ZGEMVNKERNEL = zgemv_n.S
endif

ifndef ZGEMVTKERNEL
ZGEMVTKERNEL = zgemv_t.S
endif

ifndef QGEMVNKERNEL
QGEMVNKERNEL = gemv_n.S
endif

ifndef QGEMVTKERNEL
QGEMVTKERNEL = gemv_t.S
endif

ifndef XGEMVNKERNEL
XGEMVNKERNEL = zgemv_n.S
endif

ifndef XGEMVTKERNEL
XGEMVTKERNEL = zgemv_t.S
endif

### GER ###

ifndef SGERKERNEL
SGERKERNEL	= ../generic/ger.c
endif

ifndef DGERKERNEL
DGERKERNEL	= ../generic/ger.c
endif

ifndef QGERKERNEL
QGERKERNEL	= ../generic/ger.c
endif

ifndef CGERUKERNEL
CGERUKERNEL	= ../generic/zger.c
endif

ifndef CGERCKERNEL
CGERCKERNEL	= ../generic/zger.c
endif

ifndef ZGERUKERNEL
ZGERUKERNEL	= ../generic/zger.c
endif

ifndef ZGERCKERNEL
ZGERCKERNEL	= ../generic/zger.c
endif

ifndef XGERUKERNEL
XGERUKERNEL	= ../generic/zger.c
endif

ifndef XGERCKERNEL
XGERCKERNEL	= ../generic/zger.c
endif

### SYMV ###

ifndef SSYMV_U_KERNEL
SSYMV_U_KERNEL =  ../generic/symv_k.c
endif

ifndef SSYMV_L_KERNEL
SSYMV_L_KERNEL =  ../generic/symv_k.c
endif

ifndef DSYMV_U_KERNEL
DSYMV_U_KERNEL =  ../generic/symv_k.c
endif

ifndef DSYMV_L_KERNEL
DSYMV_L_KERNEL =  ../generic/symv_k.c
endif

ifndef QSYMV_U_KERNEL
QSYMV_U_KERNEL =  ../generic/symv_k.c
endif

ifndef QSYMV_L_KERNEL
QSYMV_L_KERNEL =  ../generic/symv_k.c
endif

ifndef CSYMV_U_KERNEL
CSYMV_U_KERNEL =  ../generic/zsymv_k.c
endif

ifndef CSYMV_L_KERNEL
CSYMV_L_KERNEL =  ../generic/zsymv_k.c
endif

ifndef ZSYMV_U_KERNEL
ZSYMV_U_KERNEL =  ../generic/zsymv_k.c
endif

ifndef ZSYMV_L_KERNEL
ZSYMV_L_KERNEL =  ../generic/zsymv_k.c
endif

ifndef XSYMV_U_KERNEL
XSYMV_U_KERNEL =  ../generic/zsymv_k.c
endif

ifndef XSYMV_L_KERNEL
XSYMV_L_KERNEL =  ../generic/zsymv_k.c
endif

### HEMV ###

ifndef CHEMV_U_KERNEL
CHEMV_U_KERNEL	= ../generic/zhemv_k.c
endif

ifndef CHEMV_L_KERNEL
CHEMV_L_KERNEL	= ../generic/zhemv_k.c
endif

ifndef CHEMV_V_KERNEL
CHEMV_V_KERNEL	= ../generic/zhemv_k.c
endif

ifndef CHEMV_M_KERNEL
CHEMV_M_KERNEL	= ../generic/zhemv_k.c
endif

ifndef ZHEMV_U_KERNEL
ZHEMV_U_KERNEL	= ../generic/zhemv_k.c
endif

ifndef ZHEMV_L_KERNEL
ZHEMV_L_KERNEL	= ../generic/zhemv_k.c
endif

ifndef ZHEMV_V_KERNEL
ZHEMV_V_KERNEL	= ../generic/zhemv_k.c
endif

ifndef ZHEMV_M_KERNEL
ZHEMV_M_KERNEL	= ../generic/zhemv_k.c
endif

ifndef XHEMV_U_KERNEL
XHEMV_U_KERNEL	= ../generic/zhemv_k.c
endif

ifndef XHEMV_L_KERNEL
XHEMV_L_KERNEL	= ../generic/zhemv_k.c
endif

ifndef XHEMV_V_KERNEL
XHEMV_V_KERNEL	= ../generic/zhemv_k.c
endif

ifndef XHEMV_M_KERNEL
XHEMV_M_KERNEL	= ../generic/zhemv_k.c
endif

SBLASOBJS	+= \
	sgemv_n$(TSUFFIX).$(SUFFIX) sgemv_t$(TSUFFIX).$(SUFFIX) ssymv_U$(TSUFFIX).$(SUFFIX) ssymv_L$(TSUFFIX).$(SUFFIX) \
	sger_k$(TSUFFIX).$(SUFFIX)

DBLASOBJS	+= \
	dgemv_n$(TSUFFIX).$(SUFFIX) dgemv_t$(TSUFFIX).$(SUFFIX) dsymv_U$(TSUFFIX).$(SUFFIX) dsymv_L$(TSUFFIX).$(SUFFIX) \
	dger_k$(TSUFFIX).$(SUFFIX)

QBLASOBJS	+= \
	qgemv_n$(TSUFFIX).$(SUFFIX) qgemv_t$(TSUFFIX).$(SUFFIX) qsymv_U$(TSUFFIX).$(SUFFIX) qsymv_L$(TSUFFIX).$(SUFFIX) \
	qger_k$(TSUFFIX).$(SUFFIX)

CBLASOBJS	+= \
	cgemv_n$(TSUFFIX).$(SUFFIX) cgemv_t$(TSUFFIX).$(SUFFIX) cgemv_r$(TSUFFIX).$(SUFFIX) cgemv_c$(TSUFFIX).$(SUFFIX) \
	cgemv_o$(TSUFFIX).$(SUFFIX) cgemv_u$(TSUFFIX).$(SUFFIX) cgemv_s$(TSUFFIX).$(SUFFIX) cgemv_d$(TSUFFIX).$(SUFFIX) \
	csymv_U$(TSUFFIX).$(SUFFIX) csymv_L$(TSUFFIX).$(SUFFIX) \
	chemv_U$(TSUFFIX).$(SUFFIX) chemv_L$(TSUFFIX).$(SUFFIX) chemv_V$(TSUFFIX).$(SUFFIX) chemv_M$(TSUFFIX).$(SUFFIX) \
	cgeru_k$(TSUFFIX).$(SUFFIX) cgerc_k$(TSUFFIX).$(SUFFIX) cgerv_k$(TSUFFIX).$(SUFFIX) cgerd_k$(TSUFFIX).$(SUFFIX)

ZBLASOBJS	+= \
	zgemv_n$(TSUFFIX).$(SUFFIX) zgemv_t$(TSUFFIX).$(SUFFIX) zgemv_r$(TSUFFIX).$(SUFFIX) zgemv_c$(TSUFFIX).$(SUFFIX) \
	zgemv_o$(TSUFFIX).$(SUFFIX) zgemv_u$(TSUFFIX).$(SUFFIX) zgemv_s$(TSUFFIX).$(SUFFIX) zgemv_d$(TSUFFIX).$(SUFFIX) \
	zsymv_U$(TSUFFIX).$(SUFFIX) zsymv_L$(TSUFFIX).$(SUFFIX) \
	zhemv_U$(TSUFFIX).$(SUFFIX) zhemv_L$(TSUFFIX).$(SUFFIX) zhemv_V$(TSUFFIX).$(SUFFIX) zhemv_M$(TSUFFIX).$(SUFFIX) \
	zgeru_k$(TSUFFIX).$(SUFFIX) zgerc_k$(TSUFFIX).$(SUFFIX) zgerv_k$(TSUFFIX).$(SUFFIX) zgerd_k$(TSUFFIX).$(SUFFIX)

XBLASOBJS	+= \
	xgemv_n$(TSUFFIX).$(SUFFIX) xgemv_t$(TSUFFIX).$(SUFFIX) xgemv_r$(TSUFFIX).$(SUFFIX) xgemv_c$(TSUFFIX).$(SUFFIX) \
	xgemv_o$(TSUFFIX).$(SUFFIX) xgemv_u$(TSUFFIX).$(SUFFIX) xgemv_s$(TSUFFIX).$(SUFFIX) xgemv_d$(TSUFFIX).$(SUFFIX) \
	xsymv_U$(TSUFFIX).$(SUFFIX) xsymv_L$(TSUFFIX).$(SUFFIX) \
	xhemv_U$(TSUFFIX).$(SUFFIX) xhemv_L$(TSUFFIX).$(SUFFIX) xhemv_V$(TSUFFIX).$(SUFFIX) xhemv_M$(TSUFFIX).$(SUFFIX) \
	xgeru_k$(TSUFFIX).$(SUFFIX) xgerc_k$(TSUFFIX).$(SUFFIX) xgerv_k$(TSUFFIX).$(SUFFIX) xgerd_k$(TSUFFIX).$(SUFFIX)

$(KDIR)sgemv_n$(TSUFFIX).$(SUFFIX)  $(KDIR)sgemv_n$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(SGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -UCOMPLEX  -UTRANS $< -o $@

$(KDIR)sgemv_t$(TSUFFIX).$(SUFFIX)  $(KDIR)sgemv_t$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(SGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -UCOMPLEX  -DTRANS  $< -o $@

$(KDIR)dgemv_n$(TSUFFIX).$(SUFFIX)  $(KDIR)dgemv_n$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(DGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -UCOMPLEX  -UTRANS $< -o $@

$(KDIR)dgemv_t$(TSUFFIX).$(SUFFIX)  $(KDIR)dgemv_t$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(DGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -UCOMPLEX  -DTRANS $< -o $@

$(KDIR)qgemv_n$(TSUFFIX).$(SUFFIX)  $(KDIR)qgemv_n$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(QGEMVNKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -UCOMPLEX -UTRANS $< -o $@

$(KDIR)qgemv_t$(TSUFFIX).$(SUFFIX)  $(KDIR)qgemv_t$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(QGEMVTKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -UCOMPLEX -DTRANS $< -o $@

$(KDIR)cgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)cgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -DTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)cgemv_r$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_r$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -UTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)cgemv_c$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_c$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -DTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)cgemv_o$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_o$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -UTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)cgemv_u$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_u$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -DTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)cgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -UTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)cgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)zgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)zgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -DTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)zgemv_r$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_r$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -UTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)zgemv_c$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_c$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -DTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)zgemv_o$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_o$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -UTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)zgemv_u$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_u$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -DTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)zgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -UTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)zgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)xgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVNKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)xgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVTKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -DTRANS -UCONJ -UXCONJ $< -o $@

$(KDIR)xgemv_r$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_r$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVNKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -UTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)xgemv_c$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_c$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVTKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -DTRANS -DCONJ -UXCONJ $< -o $@

$(KDIR)xgemv_o$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_o$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVNKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -UTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)xgemv_u$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_u$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVTKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -DTRANS -UCONJ -DXCONJ $< -o $@

$(KDIR)xgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVNKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -UTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)xgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVTKERNEL)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@

$(KDIR)ssymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)ssymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(SSYMV_U_KERNEL) $(SSYMV_U_PARAM)
	$(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -ULOWER $< -o $@

$(KDIR)ssymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)ssymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(SSYMV_L_KERNEL)  $(SSYMV_L_PARAM)
	$(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DLOWER $< -o $@

$(KDIR)dsymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)dsymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(DSYMV_U_KERNEL)  $(DSYMV_U_PARAM)
	$(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -ULOWER $< -o $@

$(KDIR)dsymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)dsymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(DSYMV_L_KERNEL)  $(DSYMV_L_PARAM)
	$(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DLOWER $< -o $@

$(KDIR)qsymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)qsymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(QSYMV_U_KERNEL)
	$(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -ULOWER $< -o $@

$(KDIR)qsymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)qsymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(QSYMV_L_KERNEL)
	$(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DLOWER $< -o $@

$(KDIR)csymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)csymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CSYMV_U_KERNEL)   $(CSYMV_U_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -ULOWER $< -o $@

$(KDIR)csymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)csymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CSYMV_L_KERNEL)   $(CSYMV_L_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DLOWER $< -o $@

$(KDIR)zsymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)zsymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZSYMV_U_KERNEL)   $(ZSYMV_U_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -ULOWER $< -o $@

$(KDIR)zsymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)zsymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZSYMV_L_KERNEL)   $(ZSYMV_L_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DLOWER $< -o $@

$(KDIR)xsymv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)xsymv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XSYMV_U_KERNEL)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -ULOWER $< -o $@

$(KDIR)xsymv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)xsymv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XSYMV_L_KERNEL)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DLOWER $< -o $@

$(KDIR)sger_k$(TSUFFIX).$(SUFFIX)  $(KDIR)sger_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(SGERKERNEL) $(SGERPARAM)
	$(CC) -c $(CFLAGS) -UDOUBLE $< -o $@

$(KDIR)dger_k$(TSUFFIX).$(SUFFIX)  $(KDIR)dger_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(DGERKERNEL) $(DGERPARAM)
	$(CC) -c $(CFLAGS) -DDOUBLE $< -o $@

$(KDIR)qger_k$(TSUFFIX).$(SUFFIX)  $(KDIR)qger_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(QGERKERNEL) $(QGERPARAM)
	$(CC) -c $(CFLAGS) -DXDOUBLE $< -o $@

$(KDIR)cgeru_k$(TSUFFIX).$(SUFFIX)  $(KDIR)cgeru_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CGERUKERNEL) $(CGERPARAM)
	$(CC) -c $(CFLAGS) -UDOUBLE -UCONJ $< -o $@

$(KDIR)cgerc_k$(TSUFFIX).$(SUFFIX)  $(KDIR)cgerc_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CGERCKERNEL) $(CGERPARAM)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCONJ $< -o $@

$(KDIR)cgerv_k$(TSUFFIX).$(SUFFIX)  $(KDIR)cgerv_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CGERUKERNEL) $(CGERPARAM)
	$(CC) -c $(CFLAGS) -UDOUBLE -UCONJ -DXCONJ $< -o $@

$(KDIR)cgerd_k$(TSUFFIX).$(SUFFIX)  $(KDIR)cgerd_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CGERCKERNEL) $(CGERPARAM)
	$(CC) -c $(CFLAGS) -UDOUBLE -DCONJ -DXCONJ $< -o $@

$(KDIR)zgeru_k$(TSUFFIX).$(SUFFIX)  $(KDIR)zgeru_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZGERUKERNEL) $(ZGERPARAM)
	$(CC) -c $(CFLAGS) -DDOUBLE -UCONJ $< -o $@

$(KDIR)zgerc_k$(TSUFFIX).$(SUFFIX)  $(KDIR)zgerc_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZGERCKERNEL) $(ZGERPARAM)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCONJ $< -o $@

$(KDIR)zgerv_k$(TSUFFIX).$(SUFFIX)  $(KDIR)zgerv_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZGERUKERNEL) $(ZGERPARAM)
	$(CC) -c $(CFLAGS) -DDOUBLE -UCONJ -DXCONJ $< -o $@

$(KDIR)zgerd_k$(TSUFFIX).$(SUFFIX)  $(KDIR)zgerd_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZGERCKERNEL) $(ZGERPARAM)
	$(CC) -c $(CFLAGS) -DDOUBLE -DCONJ -DXCONJ $< -o $@

$(KDIR)xgeru_k$(TSUFFIX).$(SUFFIX)  $(KDIR)xgeru_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XGERUKERNEL) $(XGERPARAM)
	$(CC) -c $(CFLAGS) -DXDOUBLE -UCONJ $< -o $@

$(KDIR)xgerc_k$(TSUFFIX).$(SUFFIX)  $(KDIR)xgerc_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XGERCKERNEL) $(XGERPARAM)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCONJ $< -o $@

$(KDIR)xgerv_k$(TSUFFIX).$(SUFFIX)  $(KDIR)xgerv_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XGERUKERNEL) $(XGERPARAM)
	$(CC) -c $(CFLAGS) -DXDOUBLE -UCONJ -DXCONJ $< -o $@

$(KDIR)xgerd_k$(TSUFFIX).$(SUFFIX)  $(KDIR)xgerd_k$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XGERCKERNEL) $(XGERPARAM)
	$(CC) -c $(CFLAGS) -DXDOUBLE -DCONJ -DXCONJ $< -o $@

$(KDIR)chemv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)chemv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CHEMV_U_KERNEL) $(CHEMV_U_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -ULOWER -DHEMV $< -o $@

$(KDIR)chemv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)chemv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CHEMV_L_KERNEL) $(CHEMV_L_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DLOWER -DHEMV $< -o $@

$(KDIR)chemv_V$(TSUFFIX).$(SUFFIX)  $(KDIR)chemv_V$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CHEMV_V_KERNEL) $(CHEMV_U_PARAM) ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -ULOWER -DHEMV -DHEMVREV $< -o $@

$(KDIR)chemv_M$(TSUFFIX).$(SUFFIX)  $(KDIR)chemv_M$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(CHEMV_M_KERNEL) $(CHEMV_L_PARAM) ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@

$(KDIR)zhemv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)zhemv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZHEMV_U_KERNEL) $(ZHEMV_U_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -ULOWER -DHEMV $< -o $@

$(KDIR)zhemv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)zhemv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZHEMV_L_KERNEL) $(ZHEMV_L_PARAM)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DLOWER -DHEMV $< -o $@

$(KDIR)zhemv_V$(TSUFFIX).$(SUFFIX)  $(KDIR)zhemv_V$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZHEMV_V_KERNEL) $(ZHEMV_U_PARAM) ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -ULOWER -DHEMV -DHEMVREV $< -o $@

$(KDIR)zhemv_M$(TSUFFIX).$(SUFFIX)  $(KDIR)zhemv_M$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(ZHEMV_M_KERNEL) $(ZHEMV_L_PARAM) ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@

$(KDIR)xhemv_U$(TSUFFIX).$(SUFFIX)  $(KDIR)xhemv_U$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XHEMV_U_KERNEL)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -ULOWER -DHEMV $< -o $@

$(KDIR)xhemv_L$(TSUFFIX).$(SUFFIX)  $(KDIR)xhemv_L$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XHEMV_L_KERNEL)
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DLOWER -DHEMV $< -o $@

$(KDIR)xhemv_V$(TSUFFIX).$(SUFFIX)  $(KDIR)xhemv_V$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XHEMV_V_KERNEL)  ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -ULOWER -DHEMV -DHEMVREV $< -o $@

$(KDIR)xhemv_M$(TSUFFIX).$(SUFFIX)  $(KDIR)xhemv_M$(TSUFFIX).$(PSUFFIX)  : $(KERNELDIR)/$(XHEMV_M_KERNEL)  ../symcopy.h
	$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@