EVENT2/Makefile

50 lines
778 B
Makefile

# Compiler
FC = gfortran
# Build type (default: Release)
BUILD ?= release
# Flags depending on build type
ifeq ($(BUILD),debug)
FFLAGS = -g -O0 -std=legacy
else
FFLAGS = -O2 -std=legacy
endif
# Output folder
OUT = bin
# Targets
TARGET1 = event2
TARGET2 = event2_merge
# Source files
SRCS1 = event2_03.f gbook.f utilities.f
SRCS2 = event2_merge.f gbook.f utilities.f
# Executable paths
EXE1 = $(OUT)/$(TARGET1)
EXE2 = $(OUT)/$(TARGET2)
# Default rule (build both)
all: $(EXE1) $(EXE2)
# Build rules
$(EXE1): $(SRCS1)
mkdir -p $(OUT)
$(FC) $(FFLAGS) -o $(EXE1) $(SRCS1)
$(EXE2): $(SRCS2)
mkdir -p $(OUT)
$(FC) $(FFLAGS) -o $(EXE2) $(SRCS2)
# Convenience targets
debug:
$(MAKE) BUILD=debug
release:
$(MAKE) BUILD=release
# Clean rule
clean:
rm -rf $(OUT)