aboutsummaryrefslogtreecommitdiff
path: root/nexgb/Makefile
blob: 7fa8b9bdb748c6131c11de3b7ea4a94ba94601a2 (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
42
43
44
45
# This Makefile is used by the developer. It is not needed in any way to build
# a checkout of the XGB repository.
# It will be useful, however, if you are hacking at the code generator.

XPROTO=/usr/share/xcb

# All of the XML files in my /usr/share/xcb directory EXCEPT XKB. -_-
all: build-xgbgen \
		 bigreq.xml composite.xml damage.xml dpms.xml dri2.xml \
		 ge.xml glx.xml randr.xml record.xml render.xml res.xml \
		 screensaver.xml shape.xml shm.xml sync.xml xc_misc.xml \
		 xevie.xml xf86dri.xml xf86vidmode.xml xfixes.xml xinerama.xml \
		 xinput.xml xprint.xml xproto.xml xselinux.xml xtest.xml \
		 xvmc.xml xv.xml

build-xgbgen:
	(cd xgbgen && go build)

build-all: bigreq.b composite.b damage.b dpms.b dri2.b ge.b glx.b randr.b \
					 record.b render.b res.b screensaver.b shape.b shm.b sync.b xcmisc.b \
					 xevie.b xf86dri.b xf86vidmode.b xfixes.b xinerama.b xinput.b \
					 xprint.b xproto.b xselinux.b xtest.b xv.b xvmc.b

%.b:
	(cd $* ; go build)

xc_misc.xml: build-xgbgen
	mkdir -p xcmisc
	xgbgen/xgbgen --proto-path $(XPROTO) $(XPROTO)/xc_misc.xml > xcmisc/xcmisc.go

%.xml: build-xgbgen
	mkdir -p $*
	xgbgen/xgbgen --proto-path $(XPROTO) $(XPROTO)/$*.xml > $*/$*.go

test:
	(cd xproto ; go test)

bench:
	(cd xproto ; go test -run 'nomatch' -bench '.*' -cpu 1,2,6)

gofmt:
	gofmt -w *.go xgbgen/*.go examples/*.go examples/*/*.go
	colcheck xgbgen/*.go examples/*.go examples/*/*.go xproto/xproto_test.go \
					 auth.go conn.go cookie.go doc.go xgb.go xgb_help.go