File: Makefile

package info (click to toggle)
oasis3 3.mct%2Bdfsg.121022-13
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 61,660 kB
  • sloc: f90: 40,319; fortran: 5,859; ansic: 2,780; sh: 728; makefile: 702; perl: 552; xml: 278; awk: 25; csh: 7
file content (146 lines) | stat: -rwxr-xr-x 7,162 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

SRCS1	= $(shell LC_ALL=C ls $(COUPLE)/lib/psmile/src/*.F90)
OBJS1	= $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o, $(SRCS1))
PIC_OBJS1	= $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o.pic, $(SRCS1))

VPATH 	= .:$(COUPLE)/lib/psmile/src:\
	     $(COUPLE)/lib/psmile/include:\
	     $(NETCDF_INCLUDE):$(MPI_INCLUDE)

LIBRARY = $(ARCHDIR)/lib/libpsmile.${CHAN}.a
SHLIB   = $(ARCHDIR)/lib/libpsmile.${CHAN}.so
SONAME  = libpsmile.so.0d
LDSHARED = ld -shared $(LDFLAGS)

clean:
	rm -f i.* *.o *.mod *.o.pic

all: $(LIBRARY) $(SHLIB)

$(LIBRARY): $(OBJS1) 
	$(AR) $(ARFLAGS) $(LIBRARY) $(OBJS1) 

$(SHLIB): $(PIC_OBJS1)
	$(LDSHARED) -o $(SHLIB)  $(PIC_OBJS1) --soname $(SONAME) -lc

INCLS = -I$(COUPLE)/lib/psmile/include \
        -I$(ARCHDIR)/build/lib/mct \
        -I$(ARCHDIR)/build/lib/scrip \
        -I$(ARCHDIR)/build/lib/pio

INCLSC = -I$(COUPLE)/lib/psmile/include

.SUFFIXES:
.SUFFIXES: .o .F90 .c .o.pic

%.o.pic:  %.F90
	$(F90) $(F90FLAGS) $(INCLS) -fPIC -o $@ -c $<

%.o: %.F90
	$(F90) $(F90FLAGS) $(INCLS)  -c   $<

%.o: %.c
	$(CC) $(CCFLAGS) $(INCLSC) -c   $<

%.o.pic: %.c
	$(CC) $(CCFLAGS) $(INCLSC) -c  -o $@ -fPIC  $<

mod_psmile_io.o: mod_psmile_io.F90
	$(F90) $(F90FLAGS) $(INCLS)  -c   $<

mod_psmile_io.o.pic: mod_psmile_io.F90
	$(F90) $(F90FLAGS) -fPIC $(INCLS) -o $@ -c   $<

#
# ALL dependencies ...
#

mod_oasis_kinds.o: 
mod_oasis_parameters.o: mod_oasis_kinds.o
mod_oasis_data.o: mod_oasis_kinds.o 
mod_oasis_sys.o: mod_oasis_kinds.o mod_oasis_data.o
mod_oasis_mpi.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o
mod_oasis_timer.o: mod_oasis_kinds.o mod_oasis_sys.o mod_oasis_mpi.o mod_oasis_data.o
mod_oasis_string.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o
mod_oasis_namcouple.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_mpi.o mod_oasis_string.o
mod_oasis_var.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o
mod_oasis_part.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_timer.o
mod_oasis_ioshr.o:  mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_mpi.o mod_oasis_string.o
mod_oasis_io.o:  mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_ioshr.o mod_oasis_mpi.o
mod_oasis_grid.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_io.o
mod_oasis_coupler.o: mod_oasis_kinds.o  mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_mpi.o mod_oasis_var.o mod_oasis_part.o  \
        mod_oasis_string.o mod_oasis_namcouple.o mod_oasis_timer.o mod_oasis_io.o
mod_oasis_advance.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_part.o mod_oasis_mpi.o \
        mod_oasis_coupler.o mod_oasis_timer.o mod_oasis_io.o
mod_oasis_method.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_coupler.o mod_oasis_namcouple.o \
        mod_oasis_timer.o mod_oasis_ioshr.o mod_oasis_advance.o mod_oasis_grid.o \
        mod_oasis_mpi.o
mod_oasis_getput_interface.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_advance.o 
mod_oasis_auxiliary_routines.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_mpi.o \
        mod_oasis_coupler.o mod_oasis_timer.o mod_oasis_io.o
mod_prism.o: mod_oasis_kinds.o mod_oasis_part.o mod_oasis_sys.o \
	mod_oasis_getput_interface.o mod_oasis_parameters.o \
	mod_oasis_grid.o mod_oasis_method.o mod_oasis_var.o \
	mod_oasis_namcouple.o mod_oasis_auxiliary_routines.o
mod_oasis.o: mod_oasis_kinds.o mod_oasis_part.o mod_oasis_sys.o \
	mod_oasis_getput_interface.o mod_oasis_parameters.o \
	mod_oasis_grid.o mod_oasis_method.o mod_oasis_var.o \
	mod_oasis_namcouple.o mod_oasis_auxiliary_routines.o
#
mod_oasis_kinds.o.pic: 
mod_oasis_parameters.o.pic: mod_oasis_kinds.o.pic
mod_oasis_data.o.pic: mod_oasis_kinds.o.pic 
mod_oasis_sys.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic
mod_oasis_mpi.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic
mod_oasis_timer.o.pic: mod_oasis_kinds.o.pic mod_oasis_sys.o.pic mod_oasis_mpi.o.pic mod_oasis_data.o.pic
mod_oasis_string.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic
mod_oasis_namcouple.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_mpi.o.pic mod_oasis_string.o.pic
mod_oasis_var.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic
mod_oasis_part.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_timer.o.pic
mod_oasis_ioshr.o.pic:  mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_mpi.o.pic mod_oasis_string.o.pic
mod_oasis_io.o.pic:  mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_ioshr.o.pic mod_oasis_mpi.o.pic
mod_oasis_grid.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_io.o.pic
mod_oasis_coupler.o.pic: mod_oasis_kinds.o.pic  mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_mpi.o.pic mod_oasis_var.o.pic mod_oasis_part.o.pic  \
        mod_oasis_string.o.pic mod_oasis_namcouple.o.pic mod_oasis_timer.o.pic mod_oasis_io.o.pic
mod_oasis_advance.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_var.o.pic mod_oasis_part.o.pic mod_oasis_mpi.o.pic \
        mod_oasis_coupler.o.pic mod_oasis_timer.o.pic mod_oasis_io.o.pic
mod_oasis_method.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_coupler.o.pic mod_oasis_namcouple.o.pic \
        mod_oasis_timer.o.pic mod_oasis_ioshr.o.pic mod_oasis_advance.o.pic mod_oasis_grid.o.pic \
        mod_oasis_mpi.o.pic
mod_oasis_getput_interface.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_var.o.pic mod_oasis_advance.o.pic 
mod_oasis_auxiliary_routines.o.pic: mod_oasis_kinds.o.pic mod_oasis_data.o.pic mod_oasis_sys.o.pic \
        mod_oasis_parameters.o.pic mod_oasis_var.o.pic mod_oasis_mpi.o.pic \
        mod_oasis_coupler.o.pic mod_oasis_timer.o.pic mod_oasis_io.o.pic
mod_prism.o.pic: mod_oasis_kinds.o.pic mod_oasis_part.o.pic mod_oasis_sys.o.pic \
	mod_oasis_getput_interface.o.pic mod_oasis_parameters.o.pic \
	mod_oasis_grid.o.pic mod_oasis_method.o.pic mod_oasis_var.o.pic \
	mod_oasis_namcouple.o.pic mod_oasis_auxiliary_routines.o.pic
mod_oasis.o.pic: mod_oasis_kinds.o.pic mod_oasis_part.o.pic mod_oasis_sys.o.pic \
	mod_oasis_getput_interface.o.pic mod_oasis_parameters.o.pic \
	mod_oasis_grid.o.pic mod_oasis_method.o.pic mod_oasis_var.o.pic \
	mod_oasis_namcouple.o.pic mod_oasis_auxiliary_routines.o.pic

#