1 | %.o: %.mod |
---|
2 | |
---|
3 | CBINDSRC=$(COUPLE)/lib/cbindings |
---|
4 | |
---|
5 | SRC_C = $(CBINDSRC)/c_src |
---|
6 | SRC_F = $(CBINDSRC)/fortran_isoc |
---|
7 | |
---|
8 | ifeq ($(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) |
---|
12 | else |
---|
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) |
---|
16 | endif |
---|
17 | |
---|
18 | default: libstatic |
---|
19 | |
---|
20 | OBJS_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 | |
---|
22 | OBJS_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 | |
---|
24 | header: $(SRC_C)/oasis_c.h |
---|
25 | @(cp -f $(SRC_C)/oasis_c.h $(ARCHDIR)/include) |
---|
26 | |
---|
27 | libstatic: header $(OBJS_F) $(OBJS_C) |
---|
28 | $(AR) $(ARFLAGS) $(ARCHDIR)/lib/liboasis.cbind.a $(OBJS_F) $(OBJS_C) |
---|
29 | |
---|
30 | libshared: 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 | |
---|
35 | mod_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 | |
---|
38 | mod_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 | |
---|
41 | mod_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 | |
---|
44 | mod_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 | |
---|
47 | mod_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 | |
---|
50 | mod_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 | |
---|
53 | mod_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 | |
---|
59 | mod_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 | |
---|
62 | mod_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 | |
---|
65 | mod_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 | |
---|
68 | mod_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 | |
---|
71 | mod_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 | |
---|
74 | mod_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 | |
---|
77 | mod_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 | |
---|
80 | cbindings.o: $(SRC_F)/cbindings.F90 |
---|
81 | $(F90) $(FFLAGS) -c $(SRC_F)/cbindings.F90 |
---|