aboutsummaryrefslogtreecommitdiff
path: root/nexgb/Makefile
diff options
context:
space:
mode:
authorAndrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu>2012-05-12 21:27:47 -0400
committerAndrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu>2012-05-12 21:27:47 -0400
commitf77feff864545c590ad4f717ecf47278703e1792 (patch)
tree6dbed783a78e1653f8068e940ec478e4d619a207 /nexgb/Makefile
parentaa95801b2de1d48da97968d395c740e5a438a277 (diff)
downloadhaven-f77feff864545c590ad4f717ecf47278703e1792.tar.gz
haven-f77feff864545c590ad4f717ecf47278703e1792.tar.xz
haven-f77feff864545c590ad4f717ecf47278703e1792.zip
some docs in the Makefile and removing a prefix that isn't needed.
Diffstat (limited to 'nexgb/Makefile')
-rw-r--r--nexgb/Makefile25
1 files changed, 22 insertions, 3 deletions
diff --git a/nexgb/Makefile b/nexgb/Makefile
index 7fa8b9b..6809661 100644
--- a/nexgb/Makefile
+++ b/nexgb/Makefile
@@ -1,10 +1,20 @@
# 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.
+# i.e., after making a change to the code generator, run 'make' in the
+# xgb directory. This will build xgbgen and regenerate each sub-package.
+# 'make test' will then run any appropriate tests (just tests xproto right now).
+# 'make bench' will test a couple of benchmarks.
+# 'make build-all' will then try to build each extension. This isn't strictly
+# necessary, but it's a good idea to make sure each sub-package is a valid
+# Go package.
+# My path to the X protocol XML descriptions.
XPROTO=/usr/share/xcb
# All of the XML files in my /usr/share/xcb directory EXCEPT XKB. -_-
+# This is intended to build xgbgen and generate Go code for each supported
+# extension.
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 \
@@ -16,6 +26,7 @@ all: build-xgbgen \
build-xgbgen:
(cd xgbgen && go build)
+# Builds each individual sub-package to make sure its valid Go code.
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 \
@@ -24,6 +35,8 @@ build-all: bigreq.b composite.b damage.b dpms.b dri2.b ge.b glx.b randr.b \
%.b:
(cd $* ; go build)
+# xc_misc is special because it has an underscore.
+# There's probably a way to do this better, but Makefiles aren't my strong suit.
xc_misc.xml: build-xgbgen
mkdir -p xcmisc
xgbgen/xgbgen --proto-path $(XPROTO) $(XPROTO)/xc_misc.xml > xcmisc/xcmisc.go
@@ -32,14 +45,20 @@ xc_misc.xml: build-xgbgen
mkdir -p $*
xgbgen/xgbgen --proto-path $(XPROTO) $(XPROTO)/$*.xml > $*/$*.go
+# Just test the xproto core protocol for now.
test:
(cd xproto ; go test)
+# Force all xproto benchmarks to run and no tests.
bench:
(cd xproto ; go test -run 'nomatch' -bench '.*' -cpu 1,2,6)
+# gofmt all non-auto-generated code.
+# (auto-generated code is already gofmt'd.)
+# Also do a column check (80 cols) after a gofmt.
+# But don't check columns on auto-generated code, since I don't care if they
+# break 80 cols.
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
+ gofmt -w *.go xgbgen/*.go examples/*.go examples/*/*.go xproto/xproto_test.go
+ colcheck *.go xgbgen/*.go examples/*.go examples/*/*.go xproto/xproto_test.go