-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathMakefile
More file actions
47 lines (36 loc) · 1.27 KB
/
Makefile
File metadata and controls
47 lines (36 loc) · 1.27 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
UNAMEOS = $(shell uname)
COMMON_CFLAGS= -Wall -Wextra -ggdb -std=c99 -pedantic -Ithirdparty -Ibuild -DPENGER
RGFW_CFLAGS= $(COMMON_CFLAGS)
COMMON_LIBS= -lm
ifeq ($(UNAMEOS),Darwin)
RGFW_LIBS= $(COMMON_LIBS) -framework CoreVideo -framework Cocoa -framework OpenGL -framework IOKit
else
RGFW_LIBS= -lX11 -lXrandr -lGLX -lGL $(COMMON_LIBS)
endif
PREFIX?= /usr/local
INSTALL?= install
.PHONY: all
all: Makefile sowon man
sowon: src/main.c build/digits.h build/penger_walk_sheet.h
$(CC) $(RGFW_CFLAGS) -o sowon src/main.c $(RGFW_LIBS)
build/digits.h: build/png2c ./assets/digits.png
./build/png2c ./assets/digits.png digits > build/digits.h
build/penger_walk_sheet.h: build/png2c ./assets/penger_walk_sheet.png
./build/png2c ./assets/penger_walk_sheet.png penger > build/penger_walk_sheet.h
build/png2c: src/png2c.c | build
$(CC) $(COMMON_CFLAGS) -o build/png2c src/png2c.c -lm
docs/sowon.6.gz: docs/sowon.6
gzip -c docs/sowon.6 > docs/sowon.6.gz
build:
mkdir -pv build
.PHONY: man
man: docs/sowon.6.gz
.PHONY: clean
clean:
rm -r sowon build docs/sowon.6.gz
.PHONY: install
install: all
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
$(INSTALL) -C ./sowon $(DESTDIR)$(PREFIX)/bin
$(INSTALL) -d $(DESTDIR)$(PREFIX)/man/man6
$(INSTALL) -C docs/sowon.6.gz $(DESTDIR)$(PREFIX)/man/man6