CXX := g++
TARGET := vllm_vnpu_daemon
SRCS := vnpu_daemon.cpp shm_manager.cpp

ASCEND_HOME := /usr/local/Ascend/ascend-toolkit/latest
INCLUDES := -I$(ASCEND_HOME)/include -Iinclude
LIBS := -L$(ASCEND_HOME)/lib64 -lascendcl

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)