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 .F90 .f 63 64.c.@cobjfilepostfix@: 65 $(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS) 66 67.f90.@f90objfilepostfix@: 68 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 69 70.F90.@f90objfilepostfix@: 71 $(F90) -c $< $(ALL_F90FLAGS) $(F90FPP) $(F90OPTFLAGS) 72 73 74.f.@f90objfilepostfix@: 75 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 76 77#-----------------------------------------------------------------------------# 78OBJS = 79 80OBJSF = \ 81 hecmw_allocate.@f90objfilepostfix@ \ 82 hecmw_array_util.@f90objfilepostfix@ \ 83 hecmw_matrix_contact.@f90objfilepostfix@ \ 84 hecmw_matrix_misc.@f90objfilepostfix@ \ 85 hecmw_matrix_ordering_CM.@f90objfilepostfix@ \ 86 hecmw_matrix_ordering_MC.@f90objfilepostfix@ \ 87 hecmw_matrix_reorder.@f90objfilepostfix@ \ 88 hecmw_mat_con.@f90objfilepostfix@ \ 89 hecmw_mat_ass.@f90objfilepostfix@ \ 90 hecmw_matrix_dump.@f90objfilepostfix@ \ 91 hecmw_pair_array.@f90objfilepostfix@ \ 92 hecmw_local_matrix.@f90objfilepostfix@ \ 93 hecmw_mat_id.@f90objfilepostfix@ \ 94 hecmw_estimate_condition.@f90objfilepostfix@ 95 96HEADERS = 97 98#-----------------------------------------------------------------------------# 99all: @build_target@ 100 101build-default: $(TARGET) $(F90TARGET) install-module 102 103build-serial: $(TARGET) $(F90TARGET) install-module 104 105build-without-f: $(TARGET) 106 107$(TARGET): $(OBJS) 108 $(AR) $(HECMWLIBDIR)/$@ $(OBJS) 109 110$(F90TARGET): $(OBJSF) 111 $(AR) $(HECMWLIBDIR)/$@ $(OBJSF) 112 113$(OBJS): $(HEADERS) 114 115$(OBJSF): 116 117install-header: $(HEADERS) 118 $(CP) $(HEADERS) $(HECMWINCDIR)/. 119 120install-module: 121 $(CP) *.$(F90MODULEPOSTFIX) $(HECMWINCDIR)/. 122 123install: 124 125clean: 126 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 127 128distclean: clean 129