# This is the makefile to create a library of the test matrix
# generators used in LAPACK. The files are organized as follows:
#
-# SCATGEN -- Auxiliary routines called from both REAL and COMPLEX
-# DZATGEN -- Auxiliary routines called from both DOUBLE PRECISION
-# and COMPLEX*16
+# SCATGEN -- Auxiliary routines called from single precision
+# DZATGEN -- Auxiliary routines called from double precision
# SMATGEN -- Single precision real matrix generation routines
# CMATGEN -- Single precision complex matrix generation routines
# DMATGEN -- Double precision real matrix generation routines
# ZMATGEN -- Double precision complex matrix generation routines
#
-# The library can be set up to include routines for any combination
-# of the four precisions. To create or add to the library, enter make
-# followed by one or more of the precisions desired. Some examples:
-# make single
-# make single complex
-# make single double complex complex16
-# Alternatively, the command
-# make
-# without any arguments creates a library of all four precisions.
-# The library is called
-# tmglib.a
-# and is created at the LAPACK directory level.
-#
-# To remove the object files after the library is created, enter
-# make clean
-# On some systems, you can force the source files to be recompiled by
-# entering (for example)
-# make single FRC=FRC
-#
#######################################################################
-
-set(SCATGEN slatm1.f slaran.f slarnd.f)
-set(SMATGEN slatms.f slatme.f slatmr.f slatmt.f
- slagge.f slagsy.f slakf2.f slarge.f slaror.f slarot.f slatm2.f
- slatm3.f slatm5.f slatm6.f slatm7.f slahilb.f)
+set(SCATGEN slatm1.f slatm7.f slaran.f slarnd.f)
-set(CMATGEN clatms.f clatme.f clatmr.f clatmt.f
- clagge.f claghe.f clagsy.f clakf2.f clarge.f claror.f clarot.f
+set(SMATGEN slatms.f slatme.f slatmr.f slatmt.f
+ slagge.f slagsy.f slakf2.f slarge.f slaror.f slarot.f slatm2.f
+ slatm3.f slatm5.f slatm6.f slahilb.f)
+
+set(CMATGEN clatms.f clatme.f clatmr.f clatmt.f
+ clagge.f claghe.f clagsy.f clakf2.f clarge.f claror.f clarot.f
clatm1.f clarnd.f clatm2.f clatm3.f clatm5.f clatm6.f clahilb.f)
-set(DZATGEN dlatm1.f dlaran.f dlarnd.f)
+set(DZATGEN dlatm1.f dlatm7.f dlaran.f dlarnd.f)
-set(DMATGEN dlatms.f dlatme.f dlatmr.f dlatmt.f
- dlagge.f dlagsy.f dlakf2.f dlarge.f dlaror.f dlarot.f dlatm2.f
- dlatm3.f dlatm5.f dlatm6.f dlatm7.f dlahilb.f)
+set(DMATGEN dlatms.f dlatme.f dlatmr.f dlatmt.f
+ dlagge.f dlagsy.f dlakf2.f dlarge.f dlaror.f dlarot.f dlatm2.f
+ dlatm3.f dlatm5.f dlatm6.f dlahilb.f)
-set(ZMATGEN zlatms.f zlatme.f zlatmr.f zlatmt.f
- zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f
+set(ZMATGEN zlatms.f zlatme.f zlatmr.f zlatmt.f
+ zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f
zlatm1.f zlarnd.f zlatm2.f zlatm3.f zlatm5.f zlatm6.f zlahilb.f)
-set(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN}
- ${DZATGEN})
+
+set(SOURCES)
if(BUILD_SINGLE)
- set(ALLOBJ $(SMATGEN) $(SCATGEN))
+ list(APPEND SOURCES ${SMATGEN} ${SCATGEN})
endif()
if(BUILD_DOUBLE)
- set(ALLOBJ $(DMATGEN) $(DZATGEN))
+ list(APPEND SOURCES ${DMATGEN} ${DZATGEN})
endif()
if(BUILD_COMPLEX)
- set(ALLOBJ $(CMATGEN) $(SCATGEN))
+ list(APPEND SOURCES ${CMATGEN} ${SCATGEN})
endif()
if(BUILD_COMPLEX16)
- set(ALLOBJ $(ZMATGEN) $(DZATGEN))
+ list(APPEND SOURCES ${ZMATGEN} ${DZATGEN})
endif()
-add_library(tmglib ${ALLOBJ} )
+list(REMOVE_DUPLICATES SOURCES)
+add_library(tmglib ${SOURCES})
+target_link_libraries(tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
+lapack_install_library(tmglib)