From: Andre Noll Date: Sun, 17 May 2020 20:04:40 +0000 (+0200) Subject: build: Prefix CFLAGS and friends with OSL_. X-Git-Tag: v0.2.0~8^2~1 X-Git-Url: http://git.tuebingen.mpg.de/?p=osl.git;a=commitdiff_plain;h=edae5f1e75eaa5f8f97753b883ebddd51cb6a111;ds=sidebyside 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 --- 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;}' $< > $@