-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (47 loc) · 1.26 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
#
# macfand - hipuranyhou - 18.01.2021
#
# Daemon for controlling fans on systems using
# applesmc and coretemp.
#
# https://github.com/Hipuranyhou/macfand
#
CC := gcc
CFLAGS := -Wall -Wextra -pedantic -g
LD := gcc
LDFLAGS := -Wall -Wextra -pedantic -g
SRCDIR := src
SRCFILES := $(wildcard $(SRCDIR)/*.c)
OBJDIR := obj
OBJFILES := $(SRCFILES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
SYSDDIR := /etc/systemd/system
INSDIR := /usr/bin
EXECDIR := bin
EXEC := macfand
all: $(OBJDIR) $(EXECDIR) $(EXECDIR)/$(EXEC)
$(OBJDIR):
mkdir -p $(OBJDIR)
$(EXECDIR):
mkdir -p $(EXECDIR)
$(OBJDIR)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
$(EXECDIR)/$(EXEC): $(OBJFILES)
$(LD) $(LDFLAGS) $^ -o $@
run:
$(EXECDIR)/./$(EXEC) --config=macfand.conf
run_valgrind:
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes $(EXECDIR)/./$(EXEC) --config=macfand.conf
install:
cp $(EXECDIR)/$(EXEC) $(INSDIR)
chmod 755 $(INSDIR)/$(EXEC)
cp macfand.service $(SYSDDIR)
cp macfand.conf /etc
systemctl daemon-reload
systemctl enable --now macfand.service
uninstall:
systemctl disable --now macfand.service
systemctl daemon-reload
rm -f $(SYSDDIR)/macfand.service $(INSDIR)/$(EXEC) /etc/macfand.conf
clean:
rm -rf $(OBJDIR) $(EXECDIR)
.PHONY: clean install uninstall run run_valgrind