Makefile
上传用户:goto8899
上传日期:2014-01-20
资源大小:303k
文件大小:3k
源码类别:

并行计算

开发平台:

MultiPlatform

  1. ############################################################
  2. ##   Compilation du code TYPHON
  3. all: seq mpi
  4. ####### Compiler, tools and options
  5. SYS = $(shell Util/test-systeme)
  6. include defvar.make.$(SYS)
  7. include defprj.make
  8. # Option compilation (cf defvar.make)
  9. FF   = $(FB) $(FO)
  10. # Pr閏ision
  11. #PREC = SP    # Choix de la double pr閏ision (SP ou DP)
  12. ####### Files and Lists
  13. MAKEFILE= Makefile
  14. PRGNAME = Typhon
  15. EXTLIBS   = $(CGNSLIB) $(LAPACKLIBS)
  16. include librairies.make
  17. LIB1 = libt_main.a   
  18.        libt_xio.a    
  19.        libt_cgns.a   
  20.        libt_zone.a 
  21. LIB2 = libt_param.a  
  22.        libt_vortex.a 
  23.        libt_eqns.a   
  24.        libt_eqkdif.a 
  25.        libt_mgrid.a  
  26.        libt_mesh.a   
  27.        libt_pio.a    
  28.        libt_math.a   
  29.        libt_modcom.a 
  30. LIBSEQ = $(LIB1) libt_exchseq.a $(LIB2)
  31. LIBMPI = $(LIB1) libt_exchmpi.a $(LIB2)
  32. D_LIBSEQ = $(LIBSEQ:%=$(PRJLIB)/%)
  33. D_LIBMPI = $(LIBMPI:%=$(PRJLIB)/%)
  34. VPATH = CGNS:EQNS:EQKDIF:EXCHANGE:MAIN:MGRID:MESH:MODCOM:MATH:PARAM:PIO:VORTEX:XIO:ZONE
  35. ####### Build libraries
  36. include   MODCOM/source-depend.make 
  37. include     MATH/source-depend.make 
  38. include      PIO/source-depend.make
  39. include     MESH/source-depend.make
  40. include    MGRID/source-depend.make
  41. include     EQNS/source-depend.make
  42. include   EQKDIF/source-depend.make
  43. include EXCHANGE/source-depend.make
  44. include   VORTEX/source-depend.make
  45. include    PARAM/source-depend.make
  46. include     ZONE/source-depend.make
  47. include     CGNS/source-depend.make
  48. include      XIO/source-depend.make
  49. include     MAIN/source-depend.make 
  50. ####### Build main
  51. MAIN = Obj/main.o # d閜endances dans MAIN/depends.make
  52. ####### Build rules
  53. seq: $(PRGNAME)-seq
  54. mpi: $(PRGNAME)-mpi
  55. $(PRGNAME)-seq : $(MAIN) $(D_LIBSEQ) $(MAKEFILE)
  56. @echo ---------------------------------------------------------------
  57. @echo EDITION DE LIEN DE $(PRGNAME)-seq ---
  58. @echo Librairies externes : $(EXTLIBS)
  59. @echo Librairies TYPHON   : $(LIBSEQ)
  60. @$(LINKER) $(LINKFB) $(MAIN) $(D_LIBSEQ) $(EXTLIBS) -o $(PRGNAME)-seq
  61. @echo --- Cr閍tion de $(PRGNAME)-seq termin閑 ---
  62. $(PRGNAME)-mpi : $(MAIN) $(D_LIBMPI) $(MAKEFILE)
  63. @echo ---------------------------------------------------------------
  64. @echo EDITION DE LIEN DE $(PRGNAME)-mpi ---
  65. @echo Librairies externes : $(EXTLIBS) $(MPILIB)
  66. @echo Librairies TYPHON   : $(LIBMPI)
  67. @$(LINKER) $(LINKFB) $(MAIN) $(D_LIBMPI) $(EXTLIBS) $(MPILIB) -o $(PRGNAME)-mpi
  68. @echo --- Cr閍tion de $(PRGNAME)-mpi termin閑 ---
  69. clean:
  70. -rm $(PRGNAME)-seq $(PRGNAME)-mpi 
  71. -rm $(OBJECTS) 
  72. -rm $(D_LIBMPI) $(D_LIBSEQ) 
  73. -rm $(PRJINC)/*.$(MOD)
  74. -rm *.$(MOD)
  75. ####### Dependencies
  76. $(PRGNAME)-seq: $(MAKEFILE) 
  77. $(PRGNAME)-mpi: $(MAKEFILE) 
  78. # Dependances de modules