-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathMakefile
72 lines (58 loc) · 2.07 KB
/
Makefile
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
# See LICENSE file for copyright and license details.
.POSIX:
include config.mk
VERSION=0.10.2
.PHONY: all clean install uninstall dist
all: libschrift.a libschrift.pc demo stress
libschrift.a: schrift.o
$(AR) rc $@ schrift.o
$(RANLIB) $@
schrift.o: schrift.h
libschrift.pc: libschrift.pc.in
@sed 's,@prefix@,$(PREFIX),;s,@version@,$(VERSION),' libschrift.pc.in > $@
demo: demo.o libschrift.a
$(LD) $(EXTRAS_LDFLAGS) [email protected] -o $@ -L$(X11LIB) -L. -lX11 -lXrender -lschrift -lm
demo.o: demo.c schrift.h util/utf8_to_utf32.h
$(CC) -c $(EXTRAS_CFLAGS) $(@:.o=.c) -o $@ $(EXTRAS_CPPFLAGS) -I$(X11INC)
stress: stress.o libschrift.a
$(LD) $(EXTRAS_LDFLAGS) [email protected] -o $@ -L. -lschrift -lm
stress.o: stress.c schrift.h util/arg.h
$(CC) -c $(EXTRAS_CFLAGS) $(@:.o=.c) -o $@ $(EXTRAS_CPPFLAGS)
clean:
rm -f *.o
rm -f util/*.o
rm -f libschrift.a
rm -f demo
rm -f stress
install: libschrift.a libschrift.pc schrift.h schrift.3
# libschrift.a
mkdir -p "$(DESTDIR)$(PREFIX)/lib"
cp -f libschrift.a "$(DESTDIR)$(PREFIX)/lib"
chmod 644 "$(DESTDIR)$(PREFIX)/lib/libschrift.a"
# libschrift.pc
mkdir -p "$(DESTDIR)$(PREFIX)/lib/pkgconfig"
cp -f libschrift.pc "$(DESTDIR)$(PREFIX)/lib/pkgconfig"
chmod 644 "$(DESTDIR)$(PREFIX)/lib/pkgconfig/libschrift.pc"
# schrift.h
mkdir -p "$(DESTDIR)$(PREFIX)/include"
cp -f schrift.h "$(DESTDIR)$(PREFIX)/include"
chmod 644 "$(DESTDIR)$(PREFIX)/include/schrift.h"
# schrift.3
mkdir -p "$(DESTDIR)$(MANPREFIX)/man3"
cp schrift.3 "$(DESTDIR)$(MANPREFIX)/man3"
chmod 644 "$(DESTDIR)$(MANPREFIX)/man3/schrift.3"
uninstall:
rm -f "$(DESTDIR)$(PREFIX)/lib/libschrift.a"
rm -f "$(DESTDIR)$(PREFIX)/lib/pkgconfig/libschrift.pc"
rm -f "$(DESTDIR)$(PREFIX)/include/schrift.h"
rm -f "$(DESTDIR)$(MANPREFIX)/man3/schrift.3"
dist:
rm -rf "schrift-$(VERSION)"
mkdir -p "schrift-$(VERSION)"
cp -R README.md LICENSE CHANGELOG.md TODO.md schrift.3 \
Makefile config.mk libschrift.pc.in \
schrift.c schrift.h demo.c stress.c \
resources/ util/ \
"schrift-$(VERSION)"
tar -cf - "schrift-$(VERSION)" | gzip -c > "schrift-$(VERSION).tar.gz"
rm -rf "schrift-$(VERSION)"