diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5089c65 --- /dev/null +++ b/Makefile | |||
@@ -0,0 +1,56 @@ | |||
1 | |||
2 | SOURCE_DIR = src/ | ||
3 | INSTALL_DIR = /usr/local/ | ||
4 | |||
5 | BINARY = messenger-gtk | ||
6 | SOURCES = messenger_gtk.c | ||
7 | HEADERS = | ||
8 | |||
9 | LIBRARIES = gnunetchat | ||
10 | PACKAGES = libhandy-1 gtk+-3.0 libnotify | ||
11 | |||
12 | CC = gcc | ||
13 | LD = gcc | ||
14 | RM = rm | ||
15 | |||
16 | CFLAGS = -pedantic -Wall -Wextra -march=native -ggdb3 | ||
17 | LDFLAGS = | ||
18 | |||
19 | DEBUGFLAGS = -O0 -D _DEBUG | ||
20 | RELEASEFLAGS = -O2 -D NDEBUG -fwhole-program | ||
21 | |||
22 | SOURCE_FILES = $(addprefix $(SOURCE_DIR), $(SOURCES)) | ||
23 | OBJECT_FILES = $(SOURCE_FILES:%.c=%.o) | ||
24 | HEADER_FILES = $(addprefix $(SOURCE_DIR), $(HEADERS)) | ||
25 | LIBRARY_FLAGS = $(addprefix -l, $(LIBRARIES)) | ||
26 | PACKAGE_FLAGS = $(shell pkg-config --cflags --libs $(PACKAGES)) | ||
27 | |||
28 | all: $(BINARY) | ||
29 | |||
30 | debug: CFLAGS += $(DEBUGFLAGS) | ||
31 | debug: $(BINARY) | ||
32 | |||
33 | release: CFLAGS += $(RELEASEFLAGS) | ||
34 | release: $(BINARY) | ||
35 | |||
36 | %.o: %.c | ||
37 | $(CC) $(CFLAGS) -c $< -o $@ $(LIBRARY_FLAGS) $(PACKAGE_FLAGS) | ||
38 | |||
39 | $(BINARY): $(OBJECT_FILES) | ||
40 | $(LD) $(LDFLAGS) $^ -o $@ $(LIBRARY_FLAGS) $(PACKAGE_FLAGS) | ||
41 | |||
42 | .PHONY: install | ||
43 | |||
44 | install: | ||
45 | install -m 755 $(BINARY) $(addprefix $(INSTALL_DIR), bin/) | ||
46 | |||
47 | .PHONY: uninstall | ||
48 | |||
49 | uninstall: | ||
50 | $(RM) -f $(addsuffix $(BINARY), $(addprefix $(INSTALL_DIR), bin/)) | ||
51 | |||
52 | .PHONY: clean | ||
53 | |||
54 | clean: | ||
55 | $(RM) -f $(BINARY) | ||
56 | $(RM) -f $(OBJECT_FILES) \ No newline at end of file | ||