blob: 084c41b00d0bf3cb04958ad75e8a5507bf89a79c (
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
|
.PHONY: all static dynamic clean
.PHONY: install install_static install_dynamic install_man install_hdr
VERSION = 0.1
PREFIX = /usr/local
MANPREFIX = ${PREFIX}/share/man
CC = gcc
AR = ar
all: static dynamic
static: libtco.a
dynamic: libtco.so
tco.o: tco.asm config.inc
libtco.a: tco.o
${AR} -crs $@ $^
libtco.so: tco.o
${CC} -shared $^ -o $@ -Wl,-soname,$@ ${LDFLAGS}
%.o: %.asm
fasm $< $@
objcopy --add-section ".note.GNU-stack"=/dev/null \
--set-section-flags ".note.GNU-stack"=contents,readonly $@
clean:
rm -f tco.o libtco.a libtco.so
install: install_static install_dynamic
install_static: static install_man install_hdr
install -Dm644 libtco.a ${DESTDIR}${PREFIX}/lib64/libtco.a
install_dynamic: dynamic install_man install_hdr
install -Dm755 libtco.so ${DESTDIR}${PREFIX}/lib64/libtco.so
install_hdr:
install -Dm644 tco.h ${DESTDIR}${PREFIX}/include/tco.h
install_man:
install -Dm644 tco_go.3 ${DESTDIR}${MANPREFIX}/man3/tco_go.3
install -Dm644 tco_args.3 ${DESTDIR}${MANPREFIX}/man3/tco_args.3
install -Dm644 tco_yield.3 ${DESTDIR}${MANPREFIX}/man3/tco_yield.3
|