Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-05 08:11:42

0001 # === Toolchain ===
0002 CXX       = g++
0003 CXXSTD    = -std=c++20
0004 CXXWARN   = -Wall -Wextra -Wpedantic
0005 OPTFLAGS  = -O2
0006 PIC       = -fPIC
0007 
0008 # === ONNX Runtime ===
0009 ORT_PREFIX ?= /home/jingyu/Downloads/onnxruntime-linux-x64-1.19.2
0010 # ORT_PREFIX ?= /sphenix/u/jzhang1/opt/onnxruntime
0011 # ORT_PREFIX ?= $(OFFLINE_MAIN)
0012 ORT_INC     = $(ORT_PREFIX)/include
0013 ORT_LIBDIR  = $(ORT_PREFIX)/lib 
0014 
0015 # JSON_INC ?= /sphenix/u/jzhang1/opt/nlohmann/include
0016 JSON_INC ?= $(OFFLINE_MAIN)/include
0017 
0018 # 是否启用 ONNX(源码需配合宏,见下)1
0019 WITH_ONNX ?= 1
0020 
0021 # === Targets ===
0022 SRCS      = PtCalculator.cc
0023 OBJS      = $(SRCS:.cc=.o)
0024 TARGET_SO = libPtCalc.so
0025 
0026 # === Includes ===
0027 INCFLAGS  = -I.
0028 ifeq ($(WITH_ONNX),1)
0029         INCFLAGS += -I$(ORT_INC)
0030 endif
0031 ifneq ($(strip $(JSON_INC)),)
0032         INCFLAGS += -I$(JSON_INC)
0033 endif
0034 
0035 # === Flags ===
0036 CXXFLAGS  = $(CXXSTD) $(CXXWARN) $(OPTFLAGS) $(PIC) $(INCFLAGS)
0037 LDFLAGS   = -shared
0038 LDLIBS    =
0039 
0040 ifeq ($(WITH_ONNX),1)
0041         CXXFLAGS += -DPTCALC_WITH_ONNX=1
0042         LDFLAGS  += -Wl,-rpath,$(ORT_LIBDIR) -L$(ORT_LIBDIR)
0043         LDLIBS   += -lonnxruntime
0044 else
0045         CXXFLAGS += -DPTCALC_WITH_ONNX=0
0046 endif
0047 
0048 # === Rules ===
0049 all: $(TARGET_SO)
0050 
0051 $(TARGET_SO): $(OBJS)
0052         $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)
0053         @echo "Built $@"
0054 
0055 %.o: %.cc
0056         $(CXX) $(CXXFLAGS) -c $< -o $@
0057 
0058 clean:
0059         rm -f $(OBJS) $(TARGET_SO)
0060 
0061 print-%:
0062         @echo '$*=$($*)'