source: CPL/oasis3-mct/branches/OASIS3-MCT_2.0_branch/lib/mct/mpi-serial/Makefile @ 4775

Last change on this file since 4775 was 4775, checked in by aclsce, 4 years ago
  • Imported oasis3-mct from Cerfacs svn server (not suppotred anymore).

The version has been extracted from https://oasis3mct.cerfacs.fr/svn/branches/OASIS3-MCT_2.0_branch/oasis3-mct@1818

File size: 2.2 KB
Line 
1SHELL           = /bin/sh
2###############################
3include ../Makefile.conf
4
5VPATH=$(SRCDIR)/mpi-serial
6# SOURCE FILES
7
8MODULE          = mpi-serial
9
10SRCS_F90        = fort.F90
11
12SRCS_C          = mpi.c \
13                  send.c \
14                  recv.c \
15                  collective.c \
16                  req.c \
17                  list.c \
18                  handles.c \
19                  comm.c \
20                  group.c \
21                  time.c \
22                  pack.c
23
24
25OBJS_ALL        = $(SRCS_C:.c=.o) \
26                  $(SRCS_F90:.F90=.o)
27
28
29INCPATH:= $(INCFLAG)$(SRCDIR)/mpi-serial $(INCFLAG). $(INCFLAG)../ $(INCPATH)
30
31#
32# The values used from Makefile.conf
33#
34
35# ALLCFLAGS= -DFORTRAN_UNDERSCORE_
36# ALLCFLAGS= -DFORTRAN_SAME
37# ALLCFLAGS= -DFORTRAN_CAPS
38
39# FC=pgf90
40# AR=ar rv
41# CC=cc
42
43
44###############################
45
46# TARGETS
47
48default: lib$(MODULE).a
49
50examples: ctest ftest
51
52
53MPIFH= mpif.$(FORT_SIZE).h
54
55
56mpif.h: $(MPIFH)
57        cp -f $< $@
58
59fort.o: mpif.h
60
61lib:
62        @if [ ! "$(FORT_SIZE)" ] ; \
63           then echo "Please set FORT_SIZE (e.g. real4double8 or real8double16) when you do the main MCT configure"; \
64                exit 1; fi
65        @if [ ! -r $(MPIFH) ] ; \
66           then echo "Error: there is no $(MPIFH) -" \
67                      "check the value of FORT_SIZE in the main MCT configure" ; \
68                exit 1; fi
69        cp -f $(MPIFH) mpif.h
70        chmod -w mpif.h
71        $(MAKE) $(LIB)
72
73
74
75lib$(MODULE).a: $(OBJS_ALL)
76        echo $(OBJS_ALL)
77        $(RM) $@
78        $(AR) $@ $(OBJS_ALL)
79
80
81LIB     = lib$(MODULE).a
82
83
84###############################
85#RULES
86
87.SUFFIXES:
88.SUFFIXES: .F90 .c .o
89
90.c.o:
91        $(CC) -c $(INCPATH) $(CFLAGS) $<
92
93.F90.o:
94        $(FC) -c $(INCFLAG). $(INCPATH) $(FPPDEFS) $(FCFLAGS) $(MPEUFLAGS) $<
95
96MYF90FLAGS=$(INCPATH) $(DEFS) $(FCFLAGS)  $(MPEUFLAGS)
97
98clean:
99        /bin/rm -f *.o ctest ftest $(LIB) mpif.h
100
101
102install: lib
103        $(MKINSTALLDIRS) $(libdir) $(includedir)
104        $(INSTALL) lib$(MODULE).a -m 644 $(libdir)
105        $(INSTALL) mpi.h -m 644 $(includedir)
106        $(INSTALL) mpif.h -m 644 $(includedir)
107
108
109
110###############################
111#
112# Create mpif.realXdoubleY.h filesfrom mpif.master.h template
113#
114
115mpif:
116        make-mpif 4 8
117        make-mpif 8 8
118        make-mpif 8 16
119
120
121###############################
122
123#
124# test programs
125#
126
127
128ctest: lib ctest.c
129        $(CC) $(ALLCFLAGS) -o $@ ctest.c -L. -lmpi-serial
130
131ftest: lib ftest.F90
132        $(FC) $(MYF90FLAGS) -o $@ ftest.F90 -L. -lmpi-serial
133
Note: See TracBrowser for help on using the repository browser.