
TOPDIR=../..
SUBDIR=other

FFLAGS_ARCH_aer_clim_prof                 = $(FFLAGS_ARCH)
FFLAGS_ARCH_rttov_calc_weighting_fn       = $(FFLAGS_ARCH)
FFLAGS_ARCH_rttov_print_info              = $(FFLAGS_ARCH)
FFLAGS_ARCH_rttov_print_opts              = $(FFLAGS_ARCH)
FFLAGS_ARCH_rttov_print_profile           = $(FFLAGS_ARCH)
FFLAGS_ARCH_rttov_zutility                = $(FFLAGS_ARCH)

F90_INTF=rttov_calc_weighting_fn.F90 rttov_print_info.F90 rttov_print_opts.F90 rttov_print_profile.F90

INTF=$(INCDIR)/rttov_calc_weighting_fn.interface $(INCDIR)/rttov_print_info.interface $(INCDIR)/rttov_print_opts.interface $(INCDIR)/rttov_print_profile.interface

LIB=$(LIBDIR)/librttov$(RTTOV_VERSION)_$(SUBDIR)$(EXT_LIB)

OBJSUB=$(OBJDIR)/rttov_calc_weighting_fn$(EXT_OBJ) $(OBJDIR)/rttov_print_info$(EXT_OBJ) $(OBJDIR)/rttov_print_opts$(EXT_OBJ) $(OBJDIR)/rttov_print_profile$(EXT_OBJ) 

OBJMOD=$(OBJDIR)/rttov_zutility$(EXT_OBJ)

OBJBIN=$(OBJDIR)/aer_clim_prof$(EXT_OBJ)

LIBS=$(LIBDIR)/librttov$(RTTOV_VERSION)_other$(EXT_LIB) $(LIBDIR)/librttov$(RTTOV_VERSION)_main$(EXT_LIB)

BINS=$(BINDIR)/aer_clim_prof$(EXT_BIN)

MODS=$(MODDIR)/rttov_zutility$(EXT_MOD)

include $(TOPDIR)/build/Makefile.inc

lib: dir intf $(LIB)

bin: lib $(BINS)

dir: 
	@mkdir -p $(TMPDIR)/$(SUBDIR) $(BINDIR) $(OBJDIR) $(INCDIR) $(MODDIR) $(LIBDIR)

intf: 
	@$(MKINTF) $(F90_INTF) $(INTF)
	@$(CPINCH) $(INCDIR)

$(LIB): $(OBJSUB) $(OBJMOD)
	\rm -f $(LIB)
	$(AR) $(LIB) $(OBJSUB) $(OBJMOD)

clean:
	\rm -f $(INTF) $(LIB) $(BINS) $(OBJSUB) $(OBJMOD) $(OBJBIN) $(MODS)


$(BINDIR)/aer_clim_prof$(EXT_BIN): $(OBJDIR)/aer_clim_prof$(EXT_OBJ) $(LIBS)
	cd $(TMPDIR) && $(FC) -o $(BINDIR)/aer_clim_prof$(EXT_BIN) $(OBJDIR)/aer_clim_prof$(EXT_OBJ) -L$(LIBDIR) -lrttov$(RTTOV_VERSION)_other -lrttov$(RTTOV_VERSION)_main $(LDFLAGS_EXTERN) $(LDFLAGS_ARCH)

$(OBJDIR)/rttov_calc_weighting_fn$(EXT_OBJ): rttov_calc_weighting_fn.F90  $(MODDIR)/rttov_types$(EXT_MOD) $(MODDIR)/rttov_const$(EXT_MOD) $(MODDIR)/parkind1$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_calc_weighting_fn) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_calc_weighting_fn.F90 -o $(OBJDIR)/rttov_calc_weighting_fn$(EXT_OBJ)


$(OBJDIR)/rttov_print_info$(EXT_OBJ): rttov_print_info.F90  $(MODDIR)/rttov_types$(EXT_MOD) $(MODDIR)/rttov_const$(EXT_MOD) $(MODDIR)/parkind1$(EXT_MOD) $(MODDIR)/rttov_global$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_print_info) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_print_info.F90 -o $(OBJDIR)/rttov_print_info$(EXT_OBJ)


$(OBJDIR)/rttov_print_opts$(EXT_OBJ): rttov_print_opts.F90  $(MODDIR)/rttov_types$(EXT_MOD) $(MODDIR)/parkind1$(EXT_MOD) $(MODDIR)/rttov_global$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_print_opts) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_print_opts.F90 -o $(OBJDIR)/rttov_print_opts$(EXT_OBJ)


$(OBJDIR)/rttov_print_profile$(EXT_OBJ): rttov_print_profile.F90  $(MODDIR)/rttov_types$(EXT_MOD) $(MODDIR)/rttov_const$(EXT_MOD) $(MODDIR)/parkind1$(EXT_MOD) $(MODDIR)/rttov_global$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_print_profile) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_print_profile.F90 -o $(OBJDIR)/rttov_print_profile$(EXT_OBJ)


$(OBJDIR)/aer_clim_prof$(EXT_OBJ): aer_clim_prof.F90  
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_aer_clim_prof) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/aer_clim_prof.F90 -o $(OBJDIR)/aer_clim_prof$(EXT_OBJ)


$(OBJDIR)/rttov_zutility$(EXT_OBJ): rttov_zutility.F90  $(MODDIR)/parkind1$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_zutility) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_zutility.F90 -o $(OBJDIR)/rttov_zutility$(EXT_OBJ)
	@cd $(TMPDIR) && $(MVDMOD) rttov_zutility$(EXT_MOD) $(MODDIR)/rttov_zutility$(EXT_MOD)

$(MODDIR)/rttov_zutility$(EXT_MOD): rttov_zutility.F90  $(MODDIR)/parkind1$(EXT_MOD)
	cd $(TMPDIR) && $(FC) -I$(INCDIR) $(FFLAGS_EXTERN) $(FFLAGS_ARCH_rttov_zutility) $(FFLAG_MOD)$(MODDIR) -c $(SRCDIR)/rttov_zutility.F90 -o $(OBJDIR)/rttov_zutility$(EXT_OBJ)
	@cd $(TMPDIR) && $(MVDMOD) rttov_zutility$(EXT_MOD) $(MODDIR)/rttov_zutility$(EXT_MOD)

