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 S+=hashmap.c io.c matrix.c dynarray.c image.c types.c allocator.c log.c S+=object.c register.c SO=$(addprefix build/,$(S:.c=.o)) # SC=$(addprefix src/,$(S)) SC=$S clean: rm -f build/* install: ./main build/%.o: %.c gcc -c $(FLAGS) -o $@ $< main: $(SO) Wayland/xdg-shell-protocol.c gcc $(FLAGS) -o $@ $(SO) Wayland/xdg-shell-protocol.c .DEFAULT_GOAL=main .PHONY: clean