-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
66 lines (47 loc) · 1.77 KB
/
Makefile
File metadata and controls
66 lines (47 loc) · 1.77 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
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
PREFIX ?= /usr/local
CC ?= gcc
CFLAGS ?= -O2 -s
PWD = $(shell pwd)
CMODULES_DIR = $(PWD)/src/modules
CFUNCTIONS_DIR = $(CMODULES_DIR)/functions
BUILD_DIR = $(PWD)/build
FLUX_BUILD = $(BUILD_DIR)/flux
all:
mkdir -p $(BUILD_DIR)
echo '#!/usr/bin/bash' > $(FLUX_BUILD)
for module in $(PWD)/src/functions/*.sh $(PWD)/src/oneshot/*.sh; do \
echo >> $(FLUX_BUILD); \
cat $$module >> $(FLUX_BUILD); \
done
echo >> $(FLUX_BUILD)
cat src/main.sh >> $(FLUX_BUILD)
chmod +x $(FLUX_BUILD)
$(CC) $(CFLAGS) -o $(BUILD_DIR)/flux-listener $(CMODULES_DIR)/flux_listener.c \
-lX11 -lXext -lXRes
$(CC) $(CFLAGS) -o $(BUILD_DIR)/window-minimize $(CMODULES_DIR)/window_minimize.c \
-lX11
$(CC) $(CFLAGS) -o $(BUILD_DIR)/window-fullscreen $(CMODULES_DIR)/window_fullscreen.c \
-lX11
$(CC) $(CFLAGS) -o $(BUILD_DIR)/select-window $(CMODULES_DIR)/select_window.c \
$(CFUNCTIONS_DIR)/third-party/xprop/clientwin.c \
$(CFUNCTIONS_DIR)/third-party/xprop/dsimple.c \
-lX11 -lXRes -lXext
$(CC) $(CFLAGS) -o $(BUILD_DIR)/flux-grab-cursor $(CMODULES_DIR)/flux_grab_cursor.c \
-lX11 -lXext -lXRes
$(CC) $(CFLAGS) -o $(BUILD_DIR)/validate-x11-session $(CMODULES_DIR)/validate_x11_session.c \
-lX11
clean:
rm -rf $(BUILD_DIR)
install:
mkdir -p $(PREFIX)/bin/
mkdir -p $(PREFIX)/lib/flux/
install -Dm 755 $(FLUX_BUILD) $(PREFIX)/bin/
install -Dm 755 $(BUILD_DIR)/flux-listener $(PREFIX)/lib/flux/
install -Dm 755 $(BUILD_DIR)/window-minimize $(PREFIX)/lib/flux/
install -Dm 755 $(BUILD_DIR)/window-fullscreen $(PREFIX)/lib/flux/
install -Dm 755 $(BUILD_DIR)/select-window $(PREFIX)/lib/flux/
install -Dm 755 $(BUILD_DIR)/flux-grab-cursor $(PREFIX)/lib/flux/
install -Dm 755 $(BUILD_DIR)/validate-x11-session $(PREFIX)/lib/flux/
uninstall:
rm $(PREFIX)/bin/flux
rm -rf $(PREFIX)/lib/flux/