You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 3.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #######################################################################
  2. # This is the makefile to create a library of the test matrix
  3. # generators used in LAPACK. The files are organized as follows:
  4. #
  5. # SCATGEN -- Auxiliary routines called from single precision
  6. # DZATGEN -- Auxiliary routines called from double precision
  7. # SMATGEN -- Single precision real matrix generation routines
  8. # CMATGEN -- Single precision complex matrix generation routines
  9. # DMATGEN -- Double precision real matrix generation routines
  10. # ZMATGEN -- Double precision complex matrix generation routines
  11. #
  12. # The library can be set up to include routines for any combination
  13. # of the four precisions. To create or add to the library, enter make
  14. # followed by one or more of the precisions desired. Some examples:
  15. # make single
  16. # make single complex
  17. # make single double complex complex16
  18. # Alternatively, the command
  19. # make
  20. # without any arguments creates a library of all four precisions.
  21. # The library is called
  22. # tmglib.a
  23. # and is created at the LAPACK directory level.
  24. #
  25. # To remove the object files after the library is created, enter
  26. # make cleanobj
  27. # On some systems, you can force the source files to be recompiled by
  28. # entering (for example)
  29. # make single FRC=FRC
  30. #
  31. #######################################################################
  32. TOPSRCDIR = ../..
  33. include $(TOPSRCDIR)/make.inc
  34. ifneq "$(or $(BUILD_SINGLE),$(BUILD_COMPLEX))" ""
  35. SCATGEN = slatm1.o slatm7.o slaran.o slarnd.o
  36. endif
  37. ifeq ($(BUILD_SINGLE),1)
  38. SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \
  39. slagge.o slagsy.o slakf2.o slarge.o slaror.o slarot.o slatm2.o \
  40. slatm3.o slatm5.o slatm6.o slahilb.o
  41. endif
  42. ifeq ($(BUILD_COMPLEX),1)
  43. CMATGEN = clatms.o clatme.o clatmr.o clatmt.o \
  44. clagge.o claghe.o clagsy.o clakf2.o clarge.o claror.o clarot.o \
  45. clatm1.o clarnd.o clatm2.o clatm3.o clatm5.o clatm6.o clahilb.o
  46. endif
  47. ifneq "$(or $(BUILD_DOUBLE),$(BUILD_COMPLEX16))" ""
  48. DZATGEN = dlatm1.o dlatm7.o dlaran.o dlarnd.o
  49. endif
  50. ifeq ($(BUILD_DOUBLE),1)
  51. DMATGEN = dlatms.o dlatme.o dlatmr.o dlatmt.o \
  52. dlagge.o dlagsy.o dlakf2.o dlarge.o dlaror.o dlarot.o dlatm2.o \
  53. dlatm3.o dlatm5.o dlatm6.o dlahilb.o
  54. endif
  55. ifeq ($(BUILD_COMPLEX16),1)
  56. ZMATGEN = zlatms.o zlatme.o zlatmr.o zlatmt.o \
  57. zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \
  58. zlatm1.o zlarnd.o zlatm2.o zlatm3.o zlatm5.o zlatm6.o zlahilb.o
  59. endif
  60. .PHONY: all
  61. all: $(TMGLIB)
  62. ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN) \
  63. $(DZATGEN)
  64. $(TMGLIB): $(ALLOBJ)
  65. $(AR) $(ARFLAGS) $@ $^
  66. $(RANLIB) $@
  67. .PHONY: single complex double complex16
  68. single: $(SMATGEN) $(SCATGEN)
  69. $(AR) $(ARFLAGS) $(TMGLIB) $^
  70. $(RANLIB) $(TMGLIB)
  71. complex: $(CMATGEN) $(SCATGEN)
  72. $(AR) $(ARFLAGS) $(TMGLIB) $^
  73. $(RANLIB) $(TMGLIB)
  74. double: $(DMATGEN) $(DZATGEN)
  75. $(AR) $(ARFLAGS) $(TMGLIB) $^
  76. $(RANLIB) $(TMGLIB)
  77. complex16: $(ZMATGEN) $(DZATGEN)
  78. $(AR) $(ARFLAGS) $(TMGLIB) $^
  79. $(RANLIB) $(TMGLIB)
  80. $(SCATGEN): $(FRC)
  81. $(SMATGEN): $(FRC)
  82. $(CMATGEN): $(FRC)
  83. $(DZATGEN): $(FRC)
  84. $(DMATGEN): $(FRC)
  85. $(ZMATGEN): $(FRC)
  86. FRC:
  87. @FRC=$(FRC)
  88. .PHONY: clean cleanobj cleanlib
  89. clean: cleanobj cleanlib
  90. cleanobj:
  91. rm -f *.o
  92. cleanlib:
  93. rm -f $(TMGLIB)
  94. ifeq ($(filter $(BUILD_SINGLE) $(BUILD_COMPLEX),1),)
  95. slaran.o: slaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
  96. endif
  97. ifeq ($(filter $(BUILD_DOUBLE) $(BUILD_COMPLEX16),1),)
  98. dlaran.o: dlaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
  99. endif