#/////////////////// P /// L /// A /// S /// M /// A //////////////////
#///  PLASMA - version 2.1.0                                       ///
#///  Release Date: November, 15th 2009                            ///
#/// PLASMA is a software package provided by Univ. of Tennessee,  ///
#/// Univ. of California Berkeley and Univ. of Colorado Denver     ///
#//////////////////////////////////////////////////////////////////////
PYTHON = python
GENSCRIPT = ../tools/core_blas_dtypes.py

include ../make.inc

    ALLOBJ =         \
        allocate.o   \
        auxiliary.o  \
        context.o    \
        control.o    \
        core_zblas.o core_dblas.o core_cblas.o core_sblas.o \
        descriptor.o \
        global.o     \
        plasma_f77.o plasma_zf77.o plasma_df77.o plasma_cf77.o plasma_sf77.o plasma_mf77.o \
        tile.o       \
        workspace.o workspace_z.o workspace_d.o workspace_c.o workspace_s.o \
        \
        pzgelqf.o   pdgelqf.o   pcgelqf.o   psgelqf.o  \
        pzgeqrf.o   pdgeqrf.o   pcgeqrf.o   psgeqrf.o  \
        pzgetrf.o   pdgetrf.o   pcgetrf.o   psgetrf.o  \
        pzpotrf.o   pdpotrf.o   pcpotrf.o   pspotrf.o  \
        pztrsm.o    pdtrsm.o    pctrsm.o    pstrsm.o   \
        pztrsmpl.o  pdtrsmpl.o  pctrsmpl.o  pstrsmpl.o \
        pzunglq.o   pdorglq.o   pcunglq.o   psorglq.o  \
        pzungqr.o   pdorgqr.o   pcungqr.o   psorgqr.o  \
        pzunmlq.o   pdormlq.o   pcunmlq.o   psormlq.o  \
        pzunmqr.o   pdormqr.o   pcunmqr.o   psormqr.o  \
        pzgemm.o    pdgemm.o    pcgemm.o    psgemm.o   \
        \
        pzlange.o   pdlange.o   pclange.o   pslange.o  \
        pzaxpy.o    pdaxpy.o    pcaxpy.o    psaxpy.o   \
        pzlacpy.o   pdlacpy.o   pclacpy.o   pslacpy.o  \
        pzlag2c.o   pclag2z.o   pdlag2s.o   pslag2d.o  \
        \
        zgelqf.o    dgelqf.o    cgelqf.o    sgelqf.o   \
        zgelqs.o    dgelqs.o    cgelqs.o    sgelqs.o   \
        zgels.o     dgels.o     cgels.o     sgels.o    \
        zgeqrf.o    dgeqrf.o    cgeqrf.o    sgeqrf.o   \
        zgeqrs.o    dgeqrs.o    cgeqrs.o    sgeqrs.o   \
        zgesv.o     dgesv.o     cgesv.o     sgesv.o    \
        zgetrf.o    dgetrf.o    cgetrf.o    sgetrf.o   \
        zgetrs.o    dgetrs.o    cgetrs.o    sgetrs.o   \
        zposv.o     dposv.o     cposv.o     sposv.o    \
        zpotrf.o    dpotrf.o    cpotrf.o    spotrf.o   \
        zpotrs.o    dpotrs.o    cpotrs.o    spotrs.o   \
        ztrsm.o     dtrsm.o     ctrsm.o     strsm.o    \
        ztrsmpl.o   dtrsmpl.o   ctrsmpl.o   strsmpl.o  \
        zunglq.o    dorglq.o    cunglq.o    sorglq.o   \
        zungqr.o    dorgqr.o    cungqr.o    sorgqr.o   \
        zunmlq.o    dormlq.o    cunmlq.o    sormlq.o   \
        zunmqr.o    dormqr.o    cunmqr.o    sormqr.o   \
        zgemm.o     dgemm.o     cgemm.o     sgemm.o    \
        \
        zcgesv.o dsgesv.o

INC        = -I../include
LIBDIR     = -L../lib
LIBPLASMA  = ../lib/libplasma.a

all: $(LIBPLASMA)

$(LIBPLASMA): $(ALLOBJ)
	$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
	$(RANLIB) $@

generate:
	$(PYTHON) $(GENSCRIPT) core_zblas.h core_zblas.c plasma_zf77.c workspace_z.c workspace_z.h pz*.c z*.c
	rm -rf dcgesv.c dcgesv_tile.c ccgesv.c ccgesv_tile.c scgesv.c scgesv_tile.c

clean:
	rm -f *.o *~ *.a

.c.o:
	$(CC) $(OPTS) $(INC) -c $< -o $@

.PHONY: clean generate
