source: CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/oasis3-mct/lib/cbindings/Makefile @ 5725

Last change on this file since 5725 was 5725, checked in by aclsce, 3 years ago

Added new oasis3-MCT version to be used to handle ensembles simulations with XIOS.

File size: 3.2 KB
Line 
1%.o: %.mod
2
3CBINDSRC=$(COUPLE)/lib/cbindings
4
5SRC_C = $(CBINDSRC)/c_src
6SRC_F = $(CBINDSRC)/fortran_isoc
7
8ifeq ($(MAKECMDGOALS),libshared)
9  FFLAGS = $(F90FLAGS) $(DYNOPT) -I$(LIBBUILDSHARED)/mct -I$(LIBBUILDSHARED)/psmile.$(CHAN)
10  CFLAGS = $(CCFLAGS) $(DYNOPT) -I$(SRC_C)
11  LFLAGS = $(LDFLAGS) $(DYNOPT) $(LDDYNOPT) -L$(ARCHDIR)/lib $(NETCDF_LIBRARY)
12else
13  FFLAGS = $(F90FLAGS) -I$(LIBBUILD)/mct -I$(LIBBUILD)/psmile.$(CHAN)
14  CFLAGS = $(CCFLAGS) -I$(SRC_C)
15  LFLAGS = $(LDFLAGS) $(LDOPT) -L$(ARCHDIR)/lib $(NETCDF_LIBRARY)
16endif
17
18default: libstatic
19
20OBJS_F = cbindings.o mod_oasis_auxiliary_routines_iso.o mod_oasis_getput_interface_iso.o mod_oasis_method_iso.o mod_oasis_part_iso.o mod_oasis_sys_iso.o mod_oasis_var_iso.o mod_oasis_grid_iso.o
21
22OBJS_C = mod_oasis_auxiliary_routines_c.o mod_oasis_getput_interface_c.o mod_oasis_method_c.o mod_oasis_part_c.o mod_oasis_sys_c.o mod_oasis_var_c.o mod_oasis_grid_c.o
23
24header: $(SRC_C)/oasis_c.h
25        @(cp -f $(SRC_C)/oasis_c.h $(ARCHDIR)/include)
26
27libstatic: header $(OBJS_F) $(OBJS_C)
28        $(AR) $(ARFLAGS) $(ARCHDIR)/lib/liboasis.cbind.a $(OBJS_F) $(OBJS_C)
29
30libshared: header $(OBJS_F) $(OBJS_C)
31        $(F90) $(LFLAGS) $(OBJS_F) $(OBJS_C) -lpsmile.$(CHAN) -lscrip -lmct -lmpeu -o $(ARCHDIR)/lib/liboasis.cbind.so
32
33# C
34
35mod_oasis_part_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_part_c.c $(OBJS_F)
36        $(CC) $(CFLAGS) -c $(SRC_C)/mod_oasis_part_c.c
37
38mod_oasis_var_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_var_c.c $(OBJS_F)
39        $(CC) $(CFLAGS) -c $(SRC_C)/mod_oasis_var_c.c
40
41mod_oasis_getput_interface_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_getput_interface_c.c $(OBJS_F)
42        $(CC) $(CFLAGS) -c $(SRC_C)/mod_oasis_getput_interface_c.c
43
44mod_oasis_auxiliary_routines_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_auxiliary_routines_c.c $(OBJS_F)
45        $(CC) $(CFLAGS) -c  $(SRC_C)/mod_oasis_auxiliary_routines_c.c
46
47mod_oasis_sys_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_sys_c.c $(OBJS_F)
48        $(CC) $(CFLAGS) -c  $(SRC_C)/mod_oasis_sys_c.c
49
50mod_oasis_method_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_method_c.c $(OBJS_F)
51        $(CC) $(CFLAGS) -c  $(SRC_C)/mod_oasis_method_c.c
52
53mod_oasis_grid_c.o: $(SRC_C)/oasis_c.h $(SRC_C)/mod_oasis_grid_c.c $(OBJS_F)
54        $(CC) $(CFLAGS) -c  $(SRC_C)/mod_oasis_grid_c.c
55
56
57# ISO C Fortran
58
59mod_oasis_getput_interface_iso.o: $(SRC_F)/mod_oasis_getput_interface_iso.F90 cbindings.o
60        $(F90) $(FFLAGS) -c $(SRC_F)/mod_oasis_getput_interface_iso.F90
61
62mod_oasis_var_iso.o: $(SRC_F)/mod_oasis_var_iso.F90 cbindings.o
63        $(F90) $(FFLAGS) -c  $(SRC_F)/mod_oasis_var_iso.F90
64
65mod_oasis_part_iso.o: $(SRC_F)/mod_oasis_part_iso.F90 cbindings.o
66        $(F90) $(FFLAGS) -c  $(SRC_F)/mod_oasis_part_iso.F90
67
68mod_oasis_auxiliary_routines_iso.o: $(SRC_F)/mod_oasis_auxiliary_routines_iso.F90 cbindings.o
69        $(F90) $(FFLAGS) -c  $(SRC_F)/mod_oasis_auxiliary_routines_iso.F90
70
71mod_oasis_sys_iso.o: $(SRC_F)/mod_oasis_sys_iso.F90 cbindings.o
72        $(F90) $(FFLAGS) -c  $(SRC_F)/mod_oasis_sys_iso.F90
73
74mod_oasis_method_iso.o: $(SRC_F)/mod_oasis_method_iso.F90 cbindings.o
75        $(F90) $(FFLAGS) -c $(SRC_F)/mod_oasis_method_iso.F90
76
77mod_oasis_grid_iso.o: $(SRC_F)/mod_oasis_grid_iso.F90 cbindings.o
78        $(F90) $(FFLAGS) -c $(SRC_F)/mod_oasis_grid_iso.F90
79
80cbindings.o: $(SRC_F)/cbindings.F90
81        $(F90) $(FFLAGS) -c $(SRC_F)/cbindings.F90
Note: See TracBrowser for help on using the repository browser.