blob: b0834c9cdc58760c9879823ad7fa4d62bcac35b9 (
plain) (
blame)
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
.POSIX:
CONFIGFILE = config.mk
include $(CONFIGFILE)
SUBHDR =\
libsimple/definitions.h\
libsimple/memalloc.h\
libsimple/strdup.h\
libsimple/strndup.h\
libsimple/memdup.h\
libsimple/aligned_memdup.h\
libsimple/mallocz.h\
libsimple/malloc.h\
libsimple/calloc.h\
libsimple/realloc.h\
libsimple/memalignz.h\
libsimple/memalign.h\
libsimple/vallocz.h\
libsimple/valloc.h\
libsimple/pvallocz.h\
libsimple/pvalloc.h\
libsimple/aligned_allocz.h\
libsimple/aligned_alloc.h\
libsimple/posix_memalignz.h\
libsimple/posix_memalign.h\
libsimple/env.h\
libsimple/time.h\
libsimple/printf.h\
libsimple/str.h\
libsimple/strn.h\
libsimple/mem.h
HDR =\
$(SUBHDR)\
libsimple.h
OBJ =\
aligned_memdup.o\
allocn.o\
asprintf.o\
difftimespec.o\
difftimeval.o\
doubletotimespec.o\
doubletotimeval.o\
enaligned_allocz.o\
enaligned_memdup.o\
encalloc.o\
enmalloc.o\
enmemdup.o\
enposix_memalignz.o\
enrealloc.o\
enstrdup.o\
enstrndup.o\
envaligned_alloczn.o\
envmalloczn.o\
envmemalloc.o\
envposix_memalignzn.o\
envputenvf.o\
envreallocn.o\
isutf8.o\
memcasechr.o\
memcaseeqlen.o\
memdup.o\
memelem.o\
memends.o\
memeqlen.o\
memmem.o\
mempsetelem.o\
memrcasechr.o\
memrcaseeqlen.o\
memrchr.o\
memrelem.o\
memreqlen.o\
memrmem.o\
memstarts.o\
minimise_number_string.o\
multimespec.o\
multimeval.o\
rawmemcasechr.o\
rawmemchr.o\
rawmemrcasechr.o\
rawmemrchr.o\
strcasechr.o\
strcasechrnul.o\
strcaseends.o\
strcaseeqlen.o\
strcasestr.o\
strchrnul.o\
strends.o\
streqlen.o\
strncasestr.o\
strndup.o\
strnstr.o\
strrcasechr.o\
strrcasestr.o\
strrncasestr.o\
strrnstr.o\
strrstr.o\
strstarts.o\
strtotimespec.o\
strtotimeval.o\
sumtimespec.o\
sumtimeval.o\
timespec2timeval.o\
timespectostr.o\
timevaltostr.o\
vasprintf.o\
vmemalloc.o\
vputenvf.o\
vweprintf.o\
libsimple.o
TESTS = $(OBJ:.o=.test)
all: libsimple.a $(TESTS)
$(OBJ): $(@:.o=.c) $(HDR)
$(TESTS): $(@:=.o) test.o libsimple.a
$(TESTS:=.o): $(@:.test.o=.c) $(HDR) test.h
test.o: test.c $(HDR) test.h
libsimple.a: $(OBJ)
$(AR) rc $@ $?
$(AR) -s $@
.test.o.test:
$(CC) -o $@ $< test.o libsimple.a $(LDFLAGS)
.c.test.o:
$(CC) -c -o $@ $< $(CFLAGS) -DTEST -O0
check: $(TESTS)
@set -e; for t in $(TESTS); do printf '%s\n' "./$$t"; $(CHECK_PREFIX) "./$$t"; done
install: libsimple.a
mkdir -p -- "$(DESTDIR)$(PREFIX)/lib"
mkdir -p -- "$(DESTDIR)$(PREFIX)/include/libsimple"
cp -- libsimple.a "$(DESTDIR)$(PREFIX)/lib"
cp -- libsimple.h "$(DESTDIR)$(PREFIX)/include"
cp -- libsimple-arg.h "$(DESTDIR)$(PREFIX)/include"
cp -- $(SUBHDR) "$(DESTDIR)$(PREFIX)/include/libsimple"
uninstall:
-rm -f -- "$(DESTDIR)$(PREFIX)/lib/libsimple.a"
-rm -f -- "$(DESTDIR)$(PREFIX)/include/libsimple.h"
-rm -f -- "$(DESTDIR)$(PREFIX)/include/libsimple-arg.h"
-rm -rf -- "$(DESTDIR)$(PREFIX)/include/libsimple"
clean:
-rm -rf -- *.o *.su *.a *.so *.so.* *.gch *.gcda *.gcno *.gcov *.lo *.test
.SUFFIXES:
.SUFFIXES: .test .test.o .o .c
.PHONY: all check install uninstall clean
|