Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
95 lines (80 loc) · 3.27 KB
/
Copy pathMakefile
File metadata and controls
95 lines (80 loc) · 3.27 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
CXX ?= g++
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib
BASE_CXXFLAGS = -std=c++20 -O2 -Iinclude -Iinclude/stb -I$(PREFIX)/include/plexy -Isrc \
$(shell pkg-config --cflags libdrm gbm egl libseat libinput \
pangocairo cairo freetype2)
CXXFLAGS += $(BASE_CXXFLAGS)
LDFLAGS_SERVER = \
-L$(PREFIX)/lib -lplexycanvas \
-ldrm -lgbm -lEGL -lseat -linput -ludev -lsystemd -lXcursor -lX11 \
-lGLEW -lGL -ldl -pthread -lrt -latomic \
$(shell pkg-config --libs pangocairo cairo freetype2) \
-Wl,-rpath,'$$ORIGIN/../lib'
RENDERER_SRC = \
src/renderer/fbo.cpp \
src/renderer/window_manager.cpp \
src/renderer/physics.cpp \
src/renderer/shaders.cpp \
src/renderer/compositor.cpp \
src/renderer/compositor_settings.cpp \
src/renderer/background_manager.cpp \
src/renderer/dock.cpp \
src/renderer/menubar_v2.cpp \
src/renderer/pango_text.cpp \
src/renderer/canvas.cpp \
src/renderer/sprite_manager.cpp \
src/renderer/sprite_api.cpp \
src/renderer/widget_manager.cpp \
src/renderer/widget_api.cpp \
src/renderer/icon_manager.cpp \
src/renderer/genie_mesh.cpp \
src/renderer/gpu_config.cpp \
src/renderer/cursor_manager.cpp \
src/renderer/window_effects.cpp \
src/renderer/async_renderer.cpp \
src/renderer/launcher.cpp
BACKEND_SRC = src/backend/drm.cpp \
src/backend/session.cpp \
src/backend/x11.cpp \
src/backend/display_backend.cpp \
src/backend/drm_display_backend.cpp \
src/backend/x11_display_backend.cpp
INPUT_SRC = src/input/input.cpp src/input/libinput_backend.cpp \
src/input/input_coordinator.cpp src/input/focus_policy.cpp \
src/input/focus_state_machine.cpp
SERVER_SRC = src/server/socket_server.cpp
CONFIG_SRC = src/config/config.cpp \
src/config/tintcolor.cpp
DISPLAY_SRC = src/display/display_layout.cpp
THREADING_SRC = src/threading/thread_manager.cpp
CORE_SRC = src/core/shell_config.cpp \
src/core/pointer_state.cpp \
src/core/drag_state.cpp \
src/core/resize_state.cpp \
src/core/dock_manager.cpp \
src/core/menubar_state.cpp \
src/core/display_layout_state.cpp \
src/core/shell_compositor.cpp \
src/core/event_loop.cpp \
src/core/liquidshell_runtime.cpp
SHELL_SRC = src/shells/gnu_liquid/main.cpp \
src/shells/gnu_liquid/shell_window_manager.cpp \
src/shells/gnu_liquid/shell_workspace_manager.cpp \
src/shells/gnu_liquid/wallpaper_background_renderer.cpp \
src/shells/gnu_liquid/animated_background_renderer.cpp
PLEXY_SRC = $(SHELL_SRC) $(CORE_SRC) $(RENDERER_SRC) $(BACKEND_SRC) $(INPUT_SRC) \
$(SERVER_SRC) $(CONFIG_SRC) $(DISPLAY_SRC) $(THREADING_SRC)
PLEXY_OBJS = $(PLEXY_SRC:.cpp=.o)
all: plexyshell
plexyshell: $(PLEXY_OBJS) $(LIBDIR)/libplexycanvas.so
$(CXX) $(PLEXY_OBJS) $(LDFLAGS_SERVER) -o plexyshell
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
install: all
install -d $(DESTDIR)$(BINDIR)
install -m 755 plexyshell $(DESTDIR)$(BINDIR)/plexyshell
clean:
rm -f plexyshell $(PLEXY_OBJS)
.PHONY: all install clean