source: CPL/oasis3-mct/branches/OASIS3-MCT_5.0_branch/lib/psmile/src/Makefile @ 6331

Last change on this file since 6331 was 6331, checked in by aclsce, 17 months ago

Moved oasis-mct_5.0 in oasis3-mct/branches directory.

  • Property svn:executable set to *
File size: 5.3 KB
Line 
1
2SRCS1   = $(shell ls $(COUPLE)/lib/psmile/src/*.F90)
3OBJS0   = $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o, $(SRCS1))
4OBJS1   = $(OBJS0) GPTLget_memusage.o shr_reprosumx86.o
5
6VPATH   = .:$(COUPLE)/lib/psmile/src:\
7             $(COUPLE)/lib/psmile/include:\
8             $(NETCDF_INCLUDE):$(MPI_INCLUDE)
9
10LIBRARY = $(ARCHDIR)/lib/libpsmile.${CHAN}.a
11
12DYNLIBRARY = $(ARCHDIR)/lib/libpsmile.${CHAN}.so
13
14clean:
15        rm -f i.* *.o *.mod
16
17all:    $(LIBRARY)
18
19shared: $(DYNLIBRARY)
20
21$(LIBRARY): PREBUILTDIR := $(LIBBUILD)
22$(LIBRARY): $(OBJS1) 
23        $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS1) 
24
25$(DYNLIBRARY): PREBUILTDIR := $(LIBBUILDSHARED)
26$(DYNLIBRARY): F90FLAGS += $(DYNOPT)
27$(DYNLIBRARY): CCFLAGS += $(DYNOPT)
28$(DYNLIBRARY): LDFLAGS += $(DYNOPT) $(LDDYNOPT)
29$(DYNLIBRARY): $(OBJS1)  $(OBJS3) $(OBJS4)
30        $(F90) $(LDFLAGS) -o $(DYNLIBRARY) $(OBJS1) $(OBJS3) $(OBJS4) $(NETCDF_LIBRARY) -L$(ARCHDIR)/lib -lscrip -lmct -lmpeu
31
32INCLS = -I$(COUPLE)/lib/psmile/include \
33        -I$(PREBUILTDIR)/mct \
34        -I$(PREBUILTDIR)/scrip
35
36INCLSC = -I$(COUPLE)/lib/psmile/include
37.SUFFIXES:
38.SUFFIXES: .o .F90 .c
39
40%.o: %.F90
41        $(F90) $(F90FLAGS) $(INCLS)  -c   $<
42
43%.o: %.c
44        $(CC) $(CCFLAGS) $(INCLSC) -c   $<
45
46GPTLget_memusage.o: GPTLget_memusage.c
47        $(CC) $(CCFLAGS) -DHAVE_SLASHPROC -c   $<
48
49shr_reprosumx86.o: shr_reprosumx86.c
50        $(CC) $(CCFLAGS) -c   $<
51
52mod_psmile_io.o: mod_psmile_io.F90
53        $(F90) $(F90FLAGS) $(INCLS)  -c   $<
54
55# problem is that mct_mod always has a new timestamp even when it shouldn't
56# so just copy the file, but don't create a dependency for now.
57# need to add a check whether mct_mod.o has changed and only copy if it has.
58#mct_mod.o: $(ARCHDIR)/build/lib/mct/mct_mod.o
59#       cp -p $(ARCHDIR)/build/lib/mct/mct_mod.o .
60mct_mod.o:
61        cp -p $(PREBUILTDIR)/mct/mct_mod.o .
62
63#
64# ALL dependencies ...
65#
66
67shr_reprosumx86.o:
68GPTLget_memusage.o:
69mod_oasis_kinds.o:
70mod_oasis_parameters.o: mod_oasis_kinds.o
71mod_oasis_data.o: mod_oasis_kinds.o
72mod_oasis_sys.o: mod_oasis_kinds.o mod_oasis_data.o
73mod_oasis_mem.o: mod_oasis_kinds.o GPTLget_memusage.o mod_oasis_sys.o
74mod_oasis_timer.o: mod_oasis_kinds.o mod_oasis_sys.o mod_oasis_data.o
75mod_oasis_load_balancing.o: mod_oasis_kinds.o mod_oasis_sys.o mod_oasis_data.o
76mod_oasis_mpi.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o mod_oasis_timer.o
77mod_oasis_reprosum.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
78        mod_oasis_timer.o shr_reprosumx86.o mod_oasis_mpi.o
79mod_oasis_string.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
80        mod_oasis_parameters.o
81mod_oasis_namcouple.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
82        mod_oasis_parameters.o mod_oasis_mpi.o mod_oasis_string.o
83mod_oasis_part.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
84        mod_oasis_parameters.o mod_oasis_timer.o mod_oasis_mpi.o mct_mod.o \
85        mod_oasis_load_balancing.o mod_oasis_io.o
86mod_oasis_var.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
87        mod_oasis_parameters.o mod_oasis_timer.o mod_oasis_mpi.o mod_oasis_part.o
88mod_oasis_ioshr.o:  mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
89        mod_oasis_mpi.o mod_oasis_string.o mct_mod.o
90mod_oasis_io.o:  mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
91        mod_oasis_parameters.o mod_oasis_ioshr.o mod_oasis_mpi.o mct_mod.o
92mod_oasis_grid.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
93        mod_oasis_io.o mod_oasis_part.o mod_oasis_mpi.o mod_oasis_timer.o mct_mod.o
94mod_oasis_map.o: mod_oasis_kinds.o  mod_oasis_data.o mod_oasis_sys.o \
95        mod_oasis_parameters.o mod_oasis_mpi.o mod_oasis_var.o mod_oasis_part.o  \
96        mod_oasis_string.o mod_oasis_namcouple.o mod_oasis_timer.o mod_oasis_io.o  mct_mod.o
97mod_oasis_coupler.o: mod_oasis_kinds.o  mod_oasis_data.o mod_oasis_sys.o \
98        mod_oasis_map.o mod_oasis_parameters.o mod_oasis_mpi.o mod_oasis_var.o mod_oasis_part.o  \
99        mod_oasis_string.o mod_oasis_namcouple.o mod_oasis_timer.o mod_oasis_io.o \
100        mod_oasis_mem.o mct_mod.o mod_oasis_load_balancing.o
101mod_oasis_advance.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
102        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_part.o mod_oasis_mpi.o \
103        mod_oasis_coupler.o mod_oasis_timer.o mod_oasis_io.o mod_oasis_mem.o mct_mod.o \
104        mod_oasis_map.o mod_oasis_reprosum.o mod_oasis_load_balancing.o
105mod_oasis_method.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
106        mod_oasis_parameters.o mod_oasis_coupler.o mod_oasis_namcouple.o \
107        mod_oasis_timer.o mod_oasis_ioshr.o mod_oasis_advance.o mod_oasis_grid.o \
108        mod_oasis_mpi.o mod_oasis_part.o mod_oasis_var.o mod_oasis_mem.o mct_mod.o \
109        mod_oasis_load_balancing.o
110mod_oasis_getput_interface.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
111        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_advance.o mct_mod.o
112mod_oasis_auxiliary_routines.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \
113        mod_oasis_parameters.o mod_oasis_var.o mod_oasis_mpi.o \
114        mod_oasis_coupler.o mod_oasis_timer.o mod_oasis_io.o mct_mod.o
115mod_prism.o: mod_oasis_kinds.o mod_oasis_part.o mod_oasis_sys.o \
116        mod_oasis_getput_interface.o mod_oasis_parameters.o \
117        mod_oasis_grid.o mod_oasis_method.o mod_oasis_var.o
118mod_oasis.o: mod_oasis_kinds.o mod_oasis_part.o mod_oasis_sys.o \
119        mod_oasis_getput_interface.o mod_oasis_parameters.o mod_oasis_auxiliary_routines.o \
120        mod_oasis_grid.o mod_oasis_method.o mod_oasis_var.o
121
Note: See TracBrowser for help on using the repository browser.