TARGET := main

# Compilers. As main is written in C++, use CXX as linker.
CXX := g++
FC := gfortran

# C++ flags
CXXFLAGS := -std=c++11 -O2

# Fortran flags
FFLAGS := -ffree-line-length-none -O2

# Linker flags
LDFLAGS := 

# Library flags
LDLIBS := -lgfortran

# Fortran and C++ object files
OBJS := main.o functions.o

# ----------------------------------------------------

$(TARGET): $(OBJS)
	$(CXX) $(LDFLAGS) $(OBJS) -o $(TARGET) $(LDLIBS)

%.o : %.f90
	$(FC) $(FFLAGS) -c $< -o $@

%.o : %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -f *.o $(TARGET)
