summaryrefslogtreecommitdiff
blob: a599a98b8ebbda3da53f5cbbafe4952e225602cd (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
diff --git a/Make.Rules b/Make.Rules
index d597fde..26335e7 100644
--- a/Make.Rules
+++ b/Make.Rules
@@ -42,26 +42,28 @@ MINOR=11
 
 # Compilation specifics
 
-CC := gcc
-CFLAGS := -O2
-BUILD_CC := $(CC)
-BUILD_CFLAGS := $(CFLAGS)
-AR := ar
-RANLIB := ranlib
-DEBUG = -g #-DDEBUG
-WARNINGS=-fPIC -Wall -Wwrite-strings \
+CC ?= gcc
+CFLAGS ?= -O2 -g
+BUILD_CC ?= $(CC)
+BUILD_CFLAGS ?= $(CFLAGS)
+AR ?= ar
+RANLIB ?= ranlib
+WARNINGS=-Wall -Wwrite-strings \
         -Wpointer-arith -Wcast-qual -Wcast-align \
         -Wstrict-prototypes -Wmissing-prototypes \
         -Wnested-externs -Winline -Wshadow
 LD=$(CC) -Wl,-x -shared
-LDFLAGS := #-g
+LDFLAGS ?= #-g
 
 KERNEL_HEADERS := $(topdir)/libcap/include
-SYSTEM_HEADERS = /usr/include
 IPATH += -I$(topdir)/libcap/include -I$(KERNEL_HEADERS)
+LIBCAP_CPPFLAGS = -I$(topdir)/libcap/include -I$(KERNEL_HEADERS)
+CPPFLAGS += $(LIBCAP_CPPFLAGS)
+BUILD_CLAGS += $(LIBCAP_CPPFLAGS)
 INCS=$(topdir)/libcap/include/sys/capability.h
 LDFLAGS += -L$(topdir)/libcap
-CFLAGS += -Dlinux $(WARNINGS) $(DEBUG) $(IPATH)
+CPPFLAGS += -Dlinux
+CFLAGS += $(WARNINGS)
 PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi)
 # Global cleanup stuff
 
diff --git a/libcap/Makefile b/libcap/Makefile
index da22bd1..55e4fe3 100644
--- a/libcap/Makefile
+++ b/libcap/Makefile
@@ -17,7 +17,8 @@ OBJS=$(addsuffix .o, $(FILES))
 MAJLIBNAME=$(LIBNAME).$(VERSION)
 MINLIBNAME=$(MAJLIBNAME).$(MINOR)
 GPERF_OUTPUT = _caps_output.gperf
-LDFLAGS += -lattr
+LDLIBS += -lattr
+CFLAGS += -fPIC
 
 all: $(MINLIBNAME) $(STALIBNAME)
 
@@ -44,15 +45,15 @@ $(STALIBNAME): $(OBJS)
 	$(RANLIB) $@
 
 $(MINLIBNAME): $(OBJS)
-	$(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,$(MAJLIBNAME) -o $@ $^
+	$(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,$(MAJLIBNAME) -o $@ $^ $(LDLIBS)
 	ln -sf $(MINLIBNAME) $(MAJLIBNAME)
 	ln -sf $(MAJLIBNAME) $(LIBNAME)
 
 %.o: %.c $(INCLS)
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
 cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS)
-	$(CC) $(CFLAGS) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
 
 install: all
 	mkdir -p -m 0755 $(INCDIR)/sys
diff --git a/pam_cap/Makefile b/pam_cap/Makefile
index 6483790..bef59d2 100644
--- a/pam_cap/Makefile
+++ b/pam_cap/Makefile
@@ -14,13 +14,13 @@ install: all
 	install -m 0755 pam_cap.so $(LIBDIR)/security
 
 pam_cap.so: pam_cap.o
-	$(LD) $(CFLAGS) -o pam_cap.so $< $(LDLIBS)
+	$(LD) $(CFLAGS) $(LDFLAGS) -o pam_cap.so $< $(LDLIBS)
 
 pam_cap.o: pam_cap.c
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
 testcompile: test.c pam_cap.o
-	$(CC) $(CFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS)
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS)
 
 clean:
 	rm -f *.o *.so testcompile *~
diff --git a/progs/Makefile b/progs/Makefile
index a8e0e53..f568225 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -6,7 +6,7 @@ include $(topdir)/Make.Rules
 #
 PROGS=getpcaps getcap setcap capsh
 
-LDFLAGS += --static 
+LDFLAGS += --static
 LDLIBS += -lcap
 
 all: $(PROGS)
@@ -15,7 +15,7 @@ $(PROGS): %: %.o
 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS)
 
 %.o: %.c $(INCS)
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
 install: all
 	mkdir -p -m 0755 $(SBINDIR)