git.sophuwu.com > crls
sorted directories, improved compiling with cmake or g++ in makefile
added stip to makefile, also upx if available
sophuwu sophie@sophuwu.com
Tue, 09 Sep 2025 20:42:35 +0200
commit

752fccbd903db142cc8ebcb4f4a131c9fee0a269

parent

2f444ed1f852d4628e41aef3888be5b077996e22

5 files changed, 25 insertions(+), 20 deletions(-)

jump to
M CMakeLists.txtCMakeLists.txt

@@ -1,6 +1,4 @@

cmake_minimum_required(VERSION 3.16) project(rls) set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Os") -set(CMAKE_EXE_LINKER_FLAGS "-static") -add_executable(rls rls.cpp)+add_executable(rls src/rls.cpp)
M MakefileMakefile

@@ -1,27 +1,34 @@

-BUILDDIR?=./build +BUILDDIR=./build +TARGET=$(BUILDDIR)/rls + +SRCDIR=./src +SRC=$(SRCDIR)/*.cpp + ifeq ($(shell command -v cmake), ) -COMPCMD = g++ --std=c++17 -o $(BUILDDIR)/rls rls.cpp +COMPCMD = g++ --std=c++17 -o $(TARGET) $(SRC) else -ifeq ($(shell command -v ninja), ) COMPCMD = cmake -S . -B $(BUILDDIR) && cmake --build $(BUILDDIR) +CMAKELISTS = CMakeLists.txt +endif + +_STRIP = strip -s $(TARGET) +ifeq ($(shell command -v upx), ) +STRIP = $(_STRIP) else -COMPCMD = cmake -GNinja -S . -B $(BUILDDIR) && cmake --build $(BUILDDIR) +STRIP = $(_STRIP) ; upx --best $(TARGET) endif -CMAKELISTS = CMakeLists.txt -endif + +build: $(CMAKELISTS) $(SRCDIR)/* $(LIBDIR)/* + mkdir -p $(BUILDDIR) + $(COMPCMD) -build: rls.cpp $(CMAKELISTS) - @mkdir -p $(BUILDDIR) - @$(COMPCMD) - @echo Compiled successfully. +strip: $(BUILDDIR)/rls + $(STRIP) + clean: $(BUILDDIR)/ - @echo Cleaning up. - @rm -rf $(BUILDDIR) - @echo Cleaned up successfully. + rm -rf $(BUILDDIR) install: $(BUILDDIR)/rls - @echo Installing to /usr/local/bin. - @sudo cp $(BUILDDIR)/rls /usr/local/bin/rls - @echo Installed successfully. - @echo Run "rls" to use the program. + @echo Installing to /usr/local/bin. This may require sudo. + install $(BUILDDIR)/rls /usr/local/bin/rls