Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
82 lines (63 loc) · 1.64 KB
/
Copy pathMakefile
File metadata and controls
82 lines (63 loc) · 1.64 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
PREFIX ?= /usr/local
BINDIR = $(DESTDIR)$(PREFIX)/bin
MANDIR = $(DESTDIR)$(PREFIX)/share/man/man1
DOCDIR = $(DESTDIR)$(PREFIX)/share/doc/bcal
STRIP ?= strip
CFLAGS_OPTIMIZATION ?= -Os
CFLAGS_WARNINGS ?= -Wall -Wextra -Wno-unused-parameter -Werror
LDLIBS_READLINE ?= -lreadline
LDLIBS_EDITLINE ?= -ledit
LDLIBS_MATH ?= -lm
CFLAGS += $(CFLAGS_OPTIMIZATION) $(CFLAGS_WARNINGS)
O_EL := 0 # set to use the BSD editline library
O_NORL := 0 # set to use native input prompt without readline
O_STATIC := 0 # set to build statically (forces O_NORL)
ifeq ($(strip $(O_STATIC)),1)
O_NORL := 1
LDFLAGS += -static
endif
ifeq ($(strip $(O_NORL)),1)
CFLAGS += -DNORL
LDLIBS += $(LDLIBS_MATH)
else ifeq ($(strip $(O_EL)),1)
LDLIBS += $(LDLIBS_EDITLINE)
LDLIBS += $(LDLIBS_MATH)
else
LDLIBS += $(LDLIBS_READLINE)
LDLIBS += $(LDLIBS_MATH)
endif
SRC = $(wildcard src/*.c)
INCLUDE = -Iinc
bcal: $(SRC)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(INCLUDE) -o bcal $(SRC) $(LDLIBS)
$(STRIP) bcal
all: bcal
test: bcal
python3 -m pytest test.py
static:
$(MAKE) O_STATIC=1
x86: $(SRC)
$(CC) -m64 $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(INCLUDE) -o bcal $(SRC) $(LDLIBS)
$(STRIP) bcal
distclean: clean
rm -f *~
install: bcal
install -m 0755 -d $(BINDIR)
install -m 0755 -d $(MANDIR)
install -m 0755 -d $(DOCDIR)
install -m 0755 bcal $(BINDIR)
gzip -c bcal.1 > bcal.1.gz
install -m 0644 bcal.1.gz $(MANDIR)
install -m 0644 README.md $(DOCDIR)
rm -f bcal.1.gz
uninstall:
rm -f $(BINDIR)/bcal
rm -f $(MANDIR)/bcal.1.gz
rm -rf $(DOCDIR)
strip: bcal
$(STRIP) $^
clean:
-rm -f bcal
skip: ;
.PHONY: all test x86 distclean install uninstall strip clean
.PHONY: static