aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorTheJackiMonster <thejackimonster@gmail.com>2022-09-25 12:37:58 +0200
committerTheJackiMonster <thejackimonster@gmail.com>2022-09-25 12:37:58 +0200
commit9aff43ff3b692f9fd15ae1f29e6522b5a4ee7642 (patch)
tree56ee5fbb8980e6642a0136875dd99837e3d7d043 /Makefile
parent7deabe9ff611d68ae780903e4970b5d73cd13493 (diff)
downloadmessenger-cli-9aff43ff3b692f9fd15ae1f29e6522b5a4ee7642.tar.gz
messenger-cli-9aff43ff3b692f9fd15ae1f29e6522b5a4ee7642.zip
Transition from single makefile to automake
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile102
1 files changed, 0 insertions, 102 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 66bb7e2..0000000
--- a/Makefile
+++ /dev/null
@@ -1,102 +0,0 @@
1
2VERSION = 0.1.0
3TARGET_NAME = messenger-cli
4
5SOURCE_DIR = src/
6INSTALL_DIR ?= /usr/local/
7
8PACKAGE = $(TARGET_NAME)
9BINARY = $(TARGET_NAME)
10SOURCES = messenger_cli.c\
11 application.c\
12 chat.c\
13 util.c\
14 ui/account_create_dialog.c\
15 ui/accounts.c\
16 ui/chat_open_dialog.c\
17 ui/chats.c\
18 ui/lobby_create_dialog.c\
19 ui/lobby_enter_dialog.c\
20 ui/members.c\
21 ui/messages.c
22HEADERS = application.h\
23 chat.h\
24 util.h\
25 ui/account_create_dialog.h\
26 ui/accounts.h\
27 ui/chat.h\
28 ui/chat_open_dialog.h\
29 ui/chats.h\
30 ui/list_input.h\
31 ui/lobby_create_dialog.h\
32 ui/lobby_enter_dialog.h\
33 ui/members.h\
34 ui/messages.h\
35 ui/text_input.h
36
37LIBRARIES = gnunetchat gnunetutil ncurses
38
39DIST_FILES = Makefile\
40 AUTHORS\
41 CHANGES.md\
42 COPYING\
43 README.md
44
45GNU_CC ?= gcc
46GNU_LD ?= gcc
47GNU_RM ?= rm
48GNU_CP ?= cp
49GNU_TAR ?= tar
50
51CFLAGS += -pedantic -Wall -Wextra -ggdb3 -Wno-overlength-strings
52LDFLAGS +=
53
54DEBUGFLAGS = -O0 -D _DEBUG
55RELEASEFLAGS = -O2 -D NDEBUG
56
57DIST_DIR = $(PACKAGE)-$(VERSION)/
58DIST_TAR = $(PACKAGE)-$(VERSION).tar.gz
59
60SOURCE_FILES = $(addprefix $(SOURCE_DIR), $(SOURCES))
61OBJECT_FILES = $(SOURCE_FILES:%.c=%.o)
62HEADER_FILES = $(addprefix $(SOURCE_DIR), $(HEADERS))
63LIBRARY_FLAGS = $(addprefix -l, $(LIBRARIES))
64
65all: $(BINARY)
66
67debug: CFLAGS += $(DEBUGFLAGS)
68debug: $(BINARY)
69
70release: CFLAGS += $(RELEASEFLAGS)
71release: $(BINARY)
72
73%.o: %.c
74 $(GNU_CC) $(CFLAGS) -c $< -o $@
75
76$(BINARY): $(OBJECT_FILES)
77 $(GNU_LD) $(LDFLAGS) $^ -o $@ $(LIBRARY_FLAGS)
78
79.PHONY: install
80
81install:
82 install -m 755 $(BINARY) $(addprefix $(INSTALL_DIR), bin/)
83
84.PHONY: uninstall
85
86uninstall:
87 $(GNU_RM) -f $(addsuffix $(BINARY), $(addprefix $(INSTALL_DIR), bin/))
88
89.PHONY: dist
90
91dist: clean
92 mkdir $(DIST_DIR)
93 $(GNU_CP) -r $(SOURCE_DIR) $(DIST_DIR)
94 $(foreach DIST_FILE,$(DIST_FILES),$(GNU_CP) $(DIST_FILE) $(addprefix $(DIST_DIR), $(DIST_FILE));)
95 $(GNU_TAR) -czf $(DIST_TAR) $(DIST_DIR)
96 $(GNU_RM) -r $(DIST_DIR)
97
98.PHONY: clean
99
100clean:
101 $(GNU_RM) -f $(BINARY)
102 $(GNU_RM) -f $(OBJECT_FILES)