-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (50 loc) · 1.78 KB
/
Copy pathMakefile
File metadata and controls
64 lines (50 loc) · 1.78 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
CXX=g++
PKGCONFIG=pkg-config
CXXFLAGS+=-Wall -Wextra -Dcimg_use_jpeg=1 -Dcimg_use_png=1 -Dcimg_display=0 -Dcimg_plugin='"jpeg_buffer.h"' -g
CXXFLAGS_DOWNLOAD:= \
$(shell $(PKGCONFIG) --cflags libcurl)
LIBS_DOWNLOAD:= \
$(shell $(PKGCONFIG) --libs libcurl)
CXXFLAGS_LOCAL:= \
$(shell $(PKGCONFIG) --cflags libjpeg) \
$(shell $(PKGCONFIG) --cflags libpng)
LIBS_LOCAL:= \
$(shell $(PKGCONFIG) --libs libjpeg) \
$(shell $(PKGCONFIG) --libs libpng)
CXXFLAGS_DEFAULT:= \
$(CXXFLAGS_DOWNLOAD) \
$(CXXFLAGS_LOCAL)
LIBS_DEFAULT+= \
$(LIBS_DOWNLOAD) \
$(LIBS_LOCAL)
ifneq ($(strip $(ENABLE_SANITIZER)),)
CXXFLAGS+=-fsanitize=address -fsanitize=leak -fsanitize=undefined
endif
APP:=github-avatar-ukrainify
HEADERS_DOWNLOAD:=GithubAPI.hpp
SOURCES_DOWNLOAD:=GithubAPI.cpp
HEADERS_LOCAL:=ImageManipulation.hpp
SOURCES_LOCAL:=ImageManipulation.cpp
HEADERS_DEFAULT:=$(HEADERS_DOWNLOAD) $(HEADERS_LOCAL)
SOURCES_DEFAULT:=$(SOURCES_DOWNLOAD) $(SOURCES_LOCAL)
all: $(APP) $(APP)-download $(APP)-local
$(APP): $(HEADERS_DEFAULT) $(SOURCES_DEFAULT) main.cpp
$(PKGCONFIG) --exist libcurl || false
$(PKGCONFIG) --exist libjpeg || false
$(PKGCONFIG) --exist libpng || false
$(CXX) $(CXXFLAGS) $(CXXFLAGS_DEFAULT) \
$(LDFLAGS) $(SOURCES_DEFAULT) main.cpp -o $@ \
$(LIBS_DEFAULT)
$(APP)-download: $(HEADERS_DOWNLOAD) $(SOURCES_DOWNLOAD) main.cpp
$(PKGCONFIG) --exist libcurl || false
$(CXX) $(CXXFLAGS) -DDOWNLOAD_ONLY=1 $(CXXFLAGS_DOWNLOAD) \
$(LDFLAGS) $(SOURCES_DOWNLOAD) main.cpp -o $@ \
$(LIBS_DOWNLOAD)
$(APP)-local: $(HEADERS_LOCAL) $(SOURCES_LOCAL) main.cpp
$(PKGCONFIG) --exist libjpeg || false
$(PKGCONFIG) --exist libpng || false
$(CXX) $(CXXFLAGS) -DLOCAL_FILE=1 $(CXXFLAGS_LOCAL) \
$(LDFLAGS) $(SOURCES_LOCAL) main.cpp -o $@ \
$(LIBS_LOCAL)
clean:
rm -f $(APP) $(APP)-download $(APP)-local