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 22MLDIR = @mldir@ 23MLLIBDIR = @mllibdir@ 24MLINCDIR = @mlincdir@ 25MLLIBS = @mllibs@ 26ML_CFLAGS = @ml_cflags@ 27ML_LDFLAGS = @ml_ldflags@ 28ML_F90FLAGS = @ml_f90flags@ 29ML_F90LDFLAGS = @ml_f90ldflags@ 30 31CC = @cc@ 32CFLAGS = @cflags@ 33BASE_CFLAGS = @base_cflags@ 34MPI_CFLAGS = @mpi_cflags@ 35HECMW_CFLAGS = @hecmw_cflags@ 36ALL_CFLAGS = $(BASE_CFLAGS) $(HECMW_CFLAGS) $(MPI_CFLAGS) $(ML_CFLAGS) $(CFLAGS) 37LDFLAGS = @ldflags@ 38MPI_LDFLAGS = @mpi_ldflags@ 39HECMW_LDFLAGS = @hecmw_ldflags@ 40ALL_LDFLAGS = $(HECMW_LDFLAGS) $(ML_LDFLAGS) $(MPI_LDFLAGS) $(LDFLAGS) 41OPTFLAGS = @optflags@ 42 43F90 = @f90@ 44F90FLAGS = @f90flags@ 45BASE_F90FLAGS = @base_f90flags@ 46MPI_F90FLAGS = @mpi_f90flags@ 47HECMW_F90FLAGS = @hecmw_f90flags@ 48ALL_F90FLAGS = $(BASE_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(ML_F90FLAGS) $(F90FLAGS) 49F90LDFLAGS = @f90ldflags@ 50MPI_F90LDFLAGS = @mpi_f90ldflags@ 51HECMW_F90LDFLAGS = @hecmw_f90ldflags@ 52ALL_F90LDFLAGS = $(HECMW_F90LDFLAGS) $(ML_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS) 53F90FPP = @f90fpp@ 54F90OPTFLAGS = @f90optflags@ 55 56AR = @ar@ 57CP = @cp@ 58RM = @rm@ 59RANLIB = @ranlib@ 60MKDIR = @mkdir@ 61 62#-----------------------------------------------------------------------------# 63TARGET = @hecmwlib_targetfile@ 64F90TARGET = @hecmwlib_f90targetfile@ 65 66F90MODULEPOSTFIX = @f90modulepostfix@ 67COBJFILEPOSTFIX = @cobjfilepostfix@ 68F90OBJFILEPOSTFIX = @f90objfilepostfix@ 69 70#-----------------------------------------------------------------------------# 71.SUFFIXES: 72.SUFFIXES: .@cobjfilepostfix@ @f90objfilepostfix@ .c .f90 .F90 .f 73 74.c.@cobjfilepostfix@: 75 $(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS) 76 77.f90.@f90objfilepostfix@: 78 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 79 80.F90.@f90objfilepostfix@: 81 $(F90) -c $< $(ALL_F90FLAGS) $(F90FPP) $(F90OPTFLAGS) 82 83.f.@f90objfilepostfix@: 84 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 85 86#-----------------------------------------------------------------------------# 87OBJS = \ 88 hecmw_ML_helper_nn_c.@cobjfilepostfix@ \ 89 hecmw_ML_wrapper.@cobjfilepostfix@ \ 90 91OBJSF = \ 92 hecmw_precond_BILU_nn.@f90objfilepostfix@ \ 93 hecmw_precond_DIAG_nn.@f90objfilepostfix@ \ 94 hecmw_precond_SSOR_nn.@f90objfilepostfix@ \ 95 hecmw_precond_SAINV_nn.@f90objfilepostfix@ \ 96 hecmw_precond_RIF_nn.@f90objfilepostfix@ \ 97 hecmw_ML_helper.@f90objfilepostfix@ \ 98 hecmw_ML_helper_nn_f.@f90objfilepostfix@ \ 99 hecmw_precond_ML_nn.@f90objfilepostfix@ \ 100 hecmw_precond_nn.@f90objfilepostfix@ \ 101 102HEADERS = \ 103 hecmw_ML_helper.h \ 104 hecmw_ML_helper_nn.h \ 105 106#-----------------------------------------------------------------------------# 107all: @build_target@ 108 109build-default: $(TARGET) $(F90TARGET) install-module 110 111build-without-f: $(TARGET) 112 113$(TARGET): $(OBJS) 114 $(AR) $(HECMWLIBDIR)/$@ $(OBJS) 115 116$(F90TARGET): $(OBJSF) 117 $(AR) $(HECMWLIBDIR)/$@ $(OBJSF) 118 119$(OBJS): $(HEADERS) 120 121$(OBJSF): 122 123install-header: $(HEADERS) 124 $(CP) $(HEADERS) $(HECMWINCDIR)/. 125 126install-module: 127 $(CP) *.$(F90MODULEPOSTFIX) $(HECMWINCDIR)/. 128 129install: 130 131clean: 132 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 133 134distclean: clean 135