74 lines
2.2 KiB
Makefile
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)
|