MAKEFLAGS += --no-builtin-rules WARNINGS = -Wall -Wextra -Wpedantic -Wformat=2 -Wstrict-aliasing=3 -Wstrict-overflow=3 -Wstack-usage=12500 \ -Wfloat-equal -Wcast-align -Wpointer-arith -Wchar-subscripts -Warray-bounds=2 override CFLAGS ?= -g -O2 $(WARNINGS) override CFLAGS += -std=c99 override CPPFLAGS ?= -D_FORTIFY_SOURCE=2 bins = xor mitm sw-crypt login game all: $(bins) %.a: $(LINK.c) -c $(filter %.c,$^) $(LDLIBS) -o $@ $(bins): %: $(LINK.c) $(filter %.c %.a,$^) $(LDLIBS) -o $@ packet.a: src/packet.c src/packet.h db.a: src/db.c src/db.h xor: src/xor.c mitm: src/mitm.c packet.a sw-crypt: src/sw-crypt.c packet.a login: private LDLIBS += $(shell pkg-config --libs-only-l sqlite3) login: src/login.c db.a packet.a game: private LDLIBS += $(shell pkg-config --libs-only-l sqlite3) game: src/game.c src/game.h db.a packet.a clean: $(RM) $(bins) *.a .PHONY: all clean