lib_objects:=\ font.o \ font_cp00.o \ font_cp04.o \ pui.o bin_objects:=\ main.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: libpui.a pui convert sample.pui sample.pui: convert sample.bmp sample.ini ./$^ > $@ convert: convert.c $(CC) $(CFLAGS) -s $< -o $@ pui: $(bin_objects) libpui.a $(CC) $(LDFLAGS) $^ -o $@ libpui.a: $(lib_objects) $(AR) rs $@ $^ %.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 pui libpui.a $(bin_objects) $(lib_objects) $(wl_headers) convert sample.pui .PRECIOUS: $(wl_headers)