git.sophuwu.com > crls   
              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