diff --git a/Makefile b/Makefile deleted file mode 100644 index d92705c..0000000 --- a/Makefile +++ /dev/null @@ -1,73 +0,0 @@ -# compile with HYPRLAND_HEADERS= make all -# make sure that the path above is to the root hl repo directory, NOT src/ -# and that you have ran `make protocols` in the hl dir. - -# This Makefile is not intended to be used directly, but rather as a template for your own plugin -# Change the PLUGIN_NAME variable to the name of your plugin -PLUGIN_NAME=example - -# Enable parallel builds -MAKEFLAGS := --jobs=$(shell nproc) -MAKEFLAGS += --output-sync=target - -# Source files -SOURCE_FILES=$(wildcard src/*.cpp) -# Add any new source file directories to the SOURCE_FILES variable -# SOURCE_FILES+=/*.cpp - -# Header files, used to check if they have changed -INCLUDE_FILES=$(wildcard include/*.hpp) -INCLUDE_FILES+=$(wildcard include/*.h) -# Add any new header file directories to the INCLUDE_FILES variable -# INCLUDE_FILES+=/*.hpp - -# Intermediate object files -OBJECT_DIR=obj - -# Compiler flags -COMPILE_FLAGS=-g -fPIC --no-gnu-unique -std=c++23 -COMPILE_FLAGS+=-fdiagnostics-color=always -COMPILE_FLAGS+=-I "/usr/include/pixman-1" -COMPILE_FLAGS+=-I "/usr/include/libdrm" -COMPILE_FLAGS+=-I "${HYPRLAND_HEADERS}" -COMPILE_FLAGS+=-I "${HYPRLAND_HEADERS}/subprojects/wlroots/include" -COMPILE_FLAGS+=-I "${HYPRLAND_HEADERS}/subprojects/wlroots/build/include" -COMPILE_FLAGS+=-Iinclude - -# Linker flags, set to shared library (plugin) -LINK_FLAGS=-shared - -# Phony targets (i.e. targets that don't actually build anything, and don't track dependencies) -# These will always be run when called -.PHONY: clean clangd - -# build -all: check_env $(PLUGIN_NAME).so - -# install to ~/.local/share/hyprload/plugins/bin, assuming that hyprload is installed -install: all - cp $(PLUGIN_NAME).so ${HOME}/.local/share/hyprload/plugins/bin - -# ensure that HYPRLAND_HEADERS is set, otherwise error. Gives a more helpful error message than just include errors -check_env: - mkdir -p $(OBJECT_DIR) -ifndef HYPRLAND_HEADERS - $(error HYPRLAND_HEADERS is undefined! Please set it to the path to the root of the configured Hyprland repo) -endif - -# build the plugin, using the headers from the configured Hyprland repo -$(OBJECT_DIR)/%.o: src/%.cpp $(INCLUDE_FILES) - g++ -c -o $@ $< $(COMPILE_FLAGS) - -$(PLUGIN_NAME).so: $(addprefix $(OBJECT_DIR)/, $(notdir $(SOURCE_FILES:.cpp=.o))) - g++ $(LINK_FLAGS) -o $@ $^ $(COMPILE_FLAGS) - -# clean up -clean: - rm -f $(OBJECT_DIR)/*.o - rm -f ./$(PLUGIN_NAME).so - -# generate compile_flags.txt for clangd, if you use it. This is not necessary for building the plugin -# the alternative is to use the compile_commands.json file generated by eg. bear -clangd: - echo "$(COMPILE_FLAGS)" | sed 's/ -/\n-/g' | sed 's/--no-gnu-unique//g' | sed 's/-I \//-I\//g' | sed 's/std=c++23/std=c++2b/g' > compile_flags.txt