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 17METISDIR = @metisdir@ 18METISLIBDIR = @metislibdir@ 19METISINCDIR = @metisincdir@ 20METISLIBS = @metislibs@ 21METIS_CFLAGS = @metis_cflags@ 22METIS_LDFLAGS = @metis_ldflags@ 23 24REFINERDIR = @refinerdir@ 25REFINERINCDIR = @refinerincdir@ 26REFINERLIBDIR = @refinerlibdir@ 27REFINERLIBS = @refinerlibs@ 28 29CC = @cc@ 30CFLAGS = @cflags@ 31BASE_CFLAGS = @base_cflags@ 32MPI_CFLAGS = @mpi_cflags@ 33HECMW_CFLAGS = @hecmw_cflags@ 34ALL_CFLAGS = $(METIS_CFLAGS) $(BASE_CFLAGS) $(HECMW_CFLAGS) $(MPI_CFLAGS) $(CFLAGS) 35LDFLAGS = @ldflags@ 36MPI_LDFLAGS = @mpi_ldflags@ 37HECMW_LDFLAGS = @hecmw_ldflags@ 38ALL_LDFLAGS = $(METIS_LDFLAGS) $(HECMW_LDFLAGS) $(MPI_LDFLAGS) $(LDFLAGS) 39OPTFLAGS = @optflags@ 40 41F90 = @f90@ 42F90FLAGS = @f90flags@ 43BASE_F90FLAGS = @base_f90flags@ 44MPI_F90FLAGS = @mpi_f90flags@ 45HECMW_F90FLAGS = @hecmw_f90flags@ 46ALL_F90FLAGS = $(BASE_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS) 47F90LDFLAGS = @f90ldflags@ 48MPI_F90LDFLAGS = @mpi_f90ldflags@ 49HECMW_F90LDFLAGS = @hecmw_f90ldflags@ 50ALL_F90LDFLAGS = $(HECMW_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS) 51F90FPP = @f90fpp@ 52F90OPTFLAGS = @f90optflags@ 53 54AR = @ar@ 55CP = @cp@ 56RM = @rm@ 57RANLIB = @ranlib@ 58MKDIR = @mkdir@ 59 60#-----------------------------------------------------------------------------# 61TARGET = @hecmwlib_targetfile@ 62F90TARGET = @hecmwlib_f90targetfile@ 63 64F90MODULEPOSTFIX = @f90modulepostfix@ 65COBJFILEPOSTFIX = @cobjfilepostfix@ 66F90OBJFILEPOSTFIX = @f90objfilepostfix@ 67 68#-----------------------------------------------------------------------------# 69.SUFFIXES: 70.SUFFIXES: .@cobjfilepostfix@ @f90objfilepostfix@ .c .f90 .F90 .f 71 72.c.@cobjfilepostfix@: 73 $(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS) 74 75.f90.@f90objfilepostfix@: 76 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 77 78.F90.@f90objfilepostfix@: 79 $(F90) -c $< $(ALL_F90FLAGS) $(F90FPP) $(F90OPTFLAGS) 80 81.f.@f90objfilepostfix@: 82 $(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS) 83 84#-----------------------------------------------------------------------------# 85OBJS = \ 86 matrix2graph.@cobjfilepostfix@ \ 87 matrix_repart.@cobjfilepostfix@ \ 88 mem_util.@cobjfilepostfix@ \ 89 separator_c2f_c.@cobjfilepostfix@ \ 90 91OBJSF = \ 92 m_irjc_matrix.@f90objfilepostfix@ \ 93 m_crs_matrix.@f90objfilepostfix@ \ 94 m_child_matrix.@f90objfilepostfix@ \ 95 m_matrix_partition_info.@f90objfilepostfix@ \ 96 m_elap.@f90objfilepostfix@ \ 97 hecmw_solver_direct_parallel.@f90objfilepostfix@ 98 99HEADERS = 100 101#-----------------------------------------------------------------------------# 102all: @build_target@ 103 104build-default: $(TARGET) $(F90TARGET) install-module 105 106build-without-f: $(TARGET) 107 108$(TARGET): $(OBJS) 109 $(AR) $(HECMWLIBDIR)/$@ $(OBJS) 110 111$(F90TARGET): $(OBJSF) 112 $(AR) $(HECMWLIBDIR)/$@ $(OBJSF) 113 114$(OBJS): $(HEADERS) 115 116$(OBJSF): 117 118install-header: $(HEADERS) 119 $(CP) $(HEADERS) $(HECMWINCDIR)/. 120 121install-module: 122 $(CP) *.$(F90MODULEPOSTFIX) $(HECMWINCDIR)/. 123 124install: 125 126clean: 127 $(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX) 128 129distclean: clean 130