summaryrefslogtreecommitdiff
path: root/makefile
blob: 56decbf13f54c41496e7d3ee6d9ad840699f8786 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 -fvisibility=hidden
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)