Description: Fix for hardending
  Fix hardening-no-bindnow by adding DEB_BUILD_MAINT_OPTIONS = hardening=+all
  to rule and pass that variable to CFLAGS/SOFLAGS/LDFLAGS, use gcc for LD.
 .
 euslisp (9.26-1) unstable; urgency=low
 .
   * Remove lintian warnings
Author: Kei Okada <kei.okada@gmail.com>

---
Origin: other
Reviewed-By: Kei Okada <kei.okada@gmail.com>
Last-Update: 2019-12-05

diff --git a/lisp/Makefile.Linux64 b/lisp/Makefile.Linux64
index 247bfa3..4b8e968 100644
--- a/lisp/Makefile.Linux64
+++ b/lisp/Makefile.Linux64
@@ -46,7 +46,7 @@ MACHINE=x86_64
 DEBUG= -g
 WFLAGS= #-Wall -Wno-unused -Wno-switch -Wno-return-type
 
-CFLAGS= $(WFLAGS) -fPIC -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
+CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -fPIC -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
 	-DLIB6 $(ALIGN_FUNCTIONS) \
         $(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
 	-DGCC $(GCC3) \
@@ -84,7 +84,8 @@ OFLAGS= -O2
 
 # link-editor's default flags ?-rdynamic 
-SOFLAGS= -shared -build-id
-LDFLAGS= -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
+SOFLAGS:= $(LDFLAGS) -shared
+LD=gcc
+LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
 MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
 #MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
 MAPOPTION=  $(OBJDIR)/par.o
diff --git a/lisp/Makefile.generic2 b/lisp/Makefile.generic2
index 3c7cdab..69ee005 100644
--- a/lisp/Makefile.generic2
+++ b/lisp/Makefile.generic2
@@ -312,7 +312,7 @@ $(GLCOBJECTS):
 	 $(CC) -c -o $@ $(CFLAGS) $(OFLAGS) $(GLINCLUDE) $(@F:.o=.c))
 $(GCCLS): 
 	(cd $(TOOLDIR); \
-	$(CC) -o $(BINDIR)/gccls gccls.c ;\
+	$(CC) $(LDFLAGS) -o $(BINDIR)/gccls $(CFLAGS) gccls.c ;\
 	cd $(EUSDIR) )
 $(LCOBJECTS): $(GCCLS)
 	(cd $(LDIR); $(BINDIR)/gccls constants.l; \
diff --git a/lisp/image/jpeg/makefile b/lisp/image/jpeg/makefile
index a7396ce..da1f008 100644
--- a/lisp/image/jpeg/makefile
+++ b/lisp/image/jpeg/makefile
@@ -45,11 +45,11 @@ $(LIBDIR)/jpegmemcd.$(LSFX):	$(OBJFILES)
 	$(LD) -fPIC $(LDFLAGS) -o $(LIBDIR)/jpegmemcd.$(LSFX) $(OBJDIR)/jpegmemcd.o $(OBJDIR)/jmemsrc.o $(OBJDIR)/jmemdst.o -ljpeg
 
 $(OBJDIR)/jpegmemcd.o:	jpegmemcd.c
-	$(CC) $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
 $(OBJDIR)/jmemsrc.o:	jmemsrc.c
-	$(CC) $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
 $(OBJDIR)/jmemdst.o:	jmemdst.c
-	$(CC) $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
 clean:
 	rm -f $(OBJFILES) $(LIBDIR)/jpegmemcd.$(LSFX) eusjpeg.c eusjpeg.h
 
diff --git a/lisp/Makefile.LinuxARM b/lisp/Makefile.LinuxARM
index ec1665b..1de89b1 100644
--- a/lisp/Makefile.LinuxARM
+++ b/lisp/Makefile.LinuxARM
@@ -69,7 +69,7 @@ DEBUG= -g
 # If you use libc.so.5, remove -DLIB6 option.
 # In order to include thread library, libc.so.6 is preferrable.
 
-CFLAGS=$(WFLAGS) -D$(MACHINE) -DLinux -DARM -D_REENTRANT -DVERSION=\"$(VERSION)\" \
+CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -D$(MACHINE) -DLinux -DARM -D_REENTRANT -DVERSION=\"$(VERSION)\" \
 	-DLIB6 $(ALIGN_FUNCTIONS) $(ADD_CFLAGS) \
         $(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
 	-DGCC $(GCC3) \
@@ -94,8 +94,9 @@ LD=gcc
 XLIB= -L/usr/X11R6/lib -lX11
 
 # specify directories where euslisp's libraries are located.
-EUSLIB= -Xlinker -R$(ADLIBDIR):$(EUSDIR)/lib/LinuxARM -L$(ADLIBDIR)
+EUSRPATH=-R$(ADLIBDIR):$(EUSDIR)/lib/LinuxARM
+EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
 GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext
 
 # POSIX Thread 
 THREADDEP=mthread_posix.c
@@ -108,9 +109,10 @@ THREADDEP=mthread_posix.c
 # If you don't like optimization, comment out the next line.
 OFLAGS=-O2
 
-# link-editor's default flags ?-rdynamic 
-SOFLAGS= -shared -Xlinker -build-id
-LDFLAGS= -rdynamic -fno-stack-protector -Wl,-z,execstack $(ADD_LDFLAGS)
+# link-editor's default flags ?-rdynamic
+SOFLAGS:= $(LDFLAGS) -shared -Xlinker -build-id
+LD=gcc
+LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -Wl,-z,execstack $(ADD_LDFLAGS)
 MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
 #MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
 MAPOPTION=$(OBJDIR)/par.o
