#
# Makefile for stratified QG model for CAOS Sun cluster
# using local FFTs from Sun performance library


OUTDIR = ../..
PROGRAM = $(OUTDIR)/qg2.92
F90FLAGS =  -dalign -xtypemap=real:64,double:64,integer:64 -xlic_lib=sunperf -xarch=v9 -O5
F77FLAGS =  -dalign -xtypemap=real:64,double:64,integer:64 -O5
SOURCES = io_tools.f90 op_rules.f90 syscalls_sun.f90 fft_sun.f90 \
          numerics_lib.f90 transform_tools.f90 eigrg1.f eig_pak.f90 \
	  strat_tools.f90 qg_params.f90 \
	  qg_arrays.f90 qg_run_tools.f90 \
	  qg_diagnostics.f90 qg_init_tools.f90 qg_driver.f90
F90 = f90 
OBJECTS=$(SOURCES:.f90=.o)
RM = rm -fr *.o *.mod
RMQG = rm -fr qg_*.o

$(PROGRAM): $(OBJECTS)
	$(F90) $(F90FLAGS) $(OBJECTS) $(LIBS) -o $(PROGRAM) 

io_tools.o: io_tools.f90
	$(F90) $(F90FLAGS) -c $<
op_rules.o: op_rules.f90
	$(F90) $(F90FLAGS) -c $<
syscalls_sun.o: syscalls_sun.f90
	$(F90) $(F90FLAGS) -c $<
fft_sun.o: fft_sun.f90
	$(F90) $(F90FLAGS) -c $<
numerics_lib.o: numerics_lib.f90
	$(F90) $(F90FLAGS) -c $<
transform_tools.o: transform_tools.f90
	$(F90) $(F90FLAGS) -c $<
eig_pak.o: eig_pak.f90
	$(F90) $(F90FLAGS) -c $<
eigrg1.o: eigrg1.f
	$(F90) $(F77FLAGS) -c $<
strat_tools.o: strat_tools.f90
	$(F90) $(F90FLAGS) -c $<
qg_params.o: qg_params.f90
	$(F90) $(F90FLAGS) -c $<
qg_arrays.o: qg_arrays.f90
	$(F90) $(F90FLAGS) -c $<
qg_run_tools.o: qg_run_tools.f90
	$(F90) $(F90FLAGS) -c $<
qg_diagnostics.o: qg_diagnostics.f90
	$(F90) $(F90FLAGS) -c $<
qg_init_tools.o: qg_init_tools.f90
	$(F90) $(F90FLAGS) -c $<
qg_driver.o: qg_driver.f90
	$(F90) $(F90FLAGS) -c $<
clean:
	$(RM)
cleanqg:
	$(RMQG)
