blob: 0791768aaba85a478e03f1c35677e1f1044f9710 (
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
46
|
# Building the libcap/cap Go package. Note, we use symlinks to
# construct a go friendly src tree.
topdir=$(realpath ..)
include ../Make.Rules
all:
$(MAKE) compare-cap
$(MAKE) web
./compare-cap
src/libcap/cap:
mkdir -p src/libcap
ln -s $(realpath ..)/cap src/libcap/
install: all
# TODO - install the Go package somewhere useful (ex. /usr/share/gocode/src/libcap/cap/ )
../libcap/cap_names.h:
make -C ../libcap
src/libcap/cap/names.go: ../libcap/cap_names.h src/libcap/cap mknames.go
go run mknames.go --header=$< | gofmt > $@ || rm -f $@
src/libcap/cap/syscalls.go: src/libcap/cap ./syscalls.sh
./syscalls.sh > $@
GOPACKAGE=pkg/$(GOOSARCH)/libcap/cap.a
$(GOPACKAGE): src/libcap/cap/syscalls.go src/libcap/cap/names.go src/libcap/cap/cap.go src/libcap/cap/text.go
echo testing Go package
GOPATH=$(realpath .) go test libcap/cap
echo building $(GOPACKAGE)
mkdir -p pkg
# Compile and run something with this package and compare it to libcap.
compare-cap: compare-cap.go $(GOPACKAGE)
GOPATH=$(realpath .) go build $<
web: web.go $(GOPACKAGE)
GOPATH=$(realpath .) go build $<
clean:
GOPATH=$(realpath .) go clean -x -i libcap/cap 2> /dev/null || exit 0
rm -f *.o *.so mknames web compare-cap *~
rm -f ../cap/*~ ../cap/names.go ../cap/syscalls.go
rm -fr pkg src
|