#==========================================#
#    Compile run for KDK system A or B/C   #
#  Last edited : 2020/04/15 By Yikai HSIEH #
#==========================================#


# For System A------------------------------------------
FLAGS       = -O3 -h omp -h pic -dynamic -g -e0
FC          = ftn    # Compiler
# For System B/C------------------------------------------
# FLAGS       = -O3  -parallel -fp-model strict #-traceback -CB
# FC          =  mpiifort    # Compiler
#------------------------------------------
# Main
#------------------------------------------
PROGRAM     =  run
OUT         =  run.out       # output file name
HEADER1     =  globals.f90 
			   
OBJS        =  globals.o \
               main.o \
			   rescaling.o \
			   initial.o \
			   vdist.o \
			   diagno_bk.o \
			   oblique_whistler.o \
			   velocity.o \
			   diagno_wave.o \
			   graph.o  \
			   
MAIN		= main.o
.SUFFIXES: .f90 .o
.f90.o:
		$(FC) -c $< $(FLAGS)

all:            $(PROGRAM)

$(PROGRAM):     $(OBJS)
		$(FC) $(FLAGS) -o $@ $(OBJS) 
			   
globals.o:   globals.f90                 	
main.o:      main.f90 $(HEADER1)
rescaling.o:		rescaling.f90 $(HEADER1)
main.o:	          main.f90 $(HEADER1) 
initial.o: 	initial.f90 $(HEADER1)
vdist.o:  vdist.f90 $(HEADER1)
diagno_bk.o: diagno_bk.f90 $(HEADER1)
oblique_whistler.o: oblique_whistler.f90 $(HEADER1)
velocity.o: velocity.f90 $(HEADER1)
diagno_wave.o:	diagno_wave.f90 $(HEADER1)
graph.o :	graph.f90 $(HEADER1) 


#$(PROGRAM):  $(SRC)
#	$(FC) $(FLAGS) $(SRC) -o $(OUT) 

clean:
	rm -f *.o *mod *.lst $(PROGRAM) 