-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (55 loc) · 1.4 KB
/
Makefile
File metadata and controls
72 lines (55 loc) · 1.4 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
VERSION = 0.1.8
CC = cc
CFLAGS = -flto -O2
LDFLAGS = -flto
CPPFLAGS = -I. -D_POSIX_C_SOURCE=200809L -DVERSION=$(VERSION)
ifneq ($(filter %BSD,$(shell uname -s)),)
CPPFLAGS += -D_BSD_SOURCE -D__BSD_VISIBLE
endif
ifneq ($(filter Darwin,$(shell uname -s)),)
CPPFLAGS += -D_DARWIN_C_SOURCE
endif
PREFIX = /usr/local
PATH_BIN = $(DESTDIR)$(PREFIX)/bin
PATH_MAN = $(DESTDIR)$(PREFIX)/share/man/man1
SRC = \
src/components/buffer.c \
src/components/channel.c \
src/components/input.c \
src/components/ircv3.c \
src/components/mode.c \
src/components/server.c \
src/components/user.c \
src/draw.c \
src/handlers/irc_ctcp.c \
src/handlers/irc_recv.c \
src/handlers/irc_send.c \
src/handlers/ircv3.c \
src/io.c \
src/rirc.c \
src/state.c \
src/utils/utils.c \
OBJ = $(SRC:.c=.o)
all: rirc
include lib/mbedtls.Makefile
config.h:
cp config.def.h config.h
rirc: config.h $(OBJ) $(MBEDTLS)
$(CC) $(LDFLAGS) -pthread $(OBJ) $(MBEDTLS) -o $@
install: rirc
@sed -i "s/VERSION/$(VERSION)/g" rirc.1
mkdir -p $(PATH_BIN)
mkdir -p $(PATH_MAN)
cp -f rirc $(PATH_BIN)
cp -f rirc.1 $(PATH_MAN)
chmod 755 $(PATH_BIN)/rirc
chmod 644 $(PATH_MAN)/rirc.1
uninstall:
rm -f $(PATH_BIN)/rirc
rm -f $(PATH_MAN)/rirc.1
clean:
@rm -f rirc $(MBEDTLS) $(OBJ)
%.o: %.c config.h $(MBEDTLS)
$(CC) -std=c11 -c $(CFLAGS) $(CPPFLAGS) $(MBEDTLS_CFLAGS) -DNDEBUG $< -o $@
.PHONY: all clean install uninstall
.SUFFIXES: