build: Prefix CFLAGS and friends with OSL_.
authorAndre Noll <maan@tuebingen.mpg.de>
Sun, 17 May 2020 20:04:40 +0000 (22:04 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 7 Jun 2020 19:52:29 +0000 (21:52 +0200)
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

index 8e0f163b671aaba4554cfe76a00febaa99c24fa1..61ac1dc9529448764196bfaff0d8fa35d6c8a839 100644 (file)
--- 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;}' $< > $@