###
#
# @file Makefile
#
#  PLASMA is a software package provided by Univ. of Tennessee,
#  Univ. of California Berkeley and Univ. of Colorado Denver
#
# @version 2.2.0
# @author Jakub Kurzak
# @date 2009-11-15
#
###

PLASMA_DIR = ..
include ../Makefile.internal

HEADERS = \
        allocate.h   \
        async.h      \
        auxiliary.h  \
        common.h     \
        context.h    \
        control.h    \
        descriptor.h \
        global.h     \
        tile.h


    ALLOBJ =          \
        allocate.o    \
        async.o       \
        auxiliary.o   \
        context.o     \
        control.o     \
        descriptor.o  \
        global.o      \
        tile.o        \
        plasmaos.o    \
        workspace.o   \
        plasma_f77.o  \
        plasma_mf77.o \
        \
        plasma_zf77.o plasma_df77.o plasma_cf77.o plasma_sf77.o \
        workspace_z.o workspace_d.o workspace_c.o workspace_s.o \
        ztile.o       dtile.o       ctile.o       stile.o

all: $(LIBPLASMA)

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

clean:
	rm -f *.o *~

cleanall: clean
	rm -f *.a

plasmaos.o : plasmaos.c plasmaos-hwloc.c 

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

.f.o:
	$(FC) $(FFLAGS) $(INC) -c $< -o $@

# Headers dependencies
$(ALLOBJ) : $(HEADERS)

workspace_s.o workspace_d.o workspace_c.o workspace_z.o : $(HEADERS)\
        workspace.h   \
        workspace_z.h \
        workspace_d.h \
        workspace_c.h \
        workspace_s.h


.PHONY: clean

