1MPIDIR = @mpidir@ 2MPIBINDIR = @mpibindir@ 3MPILIBDIR = @mpilibdir@ 4MPIINCDIR = @mpiincdir@ 5MPILIBS = @mpilibs@ 6 7PREFIX = @prefix@ 8BINDIR = @bindir@ 9LIBDIR = @libdir@ 10INCLUDEDIR = @includedir@ 11 12HECMWBINDIR = ../../../bin 13HECMWLIBDIR = ../../../lib 14HECMWINCDIR = ../../../include 15HECMWLIBS = @hecmwlibs@ 16 17REFINERDIR = @refinerdir@ 18REFINERINCDIR = @refinerincdir@ 19REFINERLIBDIR = @refinerlibdir@ 20REFINERLIBS = @refinerlibs@ 21 22CC = @cc@ 23CFLAGS = @cflags@ 24BASE_CFLAGS = @base_cflags@ 25MPI_CFLAGS = @mpi_cflags@ 26HECMW_CFLAGS = @hecmw_cflags@ 27ALL_CFLAGS = $(BASE_CFLAGS) $(HECMW_CFLAGS) $(MPI_CFLAGS) $(CFLAGS) 28LDFLAGS = @ldflags@ 29MPI_LDFLAGS = @mpi_ldflags@ 30HECMW_LDFLAGS = @hecmw_ldflags@ 31ALL_LDFLAGS = $(HECMW_LDFLAGS) $(MPI_LDFLAGS) $(LDFLAGS) 32OPTFLAGS = @optflags@ 33 34F90 = @f90@ 35F90FLAGS = @f90flags@ 36BASE_F90FLAGS = @base_f90flags@ 37MPI_F90FLAGS = @mpi_f90flags@ 38HECMW_F90FLAGS = @hecmw_f90flags@ 39ALL_F90FLAGS = $(BASE_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS) 40F90LDFLAGS = @f90ldflags@ 41MPI_F90LDFLAGS = @mpi_f90ldflags@ 42HECMW_F90LDFLAGS = @hecmw_f90ldflags@ 43ALL_F90LDFLAGS = $(HECMW_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS) 44F90OPTFLAGS = @f90optflags@ 45 46AR = @ar@ 47CP = @cp@ 48RM = @rm@ 49RANLIB = @ranlib@ 50MKDIR = @mkdir@ 51 52#-----------------------------------------------------------------------------# 53TARGET = @hecmwlib_targetfile@ 54F90TARGET = @hecmwlib_f90targetfile@ 55 56F90MODULEPOSTFIX = @f90modulepostfix@ 57COBJFILEPOSTFIX = @cobjfilepostfix@ 58F90OBJFILEPOSTFIX = @f90objfilepostfix@ 59 60#-----------------------------------------------------------------------------# 61.SUFFIXES: 62.SUFFIXES: .@cobjfilepostfix@ @f90objfilepostfix@ .c .f90 .f 63 64.c.@cobjfilepostfix@: 65 $(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS) 66 67.f90.@f90objfilepostfix@: 68 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 69 70.f.@f90objfilepostfix@: 71 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 72 73#-----------------------------------------------------------------------------# 74OBJS = 75 76OBJSF = \ 77 hecmw_solver_scaling_nn.@f90objfilepostfix@ \ 78 hecmw_solver_BiCGSTAB.@f90objfilepostfix@ \ 79 hecmw_solver_CG.@f90objfilepostfix@ \ 80 hecmw_solver_GMRES.@f90objfilepostfix@ \ 81 hecmw_solver_GPBiCG.@f90objfilepostfix@ \ 82 hecmw_solver_Iterative.@f90objfilepostfix@ 83 84HEADERS = 85 86#-----------------------------------------------------------------------------# 87all: @build_target@ 88 89build-default: $(TARGET) $(F90TARGET) install-module 90 91build-serial: $(TARGET) $(F90TARGET) install-module 92 93build-without-f: $(TARGET) 94 95$(TARGET): $(OBJS) 96 $(AR) $(HECMWLIBDIR)/$@ $(OBJS) 97 98$(F90TARGET): $(OBJSF) 99 $(AR) $(HECMWLIBDIR)/$@ $(OBJSF) 100 101$(OBJS): $(HEADERS) 102 103$(OBJSF): 104 105install-header: $(HEADERS) 106 $(CP) $(HEADERS) $(HECMWINCDIR)/. 107 108install-module: 109 $(CP) *.$(F90MODULEPOSTFIX) $(HECMWINCDIR)/. 110 111install: 112 113clean: 114 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 115 116distclean: clean 117