• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2topdir=$(shell pwd)/..
3include $(topdir)/Make.Rules
4#
5# Programs: all of the examples that we will compile
6#
7PROGS=getpcaps capsh getcap setcap
8
9BUILD=$(PROGS)
10
11all: $(BUILD)
12
13ifeq ($(DYNAMIC),yes)
14LDPATH = LD_LIBRARY_PATH=../libcap
15DEPS = ../libcap/libcap.so
16else
17LDFLAGS += --static
18DEPS = ../libcap/libcap.a
19endif
20
21../libcap/libcap.a:
22	make -C ../libcap libcap.a
23
24../libcap/libcap.so:
25	make -C ../libcap libcap.so
26
27$(BUILD): %: %.o $(DEPS)
28	$(CC) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS)
29
30%.o: %.c $(INCS)
31	$(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -c $< -o $@
32
33install: all
34	mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)
35	for p in $(PROGS) ; do \
36		install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \
37	done
38ifeq ($(RAISE_SETFCAP),yes)
39	$(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap
40endif
41
42test: $(PROGS)
43
44tcapsh-static: capsh.c $(DEPS)
45	$(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) --static
46
47sudotest: test tcapsh-static
48	sudo $(LDPATH) ./quicktest.sh
49
50clean:
51	$(LOCALCLEAN)
52	rm -f *.o $(BUILD) tcapsh* privileged ping hack.sh compare-cap
53