1MPIDIR = @mpidir@ 2MPIBINDIR = @mpibindir@ 3MPILIBDIR = @mpilibdir@ 4MPIINCDIR = @mpiincdir@ 5MPILIBS = @mpilibs@ 6 7HECMWDIR = ../../../hecmw1 8HECMWBINDIR = $(HECMWDIR)/bin 9HECMWLIBDIR = $(HECMWDIR)/lib 10HECMWINCDIR = $(HECMWDIR)/include 11HECMWLIBS = @hecmwlibs@ 12 13FSTRBINDIR = ../../bin 14FSTRLIBDIR = ../../lib 15FSTRINCDIR = ../../include 16FSTRLIBS = @fstrlibs@ 17 18METISDIR = @metisdir@ 19METISLIBDIR = @metislibdir@ 20METISINCDIR = @metisincdir@ 21METISLIBS = @metislibs@ 22METIS_CFLAGS = @metis_cflags@ 23METIS_LDFLAGS = @metis_ldflags@ 24METIS_F90FLAGS = @metis_f90flags@ 25METIS_F90LDFLAGS = @metis_f90ldflags@ 26HECMW_METIS_VER = -DHECMW_METIS_VER=@hecmw_metis_ver@ 27 28MUMPSDIR = @mumpsdir@ 29MUMPSLIBDIR = @mumpslibdir@ 30MUMPSINCDIR = @mumpsincdir@ 31MUMPSLIBS = @mumpslibs@ 32MUMPS_CFLAGS = @mumps_cflags@ 33MUMPS_LDFLAGS = @mumps_ldflags@ 34MUMPS_F90FLAGS = @mumps_f90flags@ 35MUMPS_F90LDFLAGS = @mumps_f90ldflags@ 36 37REVOCAPDIR = @revocapdir@ 38REVOCAPINCDIR = @revocapincdir@ 39REVOCAPLIBDIR = @revocaplibdir@ 40REVOCAPLIBS = @revocaplibs@ 41 42CC = @cc@ 43CFLAGS = @cflags@ 44BASE_CFLAGS = @base_cflags@ 45MPI_CFLAGS = @mpi_cflags@ 46HECMW_CFLAGS = @hecmw_cflags@ 47FSTR_CFLAGS = @fstr_cflags@ 48ALL_CFLAGS = $(BASE_CFLAGS) $(FSTR_CFLAGS) $(HECMW_CFLAGS) $(MPI_CFLAGS) $(CFLAGS) 49LDFLAGS = @ldflags@ 50MPI_LDFLAGS = @mpi_ldflags@ 51HECMW_LDFLAGS = @hecmw_ldflags@ 52FSTR_LDFLAGS = @fstr_ldflags@ 53ALL_LDFLAGS = $(FSTR_LDFLAGS) $(HECMW_LDFLAGS) $(MPI_LDFLAGS) $(LDFLAGS) 54OPTFLAGS = @optflags@ 55 56REVOCAP_F90FLAGS = @revocap_f90flags@ 57REVOCAP_F90LDFLAGS = @revocap_f90ldflags@ 58 59F90 = @f90@ 60F90FLAGS = @f90flags@ 61BASE_F90FLAGS = @base_f90flags@ 62MPI_F90FLAGS = @mpi_f90flags@ 63HECMW_F90FLAGS = @hecmw_f90flags@ 64FSTR_F90FLAGS = @fstr_f90flags@ 65ALL_F90FLAGS = $(BASE_F90FLAGS) $(FSTR_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS) $(REVOCAP_F90FLAGS) $(MUMPS_F90FLAGS) $(METIS_F90FLAGS) 66F90LDFLAGS = @f90ldflags@ 67MPI_F90LDFLAGS = @mpi_f90ldflags@ 68HECMW_F90LDFLAGS = @hecmw_f90ldflags@ 69FSTR_F90LDFLAGS = @fstr_f90ldflags@ 70ALL_F90LDFLAGS = $(FSTR_F90LDFLAGS) $(HECMW_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS) $(MUMPS_F90LDFLAGS) 71F90FPP = @f90fpp@ 72F90OPTFLAGS = @f90optflags@ 73 74AR = @ar@ 75CP = @cp@ 76RM = @rm@ 77RANLIB = @ranlib@ 78MKDIR = @mkdir@ 79 80#------------------------------------------------------------------------------# 81TARGET = @fstrlib_targetfile@ 82F90TARGET = @fstrlib_f90targetfile@ 83 84F90MODULEPOSTFIX = @f90modulepostfix@ 85COBJFILEPOSTFIX = @cobjfilepostfix@ 86F90OBJFILEPOSTFIX = @f90objfilepostfix@ 87 88#------------------------------------------------------------------------------# 89.SUFFIXES: 90.SUFFIXES: .@cobjfilepostfix@ .@f90objfilepostfix@ .c .f90 .F90 .f 91 92.c.@cobjfilepostfix@: 93 $(CC) -c $(ALL_CFLAGS) $(OPTFLAGS) $< -o $@ 94 95.f90.@f90objfilepostfix@: 96 $(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@ 97 98.F90.@f90objfilepostfix@: 99 $(F90) -c $(ALL_F90FLAGS) $(HECMW_METIS_VER) $(F90FPP) $(F90OPTFLAGS) $< -o $@ 100 101.f.@f90objfilepostfix@: 102 $(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@ 103 104#------------------------------------------------------------------------------# 105OBJS = 106 107OBJSF = \ 108 m_step.@f90objfilepostfix@ \ 109 m_timepoint.@f90objfilepostfix@ \ 110 m_out.@f90objfilepostfix@ \ 111 m_common_struct.@f90objfilepostfix@ \ 112 m_fstr.@f90objfilepostfix@ \ 113 GaussM.@f90objfilepostfix@ \ 114 dynamic_mass.@f90objfilepostfix@ \ 115 static_LIB_1d.@f90objfilepostfix@ \ 116 static_LIB_2d.@f90objfilepostfix@ \ 117 static_LIB_3d.@f90objfilepostfix@ \ 118 static_LIB_3d_vp.@f90objfilepostfix@ \ 119 static_LIB_C3D8.@f90objfilepostfix@ \ 120 static_LIB_Fbar.@f90objfilepostfix@ \ 121 static_LIB_3dIC.@f90objfilepostfix@ \ 122 static_LIB_beam.@f90objfilepostfix@ \ 123 static_LIB_shell.@f90objfilepostfix@ \ 124 heat_LIB_CAPACITY.@f90objfilepostfix@ \ 125 heat_LIB_CONDUCTIVITY.@f90objfilepostfix@ \ 126 heat_LIB_DFLUX.@f90objfilepostfix@ \ 127 heat_LIB_FILM.@f90objfilepostfix@ \ 128 heat_LIB_NEUTRAL.@f90objfilepostfix@ \ 129 heat_LIB_RADIATE.@f90objfilepostfix@ \ 130 precheck_LIB_2d.@f90objfilepostfix@ \ 131 precheck_LIB_3d.@f90objfilepostfix@ \ 132 precheck_LIB_shell.@f90objfilepostfix@ \ 133 solve_LINEQ.@f90objfilepostfix@ \ 134 static_LIB.@f90objfilepostfix@ \ 135 eigen_LIB.@f90objfilepostfix@ \ 136 heat_LIB.@f90objfilepostfix@ 137 138HEADERS = 139 140#------------------------------------------------------------------------------# 141all: @build_target@ 142 143@build_target@: 144 @cd utilities && $(MAKE) @build_target@ 145 @cd user && $(MAKE) @build_target@ 146 @cd element && $(MAKE) @build_target@ 147 @cd physics && $(MAKE) @build_target@ 148 @cd contact && $(MAKE) @build_target@ 149 $(MAKE) BUILD_CURR 150 151build-with-rcap: @build_target@ 152 153BUILD_CURR: $(TARGET) $(F90TARGET) install-module 154 155$(TARGET): $(OBJS) 156 $(AR) $(FSTRLIBDIR)/$@ $(OBJS) 157 158$(F90TARGET): $(OBJSF) 159 $(AR) $(FSTRLIBDIR)/$@ $(OBJSF) 160 F90="$(F90)" F90FLAGS="$(F90FLAGS)" F90TARGET="$(FSTRLIBDIR)/$(F90TARGET)" AR="$(AR)" RM="$(RM)" sh test_flush.sh 161 162install-header: 163 $(CP) $(HEADERS) $(FSTRINCDIR)/. 164 165install-module: 166 $(CP) *.$(F90MODULEPOSTFIX) $(FSTRINCDIR)/. 167 168$(OBJS): $(HEADERS) 169 170$(OBJSF): 171 172install: 173 174clean: 175 @cd utilities && $(MAKE) clean 176 @cd user && $(MAKE) clean 177 @cd element && $(MAKE) clean 178 @cd physics && $(MAKE) clean 179 @cd contact && $(MAKE) clean 180 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 181 ${RM} test_flush.log 182 183distclean: clean 184