2024-06-21 13:40:57 +02:00
|
|
|
PLUGIN_NAME=dynamic-cursors
|
2025-01-08 20:37:27 +01:00
|
|
|
|
2025-07-19 23:28:55 +03:00
|
|
|
SOURCE_FILES := $(wildcard ./src/*.cpp ./src/*/*.cpp)
|
|
|
|
OBJECT_FILES := $(patsubst ./src/%.cpp, out/%.o, $(SOURCE_FILES))
|
|
|
|
CXX_FLAGS := -Wall --no-gnu-unique -fPIC -std=c++26 -g \
|
|
|
|
$(shell pkg-config --cflags hyprland | awk '{print $$NF "/src";}') \
|
|
|
|
$(shell pkg-config --cflags pixman-1 libdrm hyprland)
|
|
|
|
|
2025-01-08 20:37:27 +01:00
|
|
|
OUTPUT=out/$(PLUGIN_NAME).so
|
|
|
|
|
|
|
|
.PHONY: all clean load unload
|
2024-06-21 13:40:57 +02:00
|
|
|
|
2025-01-08 20:37:27 +01:00
|
|
|
all: $(OUTPUT)
|
2024-06-21 13:40:57 +02:00
|
|
|
|
2025-07-19 23:28:55 +03:00
|
|
|
$(OUTPUT): $(OBJECT_FILES)
|
|
|
|
$(CXX) -shared $^ -o $@
|
|
|
|
|
|
|
|
# Compile step (object file per .cpp)
|
|
|
|
out/%.o: ./src/%.cpp
|
|
|
|
@mkdir -p $(dir $@)
|
|
|
|
$(CXX) $(CXX_FLAGS) -c $< -o $@
|
2024-06-21 13:40:57 +02:00
|
|
|
|
|
|
|
clean:
|
2025-07-19 23:28:55 +03:00
|
|
|
$(RM) $(OUTPUT) $(OBJECT_FILES)
|
2024-06-21 13:40:57 +02:00
|
|
|
|
|
|
|
load: all unload
|
2025-01-08 20:37:27 +01:00
|
|
|
hyprctl plugin load ${PWD}/$(OUTPUT)
|
2024-06-21 13:40:57 +02:00
|
|
|
|
|
|
|
unload:
|
2025-01-08 20:37:27 +01:00
|
|
|
hyprctl plugin unload ${PWD}/$(OUTPUT)
|