blob: e7ed05aa57106cce4a18752101018e3df1c0f6d2 (
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
|
FILES= \
test-hello \
test-stackprotector-all \
test-stackprotector \
test-volatile-register-var \
test-fortify-source \
test-bionic \
test-libelf \
test-glibc \
test-dwarf \
test-libelf-mmap \
test-libelf-getphdrnum \
test-libunwind \
test-libaudit \
test-libslang \
test-gtk2 \
test-gtk2-infobar \
test-libperl \
test-libpython \
test-libnuma
CC := $(CC) -MD
all: $(FILES)
BUILD = $(CC) -o $(OUTPUT)$@ $@.c
###############################
test-hello:
$(BUILD)
test-stackprotector-all:
$(BUILD) -Werror -fstack-protector-all
test-stackprotector:
$(BUILD) -Werror -fstack-protector
test-volatile-register-var:
$(BUILD) -Werror -Wvolatile-register-var
test-fortify-source:
$(BUILD) -O2 -Werror -D_FORTIFY_SOURCE=2
test-bionic:
$(BUILD)
test-libelf:
$(BUILD) -lelf
test-glibc:
$(BUILD)
test-dwarf:
$(BUILD) -ldw
test-libelf-mmap:
$(BUILD) -lelf
test-libelf-getphdrnum:
$(BUILD) -lelf
test-libnuma:
$(BUILD) -lnuma
test-libunwind:
$(BUILD) -lunwind -lunwind-x86_64 -lelf
test-libaudit:
$(BUILD) -laudit
test-libslang:
$(BUILD) -I/usr/include/slang -lslang
test-gtk2:
$(BUILD) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null)
test-gtk2-infobar:
$(BUILD) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null)
grep-libs = $(filter -l%,$(1))
strip-libs = $(filter-out -l%,$(1))
PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS))
PERL_EMBED_CCOPTS = `perl -MExtUtils::Embed -e ccopts 2>/dev/null`
FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
test-libperl:
$(BUILD) $(FLAGS_PERL_EMBED)
override PYTHON := python
override PYTHON_CONFIG := python-config
escape-for-shell-sq = $(subst ','\'',$(1))
shell-sq = '$(escape-for-shell-sq)'
PYTHON_CONFIG_SQ = $(call shell-sq,$(PYTHON_CONFIG))
PYTHON_EMBED_LDOPTS = $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
PYTHON_EMBED_LDFLAGS = $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
PYTHON_EMBED_LIBADD = $(call grep-libs,$(PYTHON_EMBED_LDOPTS))
PYTHON_EMBED_CCOPTS = $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
FLAGS_PYTHON_EMBED = $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
test-libpython:
$(BUILD) $(FLAGS_PYTHON_EMBED)
-include *.d */*.d
###############################
clean:
rm -f $(FILES) *.d
|