Makefile.tmpl 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #adapted from runoff-mapper Makefile template
  2. FC = [[[PLT:ACTIVE:FC]]]
  3. FFLAGS = [[[PLT:ACTIVE:FFLAGS]]]
  4. LD = [[[PLT:ACTIVE:LD]]]
  5. LDFLAGS = [[[PLT:ACTIVE:LDFLAGS]]]
  6. OASIS_BASE_DIR = [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3-mct/ecconf
  7. OASIS_MOD_DIR = $(OASIS_BASE_DIR)/build/lib/psmile.MPI1
  8. OASIS_INC_DIR = $(OASIS_BASE_DIR)/lib/psmile/include
  9. OASIS_LIB_DIR = $(OASIS_BASE_DIR)/lib
  10. OASIS_LIBS = -lpsmile.MPI1 -lmct -lmpeu -lscrip
  11. MPI_BASE_DIR := [[[PLT:ACTIVE:MPI_BASE_DIR]]]
  12. ifneq ($(strip $(MPI_BASE_DIR)),)
  13. MPI_INC_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_INC_SUBDIR]]])
  14. MPI_LIB_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]])
  15. endif
  16. MPI_LIBS := [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]]
  17. ifneq ($(strip [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]),)
  18. NETCDF_LIB_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]
  19. NETCDF_INC_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]]
  20. endif
  21. NETCDF_LIBS := [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]]
  22. # add any new lpjg_forcing_xxx here, currently only IFS forcing implemented
  23. lpjg_forcing: lpjg_forcing_ifs
  24. lpjg_forcing_ifs: lpjg_forcing_ifs.o
  25. $(LD) $(LDFLAGS) -o $@ $^ -L$(OASIS_LIB_DIR) $(OASIS_LIBS) \
  26. $(addprefix -L,$(NETCDF_LIB_DIR)) $(addprefix -l,$(NETCDF_LIBS)) \
  27. $(addprefix -L,$(MPI_LIB_DIR)) $(addprefix -l,$(MPI_LIBS))
  28. %.o: %.F90
  29. $(FC) $(FFLAGS) -c -I$(OASIS_MOD_DIR) $(addprefix -I,$(NETCDF_INC_DIR)) $(addprefix -I,$(MPI_INC_DIR)) $<
  30. .PHONY: clean
  31. clean:
  32. @rm -f *.o *.mod