blob: 77f176b2fc70e041a4631a8d7d1ab120eb4132fe (
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
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
|
NAME=plock
CC = gcc
CFLAGS = -Isrc
LIBS = -lX11
PREFIX = /usr/local
MANPREFIX = $(PREFIX)/man
all: bin/$(NAME)
debug: CFLAGS += -Wall -DEBUG -g
debug: bin/$(NAME)
app_sources = $(wildcard src/*.c src/io/*.c src/pattern/*.c src/utils/*.c)
app_objects = $(patsubst src/%.c, bin/%.o, $(app_sources))
bin/$(NAME): bin/main.o bin/args.o bin/utils/utilities.o bin/utils/args.o bin/pattern/pattern.o bin/pattern/next.o bin/io/io.o bin/io/text.o bin/io/svg.o # $(app_objects)
$(CC) $(CFLAGS) $^ -o $@ $(LIBS)
bin/main.o: src/main.c bin
$(CC) $(CFLAGS) -c $< -o $@
bin/args.o: src/args.c bin
$(CC) $(CFLAGS) -c $< -o $@
bin/utils/utilities.o: src/utils/utilities.c bin bin/utils
$(CC) $(CFLAGS) -c $< -o $@
bin/utils/args.o: src/utils/args.c bin bin/utils
$(CC) $(CFLAGS) -c $< -o $@
bin/pattern/pattern.o: src/pattern/pattern.c bin bin/pattern
$(CC) $(CFLAGS) -c $< -o $@
bin/pattern/next.o: src/pattern/next.c bin bin/pattern
$(CC) $(CFLAGS) -c $< -o $@
bin/io/io.o: src/io/io.c bin bin/io
$(CC) $(CFLAGS) -c $< -o $@
bin/io/text.o: src/io/text.c bin bin/io
$(CC) $(CFLAGS) -c $< -o $@
bin/io/svg.o: src/io/svg.c bin bin/io
$(CC) $(CFLAGS) -c $< -o $@
bin:
mkdir -p $@
bin/io:
mkdir -p $@
bin/pattern:
mkdir -p $@
bin/utils:
mkdir -p $@
clean:
rm -rf bin/*
install: bin/$(NAME)
@echo INSTALL execuatble
mkdir -p $(PREFIX)/bin
cp $< $(PREFIX)/bin/$(NAME)
chmod 755 $(PREFIX)/bin/$(NAME)
@echo INSTALL man page
mkdir -p $(MANPREFIX)/man1
gzip -c doc/$(NAME).1 > $(MANPREFIX)/man1/$(NAME).1.gz
chmod 644 $(MANPREFIX)/man1/$(NAME).1.gz
uninstall:
@echo REMOVE execuatble
rm -f $(PREFIX)/bin/$(NAME)
@echo REMOVE man page
rm -f $(MANPREFIX)/man1/$(NAME).1.gz
.PHONY: clean install uninstall
|