diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 27 |
1 files changed, 22 insertions, 5 deletions
@@ -1,8 +1,11 @@ DESTDIR=/ -CFLAGS += -Wextra -Wall -pedantic -g -Itmp -Isrc -I. -odiscord.c -Wno-unused-parameter -export-dynamic -rdynamic -finput-charset=UTF-8 -fextended-identifiers -CFLAGS += $(shell pkg-config --libs --cflags libwebsockets) $(shell pkg-config --libs --cflags gtk+-3.0) $(shell pkg-config --libs --cflags gmodule-export-2.0) +SRCFILE=src/main.c +CFLAGS += -Wextra -Wall -pedantic -g -Og -Itmp -Isrc -I. -odiscord.c -Wno-unused-parameter -rdynamic -finput-charset=UTF-8 -fextended-identifiers +LIBS += -lm +CFLAGS += $(shell pkg-config --cflags libwebsockets) $(shell pkg-config --cflags gtk+-3.0) $(shell pkg-config --cflags gmodule-export-2.0) +LIBS += $(shell pkg-config --libs libwebsockets) $(shell pkg-config --libs gtk+-3.0) $(shell pkg-config --libs gmodule-export-2.0) CC=cc - +VGARGS += --leak-check=full --track-origins=yes --verbose --log-file=valgrind-out.txt --suppressions=/usr/share/glib-2.0/valgrind/glib.supp --suppressions=tmp/gtk.supp --suppressions=/usr/lib/i386-linux-gnu/valgrind/default.supp --suppressions=tmp/gnome.supp --show-leak-kinds=definite --suppressions=misc/misc.supp --suppressions=/usr/share/gtk-3.0/valgrind/gtk.supp --leak-resolution=low # notparallel ker morajo biti ukazi izvedeni po vrsti, mkdir se mora zgoditi pred xxd recimo. .NOTPARALLEL: @@ -10,7 +13,7 @@ default: mkdir tmp -p xxd -i < src/ui.glade > tmp/ui.xxd echo ', 0' >> tmp/ui.xxd - $(CC) $(CFLAGS) src/main.c $(LIBS) + $(CC) $(CFLAGS) $(SRCFILE) $(LIBS) install: mkdir -p $(DESTDIR)/usr/bin/ @@ -25,5 +28,19 @@ clean: prepare: sudo apt install build-essential libwebsockets-dev libcjson-dev libsoundio-dev libgtk-3-dev xxd -y +# developing is to be done on i386. for example the default suppression file is hardcoded for i386 here: +# developing is to be done on bullseye. we download gtk.supp even though debian ships it, because that's how we "get rid of" more leaks. + +valgrind-prepare: + mkdir -p tmp + -[ ! -f tmp/gtk.supp ] && wget -c -Otmp/gtk.supp https://gitlab.gnome.org/GNOME/gtk/raw/master/gtk.supp + -[ ! -d tmp/GNOME.supp ] && bash -c "cd tmp && git clone https://github.com/GreenBeard/GNOME.supp && cd GNOME.supp && make && cd build && cat * > ../../gnome.supp" + valgrind: - valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt --suppressions=misc/openssl.supp ./discord.c + -[ ! -f tmp/gend.supp ] && bash -c "echo '' > tmp/gend.supp" + G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind $(VGARGS) --suppressions=tmp/gend.supp ./discord.c + +gensupp: + cc misc/valgrind-supp-extractor.c -otmp/vse + G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind $(VGARGS) --gen-suppressions=all ./discord.c + tmp/vse < valgrind-out.txt > tmp/gend.supp |