Makefile.svn-base 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. SHELL=/bin/sh
  2. BENCHMARK=bt
  3. BENCHMARKU=BT
  4. PROGRAM = $(BENCHMARK).$(CLASS).$(NPROCS)
  5. default:: ${PROGRAM}
  6. # This makes sure the configuration utility setparams
  7. # is up to date.
  8. # Note that this must be run every time, which is why the
  9. # target does not exist and is not created.
  10. # If you create a file called "config" you will break things.
  11. config:
  12. cd ../sys; ${MAKE} all
  13. ../sys/setparams ${BENCHMARK} ${NPROCS} ${CLASS}
  14. # Normally setparams updates npbparams.h only if the settings (CLASS/NPROCS)
  15. # have changed. However, we also want to update if the compile options
  16. # may have changed (set in ../config/make.def).
  17. npbparams.h: ../config/make.def
  18. @ echo make.def modified. Rebuilding npbparams.h just in case
  19. rm -f npbparams.h
  20. ../sys/setparams ${BENCHMARK} ${NPROCS} ${CLASS}
  21. # So that "make benchmark-name" works
  22. ${BENCHMARK}: default
  23. ${BENCHMARKU}: default
  24. bt.o: bt.c header.h npbparams.h mpinpb.h
  25. make_set.o: make_set.c header.h npbparams.h mpinpb.h
  26. initialize.o: initialize.c header.h npbparams.h
  27. exact_solution.o: exact_solution.c header.h npbparams.h
  28. exact_rhs.o: exact_rhs.c header.h npbparams.h
  29. set_constants.o: set_constants.c header.h npbparams.h
  30. adi.o: adi.c header.h npbparams.h
  31. define.o: define.c header.h npbparams.h
  32. copy_faces.o: copy_faces.c header.h npbparams.h mpinpb.h
  33. rhs.o: rhs.c header.h npbparams.h
  34. x_solve.o: x_solve.c header.h work_lhs.h npbparams.h mpinpb.h
  35. y_solve.o: y_solve.c header.h work_lhs.h npbparams.h mpinpb.h
  36. z_solve.o: z_solve.c header.h work_lhs.h npbparams.h mpinpb.h
  37. solve_subs.o: solve_subs.c npbparams.h
  38. add.o: add.c header.h npbparams.h
  39. error.o: error.c header.h npbparams.h mpinpb.h
  40. verify.o: verify.c header.h npbparams.h mpinpb.h
  41. setup_mpi.o: setup_mpi.c mpinpb.h npbparams.h
  42. OBJS = bt.o make_set.o initialize.o exact_solution.o \
  43. exact_rhs.o set_constants.o adi.o define.o copy_faces.o \
  44. rhs.o x_solve.o y_solve.o z_solve.o add.o solve_subs.o \
  45. error.o verify.o setup_mpi.o print_results.o timers.o $(ARCHIVE)
  46. $(PROGRAM): ${OBJS}
  47. ${CCOMPILE} ${CFLAGS} -o ${PROGRAM} ${OBJS}
  48. # use line below for gcc, which does not link libm by default
  49. # ${CCOMPILE} ${CFLAGS} -o ${PROGRAM} ${OBJS} -lm
  50. .c.o:
  51. ${CCOMPILE} -c $(CFLAGS) $<
  52. clean:
  53. - rm -f *.o *~ mputil*
  54. - rm -f npbparams.h core