Makefile 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. .NOTPARALLEL:
  2. # MACHINE AND COMPILER FLAGS
  3. include ../Makefile.conf
  4. VPATH = $(SRCDIR)/mpeu
  5. SHELL = /bin/sh
  6. INCPATH += $(INCFLAG). $(INCFLAG)../
  7. # SOURCE FILES
  8. MODULE = mpeu
  9. SRCS_F90 = m_IndexBin_char.F90 \
  10. m_IndexBin_integer.F90 \
  11. m_IndexBin_logical.F90 \
  12. m_List.F90 \
  13. m_MergeSorts.F90 \
  14. m_Filename.F90 \
  15. m_FcComms.F90 \
  16. m_Permuter.F90 \
  17. m_SortingTools.F90 \
  18. m_String.F90 \
  19. m_StrTemplate.F90 \
  20. m_chars.F90 \
  21. m_die.F90 \
  22. m_dropdead.F90 \
  23. m_FileResolv.F90 \
  24. m_flow.F90 \
  25. m_inpak90.F90 \
  26. m_ioutil.F90 \
  27. m_mall.F90 \
  28. m_mpif.F90 \
  29. m_mpif90.F90 \
  30. m_mpout.F90 \
  31. m_rankMerge.F90 \
  32. m_realkinds.F90 \
  33. m_stdio.F90 \
  34. m_TraceBack.F90 \
  35. m_zeit.F90
  36. SRCS_C = get_zeits.c
  37. OBJS_ALL = $(SRCS_C:.c=.o) \
  38. $(SRCS_F90:.F90=.o)
  39. # TARGETS
  40. all: lib$(MODULE).a
  41. lib$(MODULE).a: $(OBJS_ALL)
  42. $(RM) $@
  43. $(AR) $@ $(OBJS_ALL)
  44. # ADDITIONAL FLAGS SPECIFIC FOR MPEU COMPILATION
  45. MPEUFLAGS =
  46. # RULES
  47. .SUFFIXES:
  48. .SUFFIXES: .F90 .c .o
  49. .c.o:
  50. $(CC) -c $(CPPDEFS) $(CFLAGS) $(INCPATH) $<
  51. .F90.o:
  52. $(FC) -c $(INCPATH) $(FPPDEFS) $(FCFLAGS) $(MPEUFLAGS) $<
  53. clean:
  54. ${RM} *.o *.mod lib$(MODULE).a
  55. install: all
  56. $(MKINSTALLDIRS) $(libdir) $(includedir)
  57. $(INSTALL) lib$(MODULE).a -m 644 $(libdir)
  58. @for modfile in *.mod; do \
  59. echo $(INSTALL) $$modfile -m 644 $(includedir); \
  60. $(INSTALL) $$modfile -m 644 $(includedir); \
  61. done
  62. # DEPENDENCIES
  63. m_IndexBin_char.o: m_die.o m_stdio.o
  64. m_IndexBin_integer.o: m_die.o m_stdio.o
  65. m_IndexBin_logical.o: m_die.o m_stdio.o
  66. m_List.o: m_String.o m_die.o m_mall.o
  67. m_MergeSorts.o: m_die.o m_realkinds.o m_stdio.o
  68. m_Filename.o:
  69. m_Permuter.o: m_die.o m_realkinds.o
  70. m_SortingTools.o: m_IndexBin_char.o m_IndexBin_integer.o m_IndexBin_logical.o m_MergeSorts.o m_Permuter.o m_rankMerge.o
  71. m_String.o: m_die.o m_mall.o m_mpif90.o
  72. m_StrTemplate.o: m_chars.o m_die.o m_stdio.o
  73. m_chars.o:
  74. m_die.o: m_dropdead.o m_flow.o m_mpif90.o m_mpout.o m_stdio.o
  75. m_dropdead.o: m_mpif90.o m_stdio.o
  76. m_flow.o: m_chars.o
  77. m_inpak90.o: m_die.o m_ioutil.o m_mall.o m_mpif90.o m_realkinds.o m_stdio.o
  78. m_ioutil.o: m_stdio.o
  79. m_mall.o: m_chars.o m_die.o m_ioutil.o m_realkinds.o m_stdio.o
  80. m_mpif.o:
  81. m_mpif90.o: m_mpif.o m_realkinds.o m_stdio.o
  82. m_mpout.o: m_dropdead.o m_ioutil.o m_mpif90.o m_stdio.o
  83. m_rankMerge.o:
  84. m_realkinds.o:
  85. m_stdio.o:
  86. m_zeit.o: m_SortingTools.o m_die.o m_ioutil.o m_mpif90.o m_stdio.o get_zeits.o
  87. get_zeits.o:
  88. m_FileResolv.o: m_die.o m_StrTemplate.o
  89. m_TraceBack.o: m_die.o m_stdio.o m_String.o