34
BUILDDIR=./build
TARGET=$(BUILDDIR)/rls
SRCDIR=./src
SRC=$(SRCDIR)/*.cpp
ifeq ($(shell command -v cmake), )
COMPCMD = g++ --std=c++17 -o $(TARGET) $(SRC)
else
COMPCMD = cmake -S . -B $(BUILDDIR) && cmake --build $(BUILDDIR)
CMAKELISTS = CMakeLists.txt
endif
_STRIP = strip -s $(TARGET)
ifeq ($(shell command -v upx), )
STRIP = $(_STRIP)
else
STRIP = $(_STRIP) ; upx --best $(TARGET)
endif
build: $(CMAKELISTS) $(SRCDIR)/* $(LIBDIR)/*
mkdir -p $(BUILDDIR)
$(COMPCMD)
strip: $(BUILDDIR)/rls
$(STRIP)
clean: $(BUILDDIR)/
rm -rf $(BUILDDIR)
install: $(BUILDDIR)/rls
@echo Installing to /usr/local/bin. This may require sudo.
install $(BUILDDIR)/rls /usr/local/bin/rls