2 # this is a makefile for RSL that maps the package down to the
3 # MPI message passing primitives on the NEC SX-5
6 OBJ = $(CORE_OBJ) rsl_mpi_compat.o mpi_init_f.o debug.o fort_doubleread.o fort_doublewrite.o rsl_error_dup.o fort_bdyin_dbl.o vicopy_sx.o
20 CFLAGS = -DMPI -I../../../include -Dsx -DRSL_SYNCIO -Dcrayx1 -DNO_RAGGED
21 CFLAGS = -DMPI -I../../../include -Dsx -DRSL_SYNCIO -DNEC_TUNE -DNEC_SINGLENEST -DNEC_TYPE4B
22 CFLAGS = -DMPI -I../../../include -Dsx -DRSL_SYNCIO -DNEC_TUNE
24 #INLINE = -pi fullmsg auto file=proc.c
27 # avoids redundant count of grid points.
28 # don't specify this if the form of the grid-plane changes.
29 # (i.e. multi-nest run)
30 # target file is "rsl_ioserve.c".
33 # 1 byte char data copy by "bcopy" is replaced with 4 byte float
35 # this modification promotes vectorization.
36 # this effects only multi-nest run.
37 # target file is "rsl_bcast.c".
40 @ echo 'This makefile is not a top level makefile'
41 @ echo 'and is not intended for direct use. Please'
42 @ echo 'type "make" by itself for assistance.'
44 all : rsl.inc librsl.a
46 rsl.inc : $(HDR) rsl.inc_base
47 cat $(HDR) | sed $(SED_LINE) |\
48 grep '^#.*define.*\/\* FORTRAN \*\/' | \
49 awk '{printf(" integer %s\n parameter(%s=%s)\n",$$2,$$2,$$3)}' | \
50 cat rsl.inc_base - > rsl.inc
53 sxar cr librsl.a $(OBJ)
56 rsl_mpi_compat.o: rsl_mpi_compat.c
57 $(CC) -c $(CFLAGS) $(CONFIG_OPTS) $<
60 $(CC) -c $(CFLAGS) $(INLINE) $(CONFIG_OPTS) $<