2025-02-09 18:48:25 +01:00
|
|
|
PKG_CONFIG?=pkg-config
|
|
|
|
|
|
|
|
PKGS=wayland-client xkbcommon vulkan
|
|
|
|
CFLAGS+=$(shell $(PKG_CONFIG) --cflags $(PKGS))
|
|
|
|
LIBS=$(shell $(PKG_CONFIG) --libs $(PKGS))
|
|
|
|
LDFLAGS+=-lm -lglfw -rdynamic
|
|
|
|
|
|
|
|
FLAGS=-g $(CFLAGS) $(LDFLAGS) $(LIBS)
|
|
|
|
|
|
|
|
S=main.c
|
|
|
|
S+=comp.c wayland.c glfw.c
|
|
|
|
S+=vulkan.c kitty.c
|
2025-02-21 10:10:17 +01:00
|
|
|
S+=gpu_allocator.c hashmap.c util.c io.c matrix.c dynarray.c image.c types.c allocator.c log.c
|
2025-02-09 18:48:25 +01:00
|
|
|
S+=object.c register.c
|
2025-02-25 18:07:03 +01:00
|
|
|
S+=Wayland/xdg-shell-protocol.c
|
2025-02-09 18:48:25 +01:00
|
|
|
SO=$(addprefix build/,$(S:.c=.o))
|
2025-02-25 18:07:03 +01:00
|
|
|
SC=$(addprefix src/,$(S))
|
2025-02-09 18:48:25 +01:00
|
|
|
|
|
|
|
clean:
|
2025-02-25 18:07:03 +01:00
|
|
|
rm -rf build/
|
|
|
|
mkdir build
|
|
|
|
mkdir build/Wayland
|
2025-02-09 18:48:25 +01:00
|
|
|
|
|
|
|
install:
|
|
|
|
./main
|
|
|
|
|
2025-02-25 18:07:03 +01:00
|
|
|
.c.o:
|
|
|
|
gcc $(FLAGS) -c -o $@ $<
|
2025-02-09 18:48:25 +01:00
|
|
|
build/%.o: %.c
|
|
|
|
gcc -c $(FLAGS) -o $@ $<
|
2025-02-25 18:07:03 +01:00
|
|
|
build/%.o: src/%.c
|
|
|
|
gcc -c $(FLAGS) -o $@ $<
|
2025-02-09 18:48:25 +01:00
|
|
|
|
2025-02-25 18:07:03 +01:00
|
|
|
main: $(SO)
|
|
|
|
gcc $(FLAGS) -o $@ $(SO)
|
2025-02-09 18:48:25 +01:00
|
|
|
|
|
|
|
.DEFAULT_GOAL=main
|
|
|
|
.PHONY: clean
|