include /ccc/cont003/dsku/perle2/home/app/gencmip6/p86caub/IPSLCM6.5_work_ENSEMBLES/oasis3-mct/util/make_dir/make.inc include /ccc/cont003/dsku/perle2/home/app/gencmip6/p86caub/IPSLCM6.5_work_ENSEMBLES/oasis3-mct/util/make_dir/make.common SRCS1 = $(shell ls $(COUPLE)/lib/psmile/src/*.F90) OBJS0 = $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o, $(SRCS1)) OBJS1 = $(OBJS0) GPTLget_memusage.o shr_reprosumx86.o VPATH = .:$(COUPLE)/lib/psmile/src:\ $(COUPLE)/lib/psmile/include:\ $(NETCDF_INCLUDE):$(MPI_INCLUDE) LIBRARY = $(ARCHDIR)/lib/libpsmile.${CHAN}.a DYNLIBRARY = $(ARCHDIR)/lib/libpsmile.${CHAN}.so clean: rm -f i.* *.o *.mod all: $(LIBRARY) shared: $(DYNLIBRARY) $(LIBRARY): PREBUILTDIR := $(LIBBUILD) $(LIBRARY): $(OBJS1) $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS1) $(DYNLIBRARY): PREBUILTDIR := $(LIBBUILDSHARED) $(DYNLIBRARY): F90FLAGS += $(DYNOPT) $(DYNLIBRARY): CCFLAGS += $(DYNOPT) $(DYNLIBRARY): LDFLAGS += $(DYNOPT) $(LDDYNOPT) $(DYNLIBRARY): $(OBJS1) $(OBJS3) $(OBJS4) $(F90) $(LDFLAGS) -o $(DYNLIBRARY) $(OBJS1) $(OBJS3) $(OBJS4) $(NETCDF_LIBRARY) -L$(ARCHDIR)/lib -lscrip -lmct -lmpeu INCLS = -I$(COUPLE)/lib/psmile/include \ -I$(PREBUILTDIR)/mct \ -I$(PREBUILTDIR)/scrip INCLSC = -I$(COUPLE)/lib/psmile/include .SUFFIXES: .SUFFIXES: .o .F90 .c %.o: %.F90 $(F90) $(F90FLAGS) $(INCLS) -c $< %.o: %.c $(CC) $(CCFLAGS) $(INCLSC) -c $< GPTLget_memusage.o: GPTLget_memusage.c $(CC) $(CCFLAGS) -DHAVE_SLASHPROC -c $< shr_reprosumx86.o: shr_reprosumx86.c $(CC) $(CCFLAGS) -c $< mod_psmile_io.o: mod_psmile_io.F90 $(F90) $(F90FLAGS) $(INCLS) -c $< # problem is that mct_mod always has a new timestamp even when it shouldn't # so just copy the file, but don't create a dependency for now. # need to add a check whether mct_mod.o has changed and only copy if it has. #mct_mod.o: $(ARCHDIR)/build/lib/mct/mct_mod.o # cp -p $(ARCHDIR)/build/lib/mct/mct_mod.o . mct_mod.o: cp -p $(PREBUILTDIR)/mct/mct_mod.o . # # ALL dependencies ... # shr_reprosumx86.o: GPTLget_memusage.o: 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_mem.o: mod_oasis_kinds.o GPTLget_memusage.o mod_oasis_sys.o mod_oasis_timer.o: mod_oasis_kinds.o mod_oasis_sys.o mod_oasis_data.o mod_oasis_load_balancing.o: mod_oasis_kinds.o mod_oasis_sys.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_reprosum.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \ mod_oasis_timer.o shr_reprosumx86.o mod_oasis_mpi.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_part.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \ mod_oasis_parameters.o mod_oasis_timer.o mod_oasis_mpi.o mct_mod.o \ mod_oasis_load_balancing.o mod_oasis_var.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \ mod_oasis_parameters.o mod_oasis_timer.o mod_oasis_mpi.o mod_oasis_part.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 mct_mod.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 mct_mod.o mod_oasis_grid.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \ mod_oasis_io.o mod_oasis_part.o mod_oasis_mpi.o mod_oasis_timer.o mct_mod.o mod_oasis_map.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 mct_mod.o mod_oasis_coupler.o: mod_oasis_kinds.o mod_oasis_data.o mod_oasis_sys.o \ mod_oasis_map.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_mem.o mct_mod.o mod_oasis_load_balancing.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_mem.o mct_mod.o \ mod_oasis_map.o mod_oasis_reprosum.o mod_oasis_load_balancing.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_part.o mod_oasis_var.o mod_oasis_mem.o mct_mod.o \ mod_oasis_load_balancing.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 mct_mod.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 mct_mod.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.o: mod_oasis_kinds.o mod_oasis_part.o mod_oasis_sys.o \ mod_oasis_getput_interface.o mod_oasis_parameters.o mod_oasis_auxiliary_routines.o \ mod_oasis_grid.o mod_oasis_method.o mod_oasis_var.o