Files
wayland-starter/Makefile
2026-02-25 10:08:29 +01:00

34 lines
1.6 KiB
Makefile

CFLAGS = -Wall -Wextra -I./include/ -g
LIBS = $(shell pkg-config --libs wayland-client wayland-egl egl glesv2 wayland-cursor)
build/main: src/main.cpp build/shader.o build/state.o build/renderer.o build/window.o build/window_wayland.o build/input.o build/input_wayland.o build/xdg-shell-protocol.o
g++ -o build/main $(CFLAGS) src/main.cpp build/shader.o build/state.o build/renderer.o build/window.o build/window_wayland.o build/input.o build/input_wayland.o build/xdg-shell-protocol.o $(LIBS)
build/shader.o: src/shader.cpp include/shader.h
g++ -o build/shader.o $(CFLAGS) -c src/shader.cpp
# TODO: dynamic state impl selection depending on platform (wayland/x11)
build/state.o: src/state/wayland.cpp include/state/wayland.h
g++ -o build/state.o $(CFLAGS) -c src/state/wayland.cpp
build/renderer.o: src/renderer.cpp include/renderer.h
g++ -o build/renderer.o $(CFLAGS) -c src/renderer.cpp
build/window.o: src/window.cpp include/window.h
g++ -o build/window.o $(CFLAGS) -c src/window.cpp
# TODO: dynamic window impl selection depending on platform (wayland/x11)
build/window_wayland.o: include/window/wayland.h src/window/wayland.cpp
g++ -o build/window_wayland.o $(CFLAGS) -c src/window/wayland.cpp
build/input.o: src/input.cpp include/input.h
g++ -o build/input.o $(CFLAGS) -c src/input.cpp
# TODO: dynamic input impl selection depending on platform (wayland/x11)
build/input_wayland.o: include/input/wayland.h src/input/wayland.cpp
g++ -o build/input_wayland.o $(CFLAGS) -c src/input/wayland.cpp
build/xdg-shell-protocol.o: src/xdg-shell-protocol.c
gcc -o build/xdg-shell-protocol.o -c $(CFLAGS) $(LIBS) src/xdg-shell-protocol.c