summaryrefslogtreecommitdiff
path: root/Makefile
blob: 7b5f2c2649db3e845b101838367c2cc673036b45 (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
.POSIX:

CFLAGS = -Wall -Wextra -pedantic -O2 -g
LIBS_LIBICAL = -lical -licalss -licalvcal
LIBS_RAYLIB = -lraylib -lGLESv2 -lEGL \
	      $$([ `uname -m` = aarch64 ] && echo '-lvcos -lvchiq_arm -lgbm -ldrm')
LIBS_SQLITE = -ldl -lm -lpthread

all: \
	check_ical \
	bin/opplysning-endre \
	bin/opplysning-forfrisk \
	bin/opplysning-vis \
	select

check: all
	./check_ical < check_ical_in.ical > check_ical_out.txt
	diff -u check_ical_ans.txt check_ical_out.txt && echo PASS || echo FAIL

clean:
	rm -f bin/*
	rm -f check_ical check_ical_out.txt
	rm -f select
	rm -f sqlite.o
	rm -f sqlite3

enable:
	systemctl enable opplysning-forfrisk.timer
	systemctl enable opplysning-vis.service

install: all
	mkdir -p /opt/opplysning/bin
	cp -f bin/opplysning-endre			/opt/opplysning/bin/
	cp -f bin/opplysning-forfrisk			/opt/opplysning/bin/
	cp -f bin/opplysning-vis			/opt/opplysning/bin/
	mkdir -p /opt/opplysning/font
	cp -f font/BellCentennialStd-Address.ttf	/opt/opplysning/font/
	cp -f font/adventpro-bold.ttf			/opt/opplysning/font/
	mkdir -p /opt/opplysning/var
	cp -f systemd/opplysning-forfrisk.service	/lib/systemd/system
	cp -f systemd/opplysning-forfrisk.timer		/lib/systemd/system
	cp -f systemd/opplysning-vis.service		/lib/systemd/system
	systemctl daemon-reload

.PHONY: all check clean enable install

bin/opplysning-endre: opplysning-endre.c sqlite.o
	$(CC) $(CFLAGS) -o $@ opplysning-endre.c sqlite.o $(LIBS_LIBICAL) $(LIBS_SQLITE)

bin/opplysning-forfrisk: opplysning-forfrisk.sh
	cp -p opplysning-forfrisk.sh $@

bin/opplysning-vis: opplysning-vis.c sqlite.o
	$(CC) $(CFLAGS) -o $@ opplysning-vis.c sqlite.o $(LIBS_RAYLIB) $(LIBS_SQLITE)

check_ical: check_ical.c
	$(CC) $(CFLAGS) -o $@ check_ical.c $(LIBS_LIBICAL)

select: select.c sqlite.o
	$(CC) $(CFLAGS) -o $@ select.c sqlite.o $(LIBS_SQLITE)

sqlite.o: sqlite/sqlite3.c
	$(CC) $(CFLAGS) -c -o $@ sqlite/sqlite3.c

sqlite3: sqlite/shell.c sqlite/sqlite3.c
	$(CC) $(CFLAGS) -o sqlite3 sqlite/shell.c sqlite/sqlite3.c $(LIBS_SQLITE)