Keep upstream's important CFLAGS and macros and respect LDFLAGS. Omit those which the toolchain sets for us: https://wiki.gentoo.org/wiki/Hardened/Toolchain#Changes From: Lucio Sauer --- a/Makefile +++ b/Makefile @@ -2,13 +2,6 @@ CFLAGS ?= -std=c11 -O2 -pipe -finline-functions -fPIC -Wall -Wextra -Wpedantic -Wfatal-errors UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Darwin) - CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt -else ifeq ($(OS),Windows_NT) - CFLAGS += -D_WIN32 -else - CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt -Wl,-z,now -endif PREFIX ?= /usr BINDIR ?= $(PREFIX)/bin @@ -20,7 +13,7 @@ RELEASE_FILES := main.c Makefile COPYING README.md tinyxxd: main.c - $(CC) $(CFLAGS) -o $@ $< + $(CC) $(CFLAGS) -std=c11 -D_GNU_SOURCE $(LDFLAGS) -o $@ $< tinyxxd_debug: main.c $(CC) $(CFLAGS) -g -o $@ $<