blob: 01e6b5d20e83cc0fb51c4d6f52f1e6375d685787 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
.PHONY: clean
CXX := g++
CXXFLAGS := -std=c++17 `pkg-config --cflags --libs libnotify`# -g -fsanitize=address -fno-omit-frame-pointer
LINKFLAGS := -lX11 -lXrandr
OBJS_DIR := .
OUT_DIR := .
SOURCE_DIR := .
EXEC := YATwm
SOURCE_FILES := $(wildcard $(SOURCE_DIR)/*.cpp)
SOURCE_HEADERS := $(wildcard $(SOURCE_DIR)/*.h)
OBJS := $(subst $(SOURCE_DIR),$(OBJS_DIR), $(patsubst %.cpp,%.o,$(SOURCE_FILES)))
INSTALL_DIR = /
$(EXEC): $(OBJS)
$(CXX) $(OBJS) $(CXXFLAGS) $(LINKFLAGS) -o $(OUT_DIR)/$(EXEC)
$(OBJS_DIR)/%.o : $(SOURCE_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
i: $(EXEC)
sudo install -D $(EXEC) $(INSTALL_DIR)usr/bin/$(EXEC)
sudo install -D -m 644 yat.desktop $(INSTALL_DIR)usr/share/xsessions/yat.desktop
sudo install -D -m 644 config.toml $(INSTALL_DIR)etc/YATwm/config.toml
install: i
r:
sudo rm $(INSTALL_DIR)usr/bin/$(EXEC)
sudo rm $(INSTALL_DIR)usr/share/xsessions/yat.desktop
sudo rm -rf $(INSTALL_DIR)etc/YATwm
remove: r
#Files to be compiled
$(OBJS_DIR)/main.o: $(SOURCE_FILES) $(SOURCE_HEADERS)
$(OBJS_DIR)/ewmh.o: $(SOURCE_DIR)/ewmh.cpp $(SOURCE_DIR)/ewmh.h
$(OBJS_DIR)/util.o: $(SOURCE_DIR)/util.cpp $(SOURCE_DIR)/util.h
$(OBJS_DIR)/commands.o: $(SOURCE_DIR)/commands.cpp $(SOURCE_DIR)/commands.h
$(OBJS_DIR)/config.o: $(SOURCE_DIR)/config.cpp $(SOURCE_DIR)/config.h
$(OBJS_DIR)/keybinds.o: $(SOURCE_DIR)/keybinds.cpp $(SOURCE_DIR)/keybinds.h $(SOURCE_DIR)/commands.h
clean:
rm $(OBJS_DIR)/*.o
rm $(OUT_DIR)/$(EXEC)
|