Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove warning about uninitialized variable
[simgrid.git] / examples / smpi / NAS / BT / Makefile
1 SHELL=/bin/sh
2 BENCHMARK=bt
3 BENCHMARKU=BT
4 VEC=
5
6 include ../config/make.def
7
8
9 OBJS = bt.o make_set.o initialize.o exact_solution.o exact_rhs.o \
10        set_constants.o adi.o define.o copy_faces.o rhs.o solve_subs.o \
11        x_solve$(VEC).o y_solve$(VEC).o z_solve$(VEC).o add.o error.o \
12        verify.o setup_mpi.o \
13        ${COMMON}/print_results.o ${COMMON}/timers.o
14
15 include ../sys/make.common
16
17 # npbparams.h is included by header.h
18 # The following rule should do the trick but many make programs (not gmake)
19 # will do the wrong thing and rebuild the world every time (because the
20 # mod time on header.h is not changed. One solution would be to 
21 # touch header.h but this might cause confusion if someone has
22 # accidentally deleted it. Instead, make the dependency on npbparams.h
23 # explicit in all the lines below (even though dependence is indirect). 
24
25 # header.h: npbparams.h
26
27 ${PROGRAM}: config
28         @if [ x$(VERSION) = xvec ] ; then       \
29                 ${MAKE} VEC=_vec exec;          \
30         elif [ x$(VERSION) = xVEC ] ; then      \
31                 ${MAKE} VEC=_vec exec;          \
32         else                                    \
33                 ${MAKE} exec;                   \
34         fi
35
36 exec: $(OBJS)
37         @if [ x$(SUBTYPE) = xfull ] ; then      \
38                 ${MAKE} bt-full;                \
39         elif [ x$(SUBTYPE) = xFULL ] ; then     \
40                 ${MAKE} bt-full;                \
41         elif [ x$(SUBTYPE) = xsimple ] ; then   \
42                 ${MAKE} bt-simple;              \
43         elif [ x$(SUBTYPE) = xSIMPLE ] ; then   \
44                 ${MAKE} bt-simple;              \
45         elif [ x$(SUBTYPE) = xfortran ] ; then  \
46                 ${MAKE} bt-fortran;             \
47         elif [ x$(SUBTYPE) = xFORTRAN ] ; then  \
48                 ${MAKE} bt-fortran;             \
49         elif [ x$(SUBTYPE) = xepio ] ; then     \
50                 ${MAKE} bt-epio;                \
51         elif [ x$(SUBTYPE) = xEPIO ] ; then     \
52                 ${MAKE} bt-epio;                \
53         else                                    \
54                 ${MAKE} bt-bt;                  \
55         fi
56
57 bt-bt: ${OBJS} btio.o
58         ${FLINK} ${FLINKFLAGS} -o ${PROGRAM} ${OBJS} btio.o ${FMPI_LIB}
59
60 bt-full: ${OBJS} full_mpiio.o btio_common.o
61         ${FLINK} ${FLINKFLAGS} -o ${PROGRAM}.mpi_io_full ${OBJS} btio_common.o full_mpiio.o ${FMPI_LIB}
62
63 bt-simple: ${OBJS} simple_mpiio.o btio_common.o
64         ${FLINK} ${FLINKFLAGS} -o ${PROGRAM}.mpi_io_simple ${OBJS} btio_common.o simple_mpiio.o ${FMPI_LIB}
65
66 bt-fortran: ${OBJS} fortran_io.o btio_common.o
67         ${FLINK} ${FLINKFLAGS} -o ${PROGRAM}.fortran_io ${OBJS} btio_common.o fortran_io.o ${FMPI_LIB}
68
69 bt-epio: ${OBJS} epio.o btio_common.o
70         ${FLINK} ${FLINKFLAGS} -o ${PROGRAM}.ep_io ${OBJS} btio_common.o epio.o ${FMPI_LIB}
71
72 .f.o:
73         ${FCOMPILE} $<
74
75 .c.o:
76         ${CCOMPILE} $<
77
78
79 bt.o:             bt.f  header.h npbparams.h  mpinpb.h
80 make_set.o:       make_set.f  header.h npbparams.h  mpinpb.h
81 initialize.o:     initialize.f  header.h npbparams.h
82 exact_solution.o: exact_solution.f  header.h npbparams.h
83 exact_rhs.o:      exact_rhs.f  header.h npbparams.h
84 set_constants.o:  set_constants.f  header.h npbparams.h
85 adi.o:            adi.f  header.h npbparams.h
86 define.o:         define.f  header.h npbparams.h
87 copy_faces.o:     copy_faces.f  header.h npbparams.h  mpinpb.h
88 rhs.o:            rhs.f  header.h npbparams.h
89 x_solve$(VEC).o:  x_solve$(VEC).f  header.h work_lhs$(VEC).h npbparams.h  mpinpb.h
90 y_solve$(VEC).o:  y_solve$(VEC).f  header.h work_lhs$(VEC).h npbparams.h  mpinpb.h
91 z_solve$(VEC).o:  z_solve$(VEC).f  header.h work_lhs$(VEC).h npbparams.h  mpinpb.h
92 solve_subs.o:     solve_subs.f  npbparams.h
93 add.o:            add.f  header.h npbparams.h
94 error.o:          error.f  header.h npbparams.h  mpinpb.h
95 verify.o:         verify.f  header.h npbparams.h  mpinpb.h
96 setup_mpi.o:      setup_mpi.f mpinpb.h npbparams.h 
97 btio.o:           btio.f  header.h npbparams.h
98 btio_common.o:    btio_common.f mpinpb.h npbparams.h 
99 fortran_io.o:     fortran_io.f mpinpb.h npbparams.h 
100 simple_mpiio.o:   simple_mpiio.f mpinpb.h npbparams.h 
101 full_mpiio.o:     full_mpiio.f mpinpb.h npbparams.h 
102 epio.o:           epio.f mpinpb.h npbparams.h 
103
104 clean:
105         - rm -f *.o *~ mputil*
106         - rm -f  npbparams.h core