MAKEFLAGS := --jobs=16 # MAKEFLAGS += --output-sync=target # compiling with C++26 CXXFLAGS := -std=c++2c -fdiagnostics-color=always -Iinclude -lwebsockets CXXFLAGS += -MMD -MP CXXFLAGS += -O2 -s SOURCES := main.cpp $(wildcard src/*.cpp) OBJECTS := $(SOURCES:.cpp=.o) DEPS := $(OBJECTS:.o=.d) TEST_SRC := test.cpp $(wildcard src/*.cpp) TEST_OBJS := $(TEST_SRC:.cpp=.o) # glowny target, linkuje linuxSmartie, potrzebuje ${OBJECTS} linuxSmartie: $(OBJECTS) g++ $(CXXFLAGS) -o $@ $^ # kompiluje test.cpp zamiast main.cpp test: $(TEST_OBJS) g++ $(CXXFLAGS) -o $@ $^ # kompiluje obiekty, potrzebuje zrodel cpp %.o: %.cpp g++ $(CXXFLAGS) -c $< -o $@ -include $(DEPS) .PHONY: clean cleanobj cleanobj: rm -f $(OBJECTS) $(DEPS) $(TEST_OBJS) clean: cleanobj rm -f linuxSmartie install_service: mkdir -p ~/.config/systemd/user cp linuxSmartie.service ~/.config/systemd/user/linuxSmartie.service systemctl --user daemon-reload systemctl --user enable linuxSmartie systemctl --user start linuxSmartie