1############################################################################
2#
3#  Program:         PBLAS -- (version 2.0)
4#
5#  Module:          Makefile
6#
7#  Purpose:         PTZBLAS source Makefile
8#
9#  Creation date:   April 1, 1998
10#
11#  Modified:
12#
13#  Send bug reports, comments or suggestions to scalapack@cs.utk.edu
14#
15############################################################################
16
17include ../../../SLmake.inc
18
19############################################################################
20#
21#  This is the makefile to create a library for the PBTZBLAS tools.
22#  The files are grouped as follows:
23#
24#     ALLPBTZ -- Auxiliary routines for Level 1, 2 and 3 PBLAS
25#
26#       SPBTZ -- Single precision real    PBLAS Level F77 tools routines
27#       CPBTZ -- Single precision complex PBLAS Level F77 tools routines
28#       DPBTZ -- Double precision real    PBLAS Level F77 tools routines
29#       ZPBTZ -- Double precision complex PBLAS Level F77 tools routines
30#
31#  The library can be set up to include routines for any combination
32#  of the four precisions.  First, modify the ../../../SLmake.inc file
33#  definitions to match your compiler and the options to be used.
34#  Then to create or add to the library, enter make followed by one or
35#  more of the precisions desired.  Some examples:
36#       make single
37#       make single complex
38#       make single double complex complex16
39#  Alternatively, the command
40#       make
41#  without any arguments creates a library of all four precisions.
42#  The library is called
43#       pblas_$(PLAT).a
44#  (see ../../../SLmake.inc for the definition of $(PLAT)).
45#
46#  To remove the object files after the library is created, enter
47#       make clean
48#
49############################################################################
50
51all: single double complex complex16
52
53APBTZ = \
54    pxerbla.o
55
56IPBTZ = \
57    immadd.o       immdda.o       immtadd.o      immddat.o
58
59SPBTZ = \
60    svasum.o       sset.o         scshft.o       srshft.o     \
61    svvdot.o       smmadd.o       smmcadd.o      smmtadd.o    \
62    smmtcadd.o     smmdda.o       smmddac.o      smmddat.o    \
63    smmddact.o     stzpad.o       stzpadcpy.o    stzscal.o    \
64    sagemv.o       sasymv.o       satrmv.o
65
66SCPBTZ = \
67    sasqrtb.o      sascal.o
68
69CPBTZ = \
70    scvasum.o      cset.o         ccshft.o       crshft.o     \
71    cvvdotu.o      cvvdotc.o      cmmadd.o       cmmcadd.o    \
72    cmmtadd.o      cmmtcadd.o     cmmdda.o       cmmddac.o    \
73    cmmddat.o      cmmddact.o     ctzpad.o       ctzpadcpy.o  \
74    chescal.o      ctzscal.o      ctzcnjg.o      cagemv.o     \
75    cahemv.o       catrmv.o       casymv.o       csymv.o      \
76    csyr.o         csyr2.o
77
78DPBTZ = \
79    dvasum.o       dset.o         dcshft.o       drshft.o     \
80    dvvdot.o       dmmadd.o       dmmcadd.o      dmmtadd.o    \
81    dmmtcadd.o     dmmdda.o       dmmddac.o      dmmddat.o    \
82    dmmddact.o     dtzpad.o       dtzpadcpy.o    dtzscal.o    \
83    dagemv.o       dasymv.o       datrmv.o
84
85DZPBTZ = \
86    dasqrtb.o      dascal.o
87
88ZPBTZ = \
89    dzvasum.o      zset.o         zcshft.o       zrshft.o     \
90    zvvdotu.o      zvvdotc.o      zmmadd.o       zmmcadd.o    \
91    zmmtadd.o      zmmtcadd.o     zmmdda.o       zmmddac.o    \
92    zmmddat.o      zmmddact.o     ztzpad.o       ztzpadcpy.o  \
93    zhescal.o      ztzscal.o      ztzcnjg.o      zagemv.o     \
94    zahemv.o       zatrmv.o       zasymv.o       zsymv.o      \
95    zsyr.o         zsyr2.o
96
97#---------------------------------------------------------------------------
98
99single:    $(APBTZ) $(IPBTZ) $(SPBTZ) $(SCPBTZ)
100	$(ARCH) $(ARCHFLAGS) ../../../$(SCALAPACKLIB) $(APBTZ) $(IPBTZ) $(SPBTZ) $(SCPBTZ)
101	$(RANLIB) ../../../$(SCALAPACKLIB)
102
103complex:   $(APBTZ) $(IPBTZ) $(CPBTZ) $(SCPBTZ)
104	$(ARCH) $(ARCHFLAGS) ../../../$(SCALAPACKLIB) $(APBTZ) $(IPBTZ) $(CPBTZ) $(SCPBTZ)
105	$(RANLIB) ../../../$(SCALAPACKLIB)
106
107double:    $(APBTZ) $(IPBTZ) $(DPBTZ) $(DZPBTZ)
108	$(ARCH) $(ARCHFLAGS) ../../../$(SCALAPACKLIB) $(APBTZ) $(IPBTZ) $(DPBTZ) $(DZPBTZ)
109	$(RANLIB) ../../../$(SCALAPACKLIB)
110
111complex16: $(APBTZ) $(IPBTZ) $(ZPBTZ) $(DZPBTZ)
112	$(ARCH) $(ARCHFLAGS) ../../../$(SCALAPACKLIB) $(APBTZ) $(IPBTZ) $(ZPBTZ) $(DZPBTZ)
113	$(RANLIB) ../../../$(SCALAPACKLIB)
114
115#---------------------------------------------------------------------------
116
117clean:
118	rm -f *.o
119
120.f.o : ; $(FC) -c $(FCFLAGS) $*.f
121.c.o : ; $(CC) -c $(CDEFS) $(CCFLAGS) $*.c
122