blob: 5263ef4ee5123500679d25ba23c745c095cdeb2b (
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
|
.POSIX:
CONFIGFILE = config.mk
CALLTYPE = multicall-hardlinks
# multicall-hardlinks = multiple hardlinks of the same multicall binary is installed
# multicall-symlinks = multiple links to a multicall binary named $(PREFIX)/bin/pdatools are installed
# singlecall = separate binaries are install for each command
BIN =\
backlight\
checklist\
clock\
counter\
dice\
stopwatch\
timer
HDR =\
common.h\
large.h
COMMON =\
large-digits.o\
large-colon.o\
large-dot.o\
large-minus.o
OBJ = $(BIN:=.o) $(COMMON)
BOBJ = $(OBJ:.o=.bo)
MAN1 = $(BIN:=.1)
include $(CONFIGFILE)
include $(CALLTYPE).mk
$(OBJ): $(@:.o=.c) $(HDR)
$(BOBJ): $(@:.bo=.c) $(HDR)
.c.o:
$(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
.c.bo:
$(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) -Dmain="$$(printf '%s\n' main__$* | tr - _)" -DMULTICALL_BINARY
pdatools: pdatools.o $(BOBJ)
$(CC) -o $@ $@.o $(BOBJ) $(LDFLAGS)
pdatools.c: pdatools.c.in Makefile
printf '#define LIST_COMMANDS' > $@
printf '\\\n\tX(%s)' $(BIN) | tr - _ >> $@
printf '\n\n' >> $@
cat pdatools.c.in >> $@
large.h: large.sh
./large.sh h > $@
large-digits.c: large.sh
./large.sh c 0 1 2 3 4 5 6 7 8 9 > $@
large-colon.c: large.sh
./large.sh c colon > $@
large-dot.c: large.sh
./large.sh c dot > $@
large-minus.c: large.sh
./large.sh c minus > $@
backlight: backlight.o
$(CC) -o $@ $@.o $(LDFLAGS)
checklist: checklist.o
$(CC) -o $@ $@.o $(LDFLAGS)
clock: clock.o large-digits.o large-colon.o
$(CC) -o $@ $@.o large-digits.o large-colon.o $(LDFLAGS)
counter: counter.o large-digits.o large-minus.o
$(CC) -o $@ $@.o large-digits.o large-minus.o $(LDFLAGS)
dice: dice.o
$(CC) -o $@ $@.o $(LDFLAGS)
stopwatch: stopwatch.o
$(CC) -o $@ $@.o $(LDFLAGS)
timer: timer.o large-digits.o large-colon.o large-dot.o large-minus.o
$(CC) -o $@ $@.o large-digits.o large-colon.o large-dot.o large-minus.o $(LDFLAGS)
install-common:
mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man1"
cp -- $(MAN1) "$(DESTDIR)$(MANPREFIX)/man1"
post-install:
chown -- '0:$(VIDEO_GROUP)' "$(DESTDIR)$(PREFIX)/bin/backlight"
chmod -- 4754 "$(DESTDIR)$(PREFIX)/bin/backlight"
uninstall:
-cd -- "$(DESTDIR)$(PREFIX)/bin" && rm -f -- $(BIN_)
-cd -- "$(DESTDIR)$(MANPREFIX)/man1" && rm -f -- $(MAN1)
-rm -f -- "$(DESTDIR)$(PREFIX)/lib/pdatools"
clean:
-rm -rf -- *.o *.a *.lo *.so *.bo *.su $(BIN) large.h large-*.c pdatools pdatools.c
.SUFFIXES:
.SUFFIXES: .o .c .bo
.PHONY: all install install-common post-install uninstall clean
|