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) 44F90FPP = @f90fpp@ 45F90OPTFLAGS = @f90optflags@ 46 47AR = @ar@ 48CP = @cp@ 49RM = @rm@ 50RANLIB = @ranlib@ 51MKDIR = @mkdir@ 52 53#-----------------------------------------------------------------------------# 54TARGET = @hecmwlib_targetfile@ 55F90TARGET = @hecmwlib_f90targetfile@ 56 57F90MODULEPOSTFIX = @f90modulepostfix@ 58COBJFILEPOSTFIX = @cobjfilepostfix@ 59F90OBJFILEPOSTFIX = @f90objfilepostfix@ 60 61#-----------------------------------------------------------------------------# 62.SUFFIXES: 63.SUFFIXES: .@cobjfilepostfix@ @f90objfilepostfix@ .c .f90 .F90 .f 64 65.c.@cobjfilepostfix@: 66 $(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS) 67 68.f90.@f90objfilepostfix@: 69 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 70 71.F90.@f90objfilepostfix@: 72 $(F90) -c $< $(ALL_F90FLAGS) $(F90FPP) $(F90OPTFLAGS) 73 74.f.@f90objfilepostfix@: 75 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 76 77#-----------------------------------------------------------------------------# 78OBJS = 79 80OBJSF = \ 81 hecmw_solver_SR_11.@f90objfilepostfix@ \ 82 hecmw_solver_SR_11i.@f90objfilepostfix@ \ 83 hecmw_solver_SR_22.@f90objfilepostfix@ \ 84 hecmw_solver_SR_22i.@f90objfilepostfix@ \ 85 hecmw_solver_SR_33.@f90objfilepostfix@ \ 86 hecmw_solver_SR_33i.@f90objfilepostfix@ \ 87 hecmw_solver_SR_44.@f90objfilepostfix@ \ 88 hecmw_solver_SR_44i.@f90objfilepostfix@ \ 89 hecmw_solver_SR_66.@f90objfilepostfix@ \ 90 hecmw_solver_SR_66i.@f90objfilepostfix@ \ 91 hecmw_solver_SR_mm.@f90objfilepostfix@ \ 92 hecmw_solver_SR_mmi.@f90objfilepostfix@ \ 93 hecmw_comm_f.@f90objfilepostfix@ \ 94 hecmw_solver_misc.@f90objfilepostfix@ \ 95 hecmw_comm_group.@f90objfilepostfix@ 96 97HEADERS = 98 99#-----------------------------------------------------------------------------# 100all: @build_target@ 101 102build-default: $(TARGET) $(F90TARGET) install-module 103 104build-without-f: $(TARGET) 105 106$(TARGET): $(OBJS) 107 $(AR) $(HECMWLIBDIR)/$@ $(OBJS) 108 109$(F90TARGET): $(OBJSF) 110 $(AR) $(HECMWLIBDIR)/$@ $(OBJSF) 111 112$(OBJS): $(HEADERS) 113 114$(OBJSF): 115 116install-header: $(HEADERS) 117 $(CP) $(HEADERS) $(HECMWINCDIR)/. 118 119install-module: 120 $(CP) *.$(F90MODULEPOSTFIX) $(HECMWINCDIR)/. 121 122install: 123 124clean: 125 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 126 127distclean: clean 128