50 lines
778 B
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)
|