#/////////////////// P /// L /// A /// S /// M /// A //////////////////
#///  PLASMA - version 2.0.0                                       ///
#///  Release Date: July, 4th 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 \
        descriptor.o \
        global.o \
        plasma_f77.o \
        tile.o \
        workspace.o \
        \
        core_zblas.o core_dblas.o core_cblas.o core_sblas.o \
        plasma_zf77.o plasma_df77.o plasma_cf77.o plasma_sf77.o plasma_mf77.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  \
        \
        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   \
        \
        zgelqf_tile.o   dgelqf_tile.o   cgelqf_tile.o   sgelqf_tile.o   \
        zgelqs_tile.o   dgelqs_tile.o   cgelqs_tile.o   sgelqs_tile.o   \
        zgels_tile.o    dgels_tile.o    cgels_tile.o    sgels_tile.o    \
        zgeqrf_tile.o   dgeqrf_tile.o   cgeqrf_tile.o   sgeqrf_tile.o   \
        zgeqrs_tile.o   dgeqrs_tile.o   cgeqrs_tile.o   sgeqrs_tile.o   \
        zgesv_tile.o    dgesv_tile.o    cgesv_tile.o    sgesv_tile.o    \
        zgetrf_tile.o   dgetrf_tile.o   cgetrf_tile.o   sgetrf_tile.o   \
        zgetrs_tile.o   dgetrs_tile.o   cgetrs_tile.o   sgetrs_tile.o   \
        zposv_tile.o    dposv_tile.o    cposv_tile.o    sposv_tile.o    \
        zpotrf_tile.o   dpotrf_tile.o   cpotrf_tile.o   spotrf_tile.o   \
        zpotrs_tile.o   dpotrs_tile.o   cpotrs_tile.o   spotrs_tile.o   \
        ztrsm_tile.o    dtrsm_tile.o    ctrsm_tile.o    strsm_tile.o    \
        ztrsmpl_tile.o  dtrsmpl_tile.o  ctrsmpl_tile.o  strsmpl_tile.o  \
        zunglq_tile.o   dorglq_tile.o   cunglq_tile.o   sorglq_tile.o   \
        zungqr_tile.o   dorgqr_tile.o   cungqr_tile.o   sorgqr_tile.o   \
        zunmlq_tile.o   dormlq_tile.o   cunmlq_tile.o   sormlq_tile.o   \
        zunmqr_tile.o   dormqr_tile.o   cunmqr_tile.o   sormqr_tile.o   \
        \
        zcgesv.o dsgesv.o \
        zcgesv_tile.o dsgesv_tile.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 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
