# Makefile to compile example program 'sch1d' on generic
#   Unix machines, using the g95 compiler

SHELL = /bin/csh

F90 = g95
F90FLAGS = -O3
F90CFLAGS = -c
F90LFLAGS =

F90_COMPILE  = $(F90) $(F90FLAGS) $(F90CFLAGS)
F90_LOAD     = $(F90) $(F90FLAGS) $(F90LFLAGS)

MAINFILE = sch1d
OBJS = sch1d.o globals.o ffts.o timing.o output.o param_parser.o splitop_evolver.o utilities.o 


.IGNORE:

.SUFFIXES:
.SUFFIXES: .f90 .F90 .o .mod

.f90.o:
	$(F90_COMPILE) $*.f90
.f90.mod:
	$(F90_COMPILE) $*.f90

all: $(MAINFILE)
$(MAINFILE): $(OBJS)
	$(F90_LOAD) $(OBJS) $(LIBRARIES) -o $(MAINFILE)

sch1d.o: sch1d.f90 globals.mod splitop_evolver.mod output.mod timing.mod param_parser.mod
ffts.mod: ffts.f90 globals.mod
globals.mod: globals.f90
output.mod: ffts.mod output.f90 globals.mod utilities.mod
param_parser.mod: ffts.mod globals.mod param_parser.f90 timing.mod utilities.mod
splitop_evolver.mod: splitop_evolver.f90 ffts.mod globals.mod
timing.mod: timing.f90
utilities.mod: utilities.f90 globals.mod

clean:
	rm -f *.o *.mod *.d $(MAINFILE)