ANASEN_analysis/Armory/Makefile
2026-05-26 12:25:38 -04:00

74 lines
2.2 KiB
Makefile

########################################################################
# Cross-platform Makefile (macOS + Linux)
########################################################################
UNAME_S := $(shell uname -s)
########################################################################
# Defaults
########################################################################
ifeq ($(UNAME_S),Darwin)
########################################################################
# macOS (Homebrew + Apple Clang)
########################################################################
SDKROOT := $(shell xcrun --show-sdk-path)
CXX := clang++
ROOTCFLAGS := $(shell root-config --cflags | sed 's/-stdlib=libc++//g')
ROOTLIBS := $(shell root-config --libs | sed 's/-stdlib=libc++//g')
CXXFLAGS := -g -O0 -Wall -std=c++17 -fPIC
CXXFLAGS += $(ROOTCFLAGS)
CXXFLAGS += -isysroot $(SDKROOT)
CXXFLAGS += -I$(SDKROOT)/usr/include/c++/v1
LDFLAGS := $(shell root-config --glibs) -lGeom -lEve -lGui
else
########################################################################
# Linux (system g++)
########################################################################
CXX := g++
COPTS := -fPIC -DLINUX -g -O0 -Wall -std=c++17 -pthread
ROOTCFLAGS := $(shell root-config --cflags)
ROOTLIBS := $(shell root-config --libs)
CXXFLAGS := $(COPTS) $(ROOTCFLAGS)
LDFLAGS := $(ROOTLIBS) -lGeom -lEve -lGui
endif
########################################################################
# Targets
########################################################################
ALL = Mapper EventBuilder AnasenMS
all: $(ALL)
clean:
/bin/rm -f $(ALL)
########################################################################
# Build rules
########################################################################
Mapper: Mapper.cpp ../mapping.h ClassDet.h
@echo "--------- making Mapper"
$(CXX) $(CXXFLAGS) Mapper.cpp -o Mapper $(LDFLAGS)
EventBuilder: EventBuilder.cpp ClassData.h fsuReader.h Hit.h
@echo "--------- making EventBuilder"
$(CXX) $(CXXFLAGS) EventBuilder.cpp -o EventBuilder $(LDFLAGS)
AnasenMS: anasenMS.cpp constant.h Isotope.h ClassTransfer.h ClassSX3.h ClassPW.h ClassAnasen.h
@echo "--------- making ANASEN Monte Carlo"
$(CXX) $(CXXFLAGS) anasenMS.cpp -o AnasenMS $(LDFLAGS)