CXX := g++
TARGET := vllm_vxpu_daemon
SRCS := vxpu_daemon.cpp shm_manager.cpp

XPU_HOME := /opt/vllm_kunlun/xcudart
INCLUDES := -I$(XPU_HOME)/include -Iinclude
LIBS := -L$(XPU_HOME)/lib -lxpurt -lxpuml -lrt

CXXFLAGS := $(INCLUDES) -O2
LDFLAGS := $(LIBS)

PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin

.PHONY: all clean install uninstall

all: $(TARGET)

$(TARGET): $(SRCS)
	$(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)

install: $(TARGET)
	install -d $(DESTDIR)$(BINDIR)
	install -m 0755 $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)

uninstall:
	rm -f $(DESTDIR)$(BINDIR)/$(TARGET)

clean:
	rm -f $(TARGET)