44 lines
975 B
Makefile
44 lines
975 B
Makefile
MAKEFILE_ABS_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
|
|
MAKEFILE_DIR := $(dir $(MAKEFILE_ABS_PATH))
|
|
PWD_DIR := $(CURDIR)/
|
|
BUILD_DIR := $(addprefix $(MAKEFILE_DIR),build)
|
|
SRC_DIR := $(addprefix $(MAKEFILE_DIR),src/)
|
|
|
|
TARGET_NAME := zswm
|
|
TARGET := $(addprefix $(MAKEFILE_DIR),$(TARGET_NAME))
|
|
|
|
ifneq ($(PWD_DIR),$(MAKEFILE_DIR))
|
|
TARGET := $(addprefix $(MAKEFILE_DIR),$(TARGET_NAME))
|
|
endif
|
|
|
|
|
|
$(TARGET_NAME): build
|
|
|
|
clean:
|
|
${RM} $(TARGET)
|
|
${RM} -r $(BUILD_DIR)
|
|
|
|
run:
|
|
-$(shell Xephyr :3 -screen 1920x1080 &)
|
|
|
|
wm: $(TARGET_NAME)
|
|
DISPLAY=:3 $(TARGET)
|
|
|
|
prepare:
|
|
@cmake -S $(SRC_DIR) -B $(BUILD_DIR)
|
|
@cp $(BUILD_DIR)/compile_commands.json $(MAKEFILE_DIR)
|
|
|
|
build: prepare
|
|
@cmake --build $(BUILD_DIR)
|
|
@cp $(BUILD_DIR)/$(TARGET_NAME) $(TARGET)
|
|
|
|
install: $(TARGET_NAME)
|
|
@cp $(BUILD_DIR)/$(TARGET_NAME) ~/.local/bin/$(TARGET_NAME)
|
|
|
|
uninstall:
|
|
${RM} -r ~/.local/bin/$(TARGET_NAME)
|
|
|
|
reinstall: uninstall install
|
|
|
|
.PHONY: clean run wm prepare build install uninstall reinstall
|