From 0533006b4d36e8699ea51036d8914c22e46fae3f Mon Sep 17 00:00:00 2001 From: David Teigland Date: Oct 04 2018 16:26:46 +0000 Subject: update makefile gcc flags --- diff --git a/reset/Makefile b/reset/Makefile index 04a2303..5f5c425 100644 --- a/reset/Makefile +++ b/reset/Makefile @@ -4,37 +4,40 @@ TARGET2 = sanlk-reset SOURCE1 = sanlk_resetd.c SOURCE2 = sanlk_reset.c -OPTIMIZE_FLAG = -O2 -Wp,-D_FORTIFY_SOURCE=2 -ifeq ($(DEBUG), 1) - OPTIMIZE_FLAG = -O0 - CFLAGS += -g -endif - -CFLAGS += -D_GNU_SOURCE \ - -Wall \ - -Wformat \ - -Wformat-security \ - -Wnested-externs \ - -Wpointer-arith \ - -Wextra -Wshadow \ - -Wcast-align \ - -Wwrite-strings \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Winline \ - -Wredundant-decls \ - -Wno-sign-compare \ - -fexceptions \ - -fasynchronous-unwind-tables \ - -fdiagnostics-show-option \ - $(OPTIMIZE_FLAG) \ - $(NULL) +CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ + -Wall \ + -Wformat \ + -Wformat-security \ + -Wmissing-prototypes \ + -Wnested-externs \ + -Wpointer-arith \ + -Wextra \ + -Wshadow \ + -Wcast-align \ + -Wwrite-strings \ + -Waggregate-return \ + -Wstrict-prototypes \ + -Winline \ + -Wredundant-decls \ + -Wno-sign-compare \ + -Wno-unused-parameter \ + -Wp,-D_FORTIFY_SOURCE=2 \ + -Wno-strict-overflow \ + -fexceptions \ + -fasynchronous-unwind-tables \ + -fdiagnostics-show-option \ + -Wp,-D_GLIBCXX_ASSERTIONS \ + -fstack-protector-strong \ + -fstack-clash-protection \ + -Wl,-z,now VER=$(shell cat ../VERSION) CFLAGS += -DVERSION=\"$(VER)\" -I../src -I../wdmd + CFLAGS += -fPIE -DPIE -LDFLAGS += -Wl,-z,now -Wl,-z,relro +LDFLAGS += -Wl,-z,relro -pie + LDADD = -lsanlock -lwdmd all: $(TARGET1) $(TARGET2) diff --git a/src/Makefile b/src/Makefile index 1d03784..a266dac 100644 --- a/src/Makefile +++ b/src/Makefile @@ -65,22 +65,15 @@ LIB_CLIENT_SOURCE = \ LIBPC_ENTIRE_SOURCE = libsanlock.pc.in LIBPC_CLIENT_SOURCE = libsanlock_client.pc.in -OPTIMIZE_FLAG = -O2 -Wp,-D_FORTIFY_SOURCE=2 -ifeq ($(DEBUG), 1) - OPTIMIZE_FLAG = -O0 - CFLAGS += -g -endif - - - -CFLAGS += -D_GNU_SOURCE \ +CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ -Wall \ -Wformat \ -Wformat-security \ -Wmissing-prototypes \ -Wnested-externs \ -Wpointer-arith \ - -Wextra -Wshadow \ + -Wextra \ + -Wshadow \ -Wcast-align \ -Wwrite-strings \ -Waggregate-return \ @@ -88,34 +81,40 @@ CFLAGS += -D_GNU_SOURCE \ -Winline \ -Wredundant-decls \ -Wno-sign-compare \ + -Wno-unused-parameter \ + -Wp,-D_FORTIFY_SOURCE=2 \ -Wno-strict-overflow \ -fexceptions \ -fasynchronous-unwind-tables \ -fdiagnostics-show-option \ - $(OPTIMIZE_FLAG) \ - $(NULL) + -Wp,-D_GLIBCXX_ASSERTIONS \ + -fstack-protector-strong \ + -fstack-clash-protection \ + -Wl,-z,now VER=$(shell cat ../VERSION) CFLAGS += -DVERSION=\"$(VER)\" CMD_CFLAGS = $(CFLAGS) -fPIE -DPIE -CMD_LDFLAGS = $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -CMD_LDADD = -lpthread -luuid -lrt -laio -lblkid -lsanlock -L../wdmd -lwdmd +LIB_ENTIRE_CFLAGS = $(CFLAGS) -fPIC +LIB_CLIENT_CFLAGS = $(CFLAGS) -fPIC -LIB_ENTIRE_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -LIB_ENTIRE_LDADD = -lpthread -lrt -laio -lblkid -L../wdmd -lwdmd +CMD_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie +LIB_ENTIRE_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie +LIB_CLIENT_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie -LIB_CLIENT_LDFLAGS = $(LDFLAGS) -Wl,-z,relro +CMD_LDADD = -lpthread -luuid -lrt -laio -lblkid -lsanlock -L../wdmd -lwdmd +LIB_ENTIRE_LDADD = -lpthread -lrt -laio -lblkid -L../wdmd -lwdmd all: $(LIBSO_ENTIRE_TARGET) $(LIBSO_CLIENT_TARGET) $(CMD_TARGET) $(LIBPC_ENTIRE_TARGET) $(LIBPC_CLIENT_TARGET) $(LIBSO_ENTIRE_TARGET): $(LIB_ENTIRE_SOURCE) - $(CC) $(CFLAGS) $(LDFLAGS) $(LIB_ENTIRE_LDFLAGS) -shared -fPIC -o $@ -Wl,-soname=$(LIB_ENTIRE_TARGET).so.$(SOMAJOR) $^ $(LIB_ENTIRE_LDADD) + $(CC) $(LIB_ENTIRE_CFLAGS) $(LIB_ENTIRE_LDFLAGS) -shared -o $@ -Wl,-soname=$(LIB_ENTIRE_TARGET).so.$(SOMAJOR) $^ $(LIB_ENTIRE_LDADD) ln -sf $(LIBSO_ENTIRE_TARGET) $(LIB_ENTIRE_TARGET).so ln -sf $(LIBSO_ENTIRE_TARGET) $(LIB_ENTIRE_TARGET).so.$(SOMAJOR) $(LIBSO_CLIENT_TARGET): $(LIB_CLIENT_SOURCE) - $(CC) $(CFLAGS) $(LDFLAGS) $(LIB_CLIENT_LDFLAGS) -shared -fPIC -o $@ -Wl,-soname=$(LIB_CLIENT_TARGET).so.$(SOMAJOR) $^ + $(CC) $(LIB_CLIENT_CFLAGS) $(LIB_CLIENT_LDFLAGS) -shared -o $@ -Wl,-soname=$(LIB_CLIENT_TARGET).so.$(SOMAJOR) $^ ln -sf $(LIBSO_CLIENT_TARGET) $(LIB_CLIENT_TARGET).so ln -sf $(LIBSO_CLIENT_TARGET) $(LIB_CLIENT_TARGET).so.$(SOMAJOR) diff --git a/wdmd/Makefile b/wdmd/Makefile index 0c44389..74b04e2 100644 --- a/wdmd/Makefile +++ b/wdmd/Makefile @@ -14,21 +14,21 @@ SOMAJOR=1 SOMINOR=0 SHLIB_TARGET = $(LIB_TARGET).so.$(SOMAJOR).$(SOMINOR) - CMD_SOURCE = main.c wdmd_sock.c LIB_SOURCE = client.c wdmd_sock.c TEST_SOURCE = wdmd_client.c -CFLAGS += -D_GNU_SOURCE -g -O2 \ +CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ -Wall \ -Wformat \ -Wformat-security \ -Wmissing-prototypes \ -Wnested-externs \ -Wpointer-arith \ - -Wextra -Wshadow \ + -Wextra \ + -Wshadow \ -Wcast-align \ -Wwrite-strings \ -Waggregate-return \ @@ -36,35 +36,42 @@ CFLAGS += -D_GNU_SOURCE -g -O2 \ -Winline \ -Wredundant-decls \ -Wno-sign-compare \ + -Wno-unused-parameter \ -Wp,-D_FORTIFY_SOURCE=2 \ + -Wno-strict-overflow \ -fexceptions \ -fasynchronous-unwind-tables \ -fdiagnostics-show-option \ - -fPIE -DPIE + -Wp,-D_GLIBCXX_ASSERTIONS \ + -fstack-protector-strong \ + -fstack-clash-protection \ + -Wl,-z,now VER=$(shell cat ../VERSION) CFLAGS += -DVERSION=\"$(VER)\" -CMD_LDFLAGS = $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -CMD_LDADD = -lwdmd -lrt +CMD_CFLAGS = $(CFLAGS) -fPIE -DPIE +LIB_CFLAGS = $(CFLAGS) -fPIC -LIB_LDFLAGS = $(LDFLAGS) -Wl,-z,relro +CMD_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie +LIB_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie -TEST_LDFLAGS = $(LDFLAGS) -lwdmd +CMD_LDADD = -lwdmd -lrt +TEST_LDFLAGS = $(LDFLAGS) -Wl,-z,relro -pie -lwdmd -all: $(SHLIB_TARGET) $(CMD_TARGET) $(TEST_TARGET) +all: $(SHLIB_TARGET) $(CMD_TARGET) $(SHLIB_TARGET): $(LIB_SOURCE) - $(CC) $(CFLAGS) $(LIB_LDFLAGS) -shared -fPIC -o $@ -Wl,-soname=$(LIB_TARGET).so.$(SOMAJOR) $^ + $(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ -Wl,-soname=$(LIB_TARGET).so.$(SOMAJOR) $^ ln -sf $(SHLIB_TARGET) $(LIB_TARGET).so ln -sf $(SHLIB_TARGET) $(LIB_TARGET).so.$(SOMAJOR) $(CMD_TARGET): $(SHLIB_TARGET) $(CMD_SOURCE) - $(CC) $(CFLAGS) $(CMD_LDFLAGS) $(CMD_SOURCE) $(CMD_LDADD) -o $@ -L. + $(CC) $(CMD_CFLAGS) $(CMD_LDFLAGS) $(CMD_SOURCE) $(CMD_LDADD) -o $@ -L. $(TEST_TARGET): $(SHLIB_TARGET) $(TEST_SOURCE) - $(CC) $(CFLAGS) $(TEST_LDFLAGS) $(TEST_SOURCE) $(CMD_LDADD) -o $@ -L. + $(CC) $(CMD_CFLAGS) $(TEST_LDFLAGS) $(TEST_SOURCE) $(CMD_LDADD) -o $@ -L. clean: rm -f *.o *.so *.so.* $(CMD_TARGET) $(TEST_TARGET)