summaryrefslogtreecommitdiff
path: root/Makefile
blob: 4d70e0955f42a97c045da2957d04d482c7b7e46a (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
.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 $@ ${LDFLAGS}

%.o: %.asm
	fasm $< $@

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_yield.3 ${DESTDIR}${MANPREFIX}/man3/tco_yield.3