target:=pui objects:=main.o pui.o xdg-shell.o protocols:=/usr/share/wayland-protocols wl_headers:=xdg-shell.h CFLAGS:=-O3 -Wall -Wextra -Werror -pedantic LDFLAGS:=-O3 -s -lwayland-client -lrt all: $(target) sample.pui sample.pui: convert sample.bmp sample.ini $^ > $@ convert: convert.c $(CC) $(CFLAGS) -s $< -o $@ $(target): $(objects) $(CC) $(LDFLAGS) $^ -o $@ %.o: %.c *.h $(wl_headers) $(CC) $(CFLAGS) -c $< -o $@ %.c: $(protocols)/*/*/%.xml wayland-scanner private-code $< $@ %.h: $(protocols)/*/*/%.xml wayland-scanner client-header $< $@ clean: rm $(target) $(objects) $(wl_headers) convert sample.pui .PRECIOUS: $(wl_headers)