# 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)