gray/Makefile

59 lines
1.4 KiB
Makefile
Raw Normal View History

2012-06-21 14:38:29 +02:00
# Executable name
EXE=gray
# Objects list
MAINOBJ=gray.o
OTHOBJ=dispersion.o calcei_mod.o dqagmv.o grayl.o reflections.o green_func_p.o \
const_and_precisions.o graydata_flags.o graydata_par.o graydata_anequil.o \
magsurf_data.o interp_eqprof.o
2012-06-21 14:38:29 +02:00
# Alternative search paths
vpath %.f90 src
vpath %.f src
# Fortran compiler name and flags
FC=gfortran
FFLAGS=-O3 #-Wall -g -fcheck=all
2012-06-21 14:38:29 +02:00
DIRECTIVES = -DREVISION="'$(shell svnversion src)'"
2012-06-29 15:53:20 +02:00
2012-06-21 14:38:29 +02:00
all: $(EXE)
# Build executable from object files
$(EXE): $(MAINOBJ) $(OTHOBJ)
2012-06-21 14:38:29 +02:00
$(FC) $(FFLAGS) -o $@ $^
# Dependencies on modules
gray.o: dispersion.o dqagmv.o green_func_p.o reflections.o const_and_precisions.o \
graydata_flags.o graydata_par.o graydata_anequil.o magsurf_data.o interp_eqprof.o
2012-06-21 14:38:29 +02:00
green_func_p.o: const_and_precisions.o
reflections.o: const_and_precisions.o
dispersion.o: const_and_precisions.o calcei_mod.o dqagmv.o
graydata_flags.o: const_and_precisions.o
graydata_par.o: const_and_precisions.o
graydata_anequil.o: const_and_precisions.o
magsurf_data.o: const_and_precisions.o
interp_eqprof.o: const_and_precisions.o
2012-06-21 14:38:29 +02:00
# General object compilation command
%.o: %.f90
$(FC) $(FFLAGS) -c $<
2012-06-21 14:38:29 +02:00
%.o: %.f
$(FC) $(FFLAGS) -c $<
2012-06-21 14:38:29 +02:00
gray.o:gray.f
$(FC) -cpp $(DIRECTIVES) $(FFLAGS) -c $<
2012-06-21 14:38:29 +02:00
.PHONY: clean install
# Remove output files
clean:
rm -rf *.o *.mod $(EXE)
install:
@if [ -f $(EXE) ]; then \
cp $(EXE) ~/bin/; \
else \
echo File $(EXE) does not exist. Run \'make\' first; \
fi