-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
40 lines (32 loc) · 1 KB
/
Copy pathMakefile
File metadata and controls
40 lines (32 loc) · 1 KB
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
include config.mk
# === Configurable Variables ===
LIBEVDEV_VERSION := 1.12.1
LIBEVDEV_DIR := libevdev-$(LIBEVDEV_VERSION)
LIBEVDEV_TAR := $(LIBEVDEV_DIR).tar.xz
LIBEVDEV_URL := https://www.freedesktop.org/software/libevdev/$(LIBEVDEV_TAR)
LDLIBS := ./$(LIBEVDEV_DIR)/libevdev/.libs/libevdev.a
CC := gcc
INCDIR := $(CURDIR)/include
CFLAGS := -I$(INCDIR) -I./libevdev-$(LIBEVDEV_VERSION)
CFLAGS_SO := -fPIC -Wall -Wextra -Wpedantic -shared -I$(INCDIR)
SRC := $(wildcard src/*.c)
OUT := haka.out
# 1 for Info logs, 2 for Debug logs
LOG_LEVEL := -DLOG=2
.PHONY: all clean plugins
# === Targets ===
all: $(OUT) plugins
plugins:
$(MAKE) -C plugins CFLAGS_SO="$(CFLAGS_SO)" LOG_LEVEL="$(LOG_LEVEL)"
$(OUT): $(SRC) $(LDLIBS)
$(CC) $(LOG_LEVEL) $(CFLAGS) -o $@ $^ $(LDLIBS)
$(LDLIBS): $(LIBEVDEV_TAR)
tar -xf $(LIBEVDEV_TAR)
cd $(LIBEVDEV_DIR) && ./configure --enable-static --disable-shared
$(MAKE) -C $(LIBEVDEV_DIR)
$(LIBEVDEV_TAR):
wget $(LIBEVDEV_URL)
clean:
rm -f $(OUT)
rm -rf prevFile.txt
rm -rf $(LIBEVDEV_DIR)