From edae5f1e75eaa5f8f97753b883ebddd51cb6a111 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 17 May 2020 22:04:40 +0200 Subject: [PATCH] build: Prefix CFLAGS and friends with OSL_. It is best practice to leave the "official" CPPFLAGS, CFLAGS and LDFLAGS variables alone and just add them at the end of the command line options. This way the user may override any of our settings by setting the corresponding option in the official variable. For example, to deactivate warnings about unused variables or functions, one may compile with make CFLAGS=-Wno-unused --- Makefile | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 8e0f163..61ac1dc 100644 --- a/Makefile +++ b/Makefile @@ -28,26 +28,25 @@ y := 1 z := 3 VERSION := $(x).$(y).$(z) -# common flags -CPPFLAGS += -DOSL_VERSION='"$(VERSION)"' - -CFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W -CFLAGS += -Wredundant-decls -CFLAGS += -Os -CFLAGS += -Wall -CFLAGS += -Wuninitialized -CFLAGS += -Wchar-subscripts -CFLAGS += -Wformat-security -CFLAGS += -Werror-implicit-function-declaration -CFLAGS += -Wmissing-format-attribute -CFLAGS += -Wunused-macros -CFLAGS += -Wbad-function-cast -CFLAGS += -fPIC -CFLAGS += -fvisibility=hidden - -LDFLAGS += -Wl,-soname,$(soname) -LDFLAGS += -Wl,-z,defs -LDFLAGS += --shared +OSL_CPPFLAGS += -DOSL_VERSION='"$(VERSION)"' + +OSL_CFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W +OSL_CFLAGS += -Wredundant-decls +OSL_CFLAGS += -Os +OSL_CFLAGS += -Wall +OSL_CFLAGS += -Wuninitialized +OSL_CFLAGS += -Wchar-subscripts +OSL_CFLAGS += -Wformat-security +OSL_CFLAGS += -Werror-implicit-function-declaration +OSL_CFLAGS += -Wmissing-format-attribute +OSL_CFLAGS += -Wunused-macros +OSL_CFLAGS += -Wbad-function-cast +OSL_CFLAGS += -fPIC +OSL_CFLAGS += -fvisibility=hidden + +OSL_LDFLAGS += -Wl,-soname,$(soname) +OSL_LDFLAGS += -Wl,-z,defs +OSL_LDFLAGS += --shared # On ELf-based systems, the following conventions apply (see dhweeler's # Program Library HOWTO): @@ -74,7 +73,9 @@ ifeq ($(findstring clean, $(MAKECMDGOALS)),) -include $(deps) endif %.o: %.c Makefile errtab.h - $(CC) $(CPPFLAGS) -c -MMD -MF $(*F).d -MT $@ $(CFLAGS) $< + $(CC) $(OSL_CPPFLAGS) $(CPPFLAGS) \ + -c -MMD -MF $(*F).d -MT $@ \ + $(OSL_CFLAGS) $(CFLAGS) $< fsck.o: oslfsck.lsg.h oslfsck: $(fsck_objects) @@ -90,7 +91,7 @@ oslfsck: $(fsck_objects) lopsubgen --gen-man=$@ < $< $(realname): $(objects) - $(CC) $(LDFLAGS) -o $@ $(objects) + $(CC) $(OSL_LDFLAGS) $(LDFLAGS) -o $@ $(objects) $(libname).sym: osl.h.in sed -Ene '/^int|^const/{s/.*(osl_.*)\(.*/\1/; p;}' $< > $@ -- 2.30.2