# Compiler settings FC = ifort OPT = -O3 # Optimization level (you can adjust this) Inc = "/work/apps/intel_2016/netcdf/4.3.3.1/" # List of source files SOURCES = neural.f90 main.f90 # Directory for object files OBJ_DIR = obj_files # Object files (replace .f90 with .o) OBJECTS = $(addprefix $(OBJ_DIR)/,$(SOURCES:.f90=.o)) # Module files (replace .f90 with .mod) #MODULES = $(addprefix $(OBJ_DIR)/,$(SOURCES:.f90=.mod)) # Executable name EXECUTABLE = my_program.exe # Default target: build the executable all: $(EXECUTABLE) # Compile Fortran source files to object files $(OBJ_DIR)/%.o: %.f90 @mkdir -p $(OBJ_DIR) $(FC) $(OPT) -c $< -o $@ -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ #$(OBJ_DIR)/%.mod: %.f90 # @mkdir -p $(OBJ_DIR) # $(FC) $(OPT) -c $< -o $@ # Link object files to create the executable $(EXECUTABLE): $(OBJECTS) $(FC) -o $@ $(OBJECTS) -L ${Inc}lib/ -lnetcdff -I ${Inc}include/ #$(MODULES) # Clean up intermediate files clean: rm -rf $(OBJ_DIR) $(EXECUTABLE)