Description: improved support for build flags
 The first change makes linking makeHeader use the same CPP/CXX/LD flags as the
 rest of the sources.
 The second change stops btyacc/Makefile from ignoring CFLAGS from the
 environment.
 The third change stops overriding CXXFLAGS
 The result is using hardening flags from the environment when compiling and
 linking.
Author: Damyan Ivanov <dmn@debian.org>

--- a/extern/btyacc/Makefile
+++ b/extern/btyacc/Makefile
@@ -11,12 +11,6 @@ HDRS	      = defs.h mstring.h
 # Keep this as simple as possible. It's desirable that btyacc be portable
 # across all of our supported compilers/platforms.
 
-# Vanilla CFLAGS
-CFLAGS=
-
-# No LDFLAGS
-#LDFLAGS=
-
 LIBS=
 
 # For GNU environment, gmake will set $CC to gcc
@@ -42,7 +36,7 @@ OTHERS	      = README README.BYACC \
 all:		$(PROGRAM)
 
 $(PROGRAM):     $(OBJS) $(LIBS)
-		$(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
+		$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
 
 clean:;		rm -f $(OBJS)
 
--- a/builds/posix/make.defaults
+++ b/builds/posix/make.defaults
@@ -193,12 +193,12 @@ ifeq ($(PLATFORM),DARWIN)
 LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS)
 EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS)
 else
-LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) -static-libstdc++
-EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) -static-libstdc++
+LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(LDFLAGS)
+EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(LDFLAGS)
 endif
 
 STATICLIB_LINK = $(AR) crus
-STATICEXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) -static-libstdc++
+STATICEXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(LDFLAGS) -static-libstdc++
 
 LINK_LIBS = @LIBS@ $(DECLIB) $(RE2LIB) $(I128LIB)
 SO_LINK_LIBS = @LIBS@ $(DECLIB) $(RE2LIB) $(I128LIB)
--- a/builds/posix/Makefile.in
+++ b/builds/posix/Makefile.in
@@ -138,10 +138,10 @@ $(API_H_FILE): $(IDL_FILE)
 #
 
 $(RPL_AWK):	$(RPL_AWK_SRC)
-	$(CC) -o $@ $^
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^
 
 $(RPL_GREP): $(RPL_GREP_SRC)
-	$(CC) -o $@ $^
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^
 
 $(TMP_FUNCS): $(PASCAL_SOURCES) $(XPB_CONSTS) $(INF_CONSTS) $(ERR_CONSTS) $(RPL_AWK) $(RPL_GREP)
 	cp $(PAS_ROOT)/fb_get_master_interface.pas $(TMP_FUNCS)
--- a/examples/extauth/Makefile
+++ b/examples/extauth/Makefile
@@ -61,13 +61,13 @@ KEYGEN_objects=$(INTERMED)/keygen.o
 TCWRAP_objects=$(INTERMED)/TcWrapper.o
 KEY_AUTH_objects=$(INTERMED)/ExtAuth.o
 
-CXXFLAGS=-std=c++11 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
-LDFLAGS=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK)
+CXXFLAGS+=-std=c++11 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
+LDFLAGS+=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK)
 
 LINK_LIBS=-lfbclient -ltomcrypt -ltommath
 
 $(INTERMED)/%.o: ./%.cpp
-	$(CXX) $(CXXFLAGS) -c $(firstword $<) -o $@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(firstword $<) -o $@
 
 .PHONY:		all keygen plugin install
 
--- a/extern/decNumber/Makefile
+++ b/extern/decNumber/Makefile
@@ -2,7 +2,7 @@ LIBRARY=libdecFloat$(CROSS).a
 
 $(LIBRARY):		$(wildcard *.c) $(wildcard *.h) Makefile
 	$(RM) -f *.o
-	$(CC) $(CROSS_FLAGS) -c -O3 -fPIC $(subst decCommon.c,,$(subst decBasic.c,,$(wildcard *.c)))
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(CROSS_FLAGS) -c -O3 -fPIC $(subst decCommon.c,,$(subst decBasic.c,,$(wildcard *.c)))
 	$(AR) crs $(LIBRARY) *.o
 	$(RM) -f *.o
 
