make.def.template 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #---------------------------------------------------------------------------
  2. #
  3. # SITE- AND/OR PLATFORM-SPECIFIC DEFINITIONS.
  4. #
  5. #---------------------------------------------------------------------------
  6. #---------------------------------------------------------------------------
  7. # Items in this file will need to be changed for each platform.
  8. #---------------------------------------------------------------------------
  9. #---------------------------------------------------------------------------
  10. # Parallel Fortran:
  11. #
  12. # For CG, EP, FT, MG, LU, SP and BT, which are in Fortran, the following must
  13. # be defined:
  14. #
  15. # MPIF77 - Fortran compiler
  16. # FFLAGS - Fortran compilation arguments
  17. # FMPI_INC - any -I arguments required for compiling MPI/Fortran
  18. # FLINK - Fortran linker
  19. # FLINKFLAGS - Fortran linker arguments
  20. # FMPI_LIB - any -L and -l arguments required for linking MPI/Fortran
  21. #
  22. # compilations are done with $(MPIF77) $(FMPI_INC) $(FFLAGS) or
  23. # $(MPIF77) $(FFLAGS)
  24. # linking is done with $(FLINK) $(FMPI_LIB) $(FLINKFLAGS)
  25. #---------------------------------------------------------------------------
  26. #---------------------------------------------------------------------------
  27. # This is the fortran compiler used for MPI programs
  28. #---------------------------------------------------------------------------
  29. MPIF77 = f77
  30. # This links MPI fortran programs; usually the same as ${MPIF77}
  31. FLINK = $(MPIF77)
  32. #---------------------------------------------------------------------------
  33. # These macros are passed to the linker to help link with MPI correctly
  34. #---------------------------------------------------------------------------
  35. FMPI_LIB = -L/usr/local/lib -lmpi
  36. #---------------------------------------------------------------------------
  37. # These macros are passed to the compiler to help find 'mpif.h'
  38. #---------------------------------------------------------------------------
  39. FMPI_INC = -I/usr/local/include
  40. #---------------------------------------------------------------------------
  41. # Global *compile time* flags for Fortran programs
  42. #---------------------------------------------------------------------------
  43. FFLAGS = -O
  44. #---------------------------------------------------------------------------
  45. # Global *link time* flags. Flags for increasing maximum executable
  46. # size usually go here.
  47. #---------------------------------------------------------------------------
  48. FLINKFLAGS = -O
  49. #---------------------------------------------------------------------------
  50. # Parallel C:
  51. #
  52. # For IS, which is in C, the following must be defined:
  53. #
  54. # MPICC - C compiler
  55. # CFLAGS - C compilation arguments
  56. # CMPI_INC - any -I arguments required for compiling MPI/C
  57. # CLINK - C linker
  58. # CLINKFLAGS - C linker flags
  59. # CMPI_LIB - any -L and -l arguments required for linking MPI/C
  60. #
  61. # compilations are done with $(MPICC) $(CMPI_INC) $(CFLAGS) or
  62. # $(MPICC) $(CFLAGS)
  63. # linking is done with $(CLINK) $(CMPI_LIB) $(CLINKFLAGS)
  64. #---------------------------------------------------------------------------
  65. #---------------------------------------------------------------------------
  66. # This is the C compiler used for MPI programs
  67. #---------------------------------------------------------------------------
  68. MPICC = cc
  69. # This links MPI C programs; usually the same as ${MPICC}
  70. CLINK = $(MPICC)
  71. #---------------------------------------------------------------------------
  72. # These macros are passed to the linker to help link with MPI correctly
  73. #---------------------------------------------------------------------------
  74. CMPI_LIB = -L/usr/local/lib -lmpi
  75. #---------------------------------------------------------------------------
  76. # These macros are passed to the compiler to help find 'mpi.h'
  77. #---------------------------------------------------------------------------
  78. CMPI_INC = -I/usr/local/include
  79. #---------------------------------------------------------------------------
  80. # Global *compile time* flags for C programs
  81. #---------------------------------------------------------------------------
  82. CFLAGS = -O
  83. #---------------------------------------------------------------------------
  84. # Global *link time* flags. Flags for increasing maximum executable
  85. # size usually go here.
  86. #---------------------------------------------------------------------------
  87. CLINKFLAGS = -O
  88. #---------------------------------------------------------------------------
  89. # MPI dummy library:
  90. #
  91. # Uncomment if you want to use the MPI dummy library supplied by NAS instead
  92. # of the true message-passing library. The include file redefines several of
  93. # the above macros. It also invokes make in subdirectory MPI_dummy. Make
  94. # sure that no spaces or tabs precede include.
  95. #---------------------------------------------------------------------------
  96. # include ../config/make.dummy
  97. #---------------------------------------------------------------------------
  98. # Utilities C:
  99. #
  100. # This is the C compiler used to compile C utilities. Flags required by
  101. # this compiler go here also; typically there are few flags required; hence
  102. # there are no separate macros provided for such flags.
  103. #---------------------------------------------------------------------------
  104. CC = cc -g
  105. #---------------------------------------------------------------------------
  106. # Destination of executables, relative to subdirs of the main directory. .
  107. #---------------------------------------------------------------------------
  108. BINDIR = ../bin
  109. #---------------------------------------------------------------------------
  110. # Some machines (e.g. Crays) have 128-bit DOUBLE PRECISION numbers, which
  111. # is twice the precision required for the NPB suite. A compiler flag
  112. # (e.g. -dp) can usually be used to change DOUBLE PRECISION variables to
  113. # 64 bits, but the MPI library may continue to send 128 bits. Short of
  114. # recompiling MPI, the solution is to use MPI_REAL to send these 64-bit
  115. # numbers, and MPI_COMPLEX to send their complex counterparts. Uncomment
  116. # the following line to enable this substitution.
  117. #
  118. # NOTE: IF THE I/O BENCHMARK IS BEING BUILT, WE USE CONVERTFLAG TO
  119. # SPECIFIY THE FORTRAN RECORD LENGTH UNIT. IT IS A SYSTEM-SPECIFIC
  120. # VALUE (USUALLY 1 OR 4). UNCOMMENT THE SECOND LINE AND SUBSTITUTE
  121. # THE CORRECT VALUE FOR "length".
  122. # IF BOTH 128-BIT DOUBLE PRECISION NUMBERS AND I/O ARE TO BE ENABLED,
  123. # UNCOMMENT THE THIRD LINE AND SUBSTITUTE THE CORRECT VALUE FOR
  124. # "length"
  125. #---------------------------------------------------------------------------
  126. # CONVERTFLAG = -DCONVERTDOUBLE
  127. # CONVERTFLAG = -DFORTRAN_REC_SIZE=length
  128. # CONVERTFLAG = -DCONVERTDOUBLE -DFORTRAN_REC_SIZE=length
  129. #---------------------------------------------------------------------------
  130. # The variable RAND controls which random number generator
  131. # is used. It is described in detail in README.install.
  132. # Use "randi8" unless there is a reason to use another one.
  133. # Other allowed values are "randi8_safe", "randdp" and "randdpvec"
  134. #---------------------------------------------------------------------------
  135. RAND = randi8
  136. # The following is highly reliable but may be slow:
  137. # RAND = randdp