~sergiodj/debian_newlisp

4c8357ce6ee004da1d7f2d6f9cb652e105b63cd6 — Sergio Durigan Junior 7 years ago aff966f
Initial release of newLISP.

Closes: #425456
A debian/changelog => debian/changelog +5 -0
@@ 0,0 1,5 @@
newlisp (10.7.0-1) unstable; urgency=medium

  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>

 -- Sergio Durigan Junior <sergiodj@sergiodj.net>  Sat, 11 Jun 2016 13:25:20 -0400

A debian/compat => debian/compat +1 -0
@@ 0,0 1,1 @@
9

A debian/control => debian/control +39 -0
@@ 0,0 1,39 @@
Source: newlisp
Section: lisp
Priority: optional
Maintainer: Sergio Durigan Junior <sergiodj@sergiodj.net>
Build-Depends:
 debhelper (>=9),
 libffi-dev,
 libreadline-dev
Standards-Version: 3.9.8
Homepage: http://www.newlisp.org
Vcs-Git: git://git.sergiodj.net/debian/newlisp.git
Vcs-Browser: http://git.sergiodj.net/?p=debian/newlisp.git;a=summary

Package: newlisp
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
# For newLISP modules.
Recommends:
 libcrypto++6,
 libmysqlclient18,
 libpq5,
 libsqlite3-0,
 zlib1g
Description: LISP like, general purpose scripting language
 newLISP is a scripting language for developing web applications and
 programs in general and in the domains of artificial intelligence
 (AI) and statistics.

Package: newlisp-dbg
Architecture: any
Priority: extra
Section: debug
Depends: ${shlibs:Depends}, ${misc:Depends}, newlisp (= ${binary:Version})
Description: LISP like, general purpose scripting language (debug symbols)
 newLISP is a scripting language for developing web applications and
 programs in general and in the domains of artificial intelligence
 (AI) and statistics.
 .
 This package contains the debugging symbols for newLISP.

A debian/copyright => debian/copyright +126 -0
@@ 0,0 1,126 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: newlisp
Source: http://www.newlisp.org

Files: *
Copyright: Lutz Mueller <lutz@nuevatec.com>
License: GPL-3+

Files: doc/*
Copyright: Lutz Mueller <lutz@nuevatec.com>
License: GFDL-NIV-1.2

Files: debian/*
Copyright: 2016 Sergio Durigan Junior <sergiodj@sergiodj.net>
License: GPL-3+

Files:
 guiserver/images/*.png
 guiserver/images/*.jpg
Copyright: 2007-2016 Michael Michaels
License: GPL-3+

Files: pcre*
Copyright: 1997-2016 University of Cambridge
License: BSD-3-clause

Files: win-path.c
Copyright: 2007,2008,2010 Michael Sabin
License: zlib

Files: nl-web.c
Copyright:
 2016 Lutz Mueller <lutz@nuevatec.com>
 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
License: GPL-3+ and curl

Files: nl-utf8.c
Copyright:
 2016 Lutz Mueller <lutz@nuevatec.com>
 1997-2003 University of Cambridge
License: GPL-3+ and BSD-3-clause

License: GPL-3+
 This package is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program. If not, see <https://www.gnu.org/licenses/>
 .
 On Debian systems, the complete text of the GNU General
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

License: GFDL-NIV-1.2
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
 copy of the license is included in the section entitled "GNU Free
 Documentation License".
 .
 On Debian systems, the complete text of the GNU Free Documentation
 License version 1.2 can be found in
 "/usr/share/common-licenses/GFDL-1.2".

License: BSD-3-clause
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
     * Redistributions of source code must retain the above copyright notice,
       this list of conditions and the following disclaimer.
 .
     * Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
 .
     * Neither the name of the University of Cambridge nor the names of its
       contributors may be used to endorse or promote products derived from
       this software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.

License: zlib
 This software is provided 'as-is', without any express or implied
 warranty.  In no event will the authors be held liable for any damages
 arising from the use of this software.
 .
 Permission is granted to anyone to use this software for any purpose,
 including commercial applications, and to alter it and redistribute it
 freely, subject to the following restrictions:
 .
 1. The origin of this software must not be misrepresented; you must not
    claim that you wrote the original software. If you use this software
    in a product, an acknowledgment in the product documentation would be
    appreciated but is not required.
 2. Altered source versions must be plainly marked as such, and must not be
    misrepresented as being the original software.
 3. This notice may not be removed or altered from any source distribution.

License: curl
 This software is licensed as described in the file COPYING, which
 you should have received as part of this distribution. The terms
 are also available at http://curl.haxx.se/docs/copyright.html.
 .
 You may opt to use, copy, modify, merge, publish, distribute and/or sell
 copies of the Software, and permit persons to whom the Software is
 furnished to do so, under the terms of the COPYING file.
 .
 This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 KIND, either express or implied.

A debian/newlisp.doc-base => debian/newlisp.doc-base +12 -0
@@ 0,0 1,12 @@
Document: newlisp
Title: Debian newLISP Manual
Author: Lutz Mueller
Abstract: This manual describes how to use newLISP, a LISP like,
 general purpose scripting language for developing web applications
 and programs in general and in the domains of artificial intelligence
 (AI) and statistics.
Section: Programming

Format: HTML
Index: /usr/share/doc/newlisp/newlisp_index.html
Files: /usr/share/doc/newlisp/*.html /usr/share/doc/newlisp/guiserver/*.html

A debian/patches/0001-Support-CFLAGS-via-env-var.patch => debian/patches/0001-Support-CFLAGS-via-env-var.patch +1665 -0
@@ 0,0 1,1665 @@
From: Sergio Durigan Junior <sergiodj@sergiodj.net>
Date: Sun, 12 Jun 2016 01:14:15 -0400
Subject: Support CFLAGS via env var

This modification is intended to support building the package while
providing CFLAGS via the environment.
---
 makefile_aixILP32_utf8_gcc            | 4 ++--
 makefile_aixLP64_utf8_gcc             | 4 ++--
 makefile_aixLP64_utf8_xlc             | 4 ++--
 makefile_aix_utf8_gcc                 | 4 ++--
 makefile_aix_utf8_xlc                 | 4 ++--
 makefile_amal_darwin_utf8_ffi         | 4 ++--
 makefile_bsd                          | 4 ++--
 makefile_bsdLP64                      | 4 ++--
 makefile_bsdLP64_utf8                 | 4 ++--
 makefile_bsdLP64_utf8_ffi             | 4 ++--
 makefile_bsdLP64_utf8_lib             | 4 ++--
 makefile_bsd_lib                      | 4 ++--
 makefile_bsd_utf8                     | 4 ++--
 makefile_bsd_utf8_ffi                 | 4 ++--
 makefile_bsd_utf8_lib                 | 4 ++--
 makefile_cygwin                       | 4 ++--
 makefile_cygwinLP64                   | 4 ++--
 makefile_darwin                       | 4 ++--
 makefile_darwinLP64                   | 4 ++--
 makefile_darwinLP64_utf8              | 4 ++--
 makefile_darwinLP64_utf8_ffi          | 4 ++--
 makefile_darwinLP64_utf8_lib          | 4 ++--
 makefile_darwin_universal_utf8_compat | 4 ++--
 makefile_darwin_utf8                  | 4 ++--
 makefile_darwin_utf8_ffi              | 4 ++--
 makefile_darwin_utf8_leopardIntel     | 4 ++--
 makefile_darwin_utf8_leopardIntel_ffi | 4 ++--
 makefile_darwin_utf8_leopardPPC       | 4 ++--
 makefile_darwin_utf8_leopardPPC_ffi   | 4 ++--
 makefile_darwin_utf8_lib              | 4 ++--
 makefile_emscripten_lib_utf8          | 2 +-
 makefile_linux                        | 4 ++--
 makefile_linuxLP64                    | 4 ++--
 makefile_linuxLP64_ffi                | 4 ++--
 makefile_linuxLP64_lib                | 4 ++--
 makefile_linuxLP64_redhat_utf8_ffi    | 4 ++--
 makefile_linuxLP64_utf8               | 4 ++--
 makefile_linuxLP64_utf8_ffi           | 4 ++--
 makefile_linux_ffi                    | 4 ++--
 makefile_linux_lib                    | 4 ++--
 makefile_linux_lib_utf8               | 4 ++--
 makefile_linux_maemo_utf8             | 4 ++--
 makefile_linux_openwrt                | 4 ++--
 makefile_linux_redhat_utf8_ffi        | 4 ++--
 makefile_linux_utf8                   | 4 ++--
 makefile_linux_utf8_ffi               | 4 ++--
 makefile_mingw                        | 4 ++--
 makefile_mingw64                      | 4 ++--
 makefile_mingw64_ffi                  | 4 ++--
 makefile_mingw64_utf8                 | 4 ++--
 makefile_mingw64_utf8_ffi             | 4 ++--
 makefile_mingw64dll                   | 4 ++--
 makefile_mingw64dll_ffi               | 4 ++--
 makefile_mingw64dll_utf8              | 4 ++--
 makefile_mingw64dll_utf8_ffi          | 4 ++--
 makefile_mingw_ffi                    | 4 ++--
 makefile_mingw_utf8                   | 4 ++--
 makefile_mingw_utf8_ffi               | 4 ++--
 makefile_mingwdll                     | 4 ++--
 makefile_mingwdll_ffi                 | 4 ++--
 makefile_mingwdll_utf8                | 4 ++--
 makefile_mingwdll_utf8_ffi            | 4 ++--
 makefile_netbsd                       | 4 ++--
 makefile_netbsd_utf8                  | 4 ++--
 makefile_opensolaris                  | 4 ++--
 makefile_os2                          | 4 ++--
 makefile_raspberrypi                  | 4 ++--
 makefile_raspberrypi_utf8             | 4 ++--
 makefile_sunos                        | 4 ++--
 makefile_sunosLP64                    | 4 ++--
 makefile_sunosLP64_utf8               | 4 ++--
 makefile_sunos_utf8                   | 4 ++--
 makefile_tru64                        | 4 ++--
 73 files changed, 145 insertions(+), 145 deletions(-)

diff --git a/makefile_aixILP32_utf8_gcc b/makefile_aixILP32_utf8_gcc
index 8021488..f0c3694 100644
--- a/makefile_aixILP32_utf8_gcc
+++ b/makefile_aixILP32_utf8_gcc
@@ -5,14 +5,14 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
         nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line 
-CFLAGS = -maix32 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DSUPPORT_UTF8 -DAIX 
+DEFAULT_CFLAGS = -maix32 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = gcc 
 
 default: $(OBJS) 
 	$(CC) $(OBJS) -maix32 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(CFLAGS) $< 
+	$(CC) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixILP32_utf8_gcc 
 # 
diff --git a/makefile_aixLP64_utf8_gcc b/makefile_aixLP64_utf8_gcc
index 1f5c6da..ea0d37b 100644
--- a/makefile_aixLP64_utf8_gcc
+++ b/makefile_aixLP64_utf8_gcc
@@ -5,14 +5,14 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
         nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line 
-CFLAGS = -maix64 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DNEWLISP64 -DSUPPORT_UTF8 -DAIX 
+DEFAULT_CFLAGS = -maix64 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DNEWLISP64 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = gcc 
 
 default: $(OBJS) 
 	$(CC) $(OBJS) -maix64 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(CFLAGS) $< 
+	$(CC) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixLP64_utf8_gcc 
 # 
diff --git a/makefile_aixLP64_utf8_xlc b/makefile_aixLP64_utf8_xlc
index a6f9f2b..ff66a9c 100644
--- a/makefile_aixLP64_utf8_xlc
+++ b/makefile_aixLP64_utf8_xlc
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
         nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line 
-CFLAGS = -q64 -c -g -O2 -DNEWLISP64 -DSUPPORT_UTF8 -DAIX 
+DEFAULT_CFLAGS = -q64 -c -g -O2 -DNEWLISP64 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = xlc_r 
 
 
@@ -14,7 +14,7 @@ default: $(OBJS)
 	OBJECT_MODE=64 $(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(CFLAGS) $< 
+	$(CC) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixLP64_utf8_xlc
 #=====================================================================================
diff --git a/makefile_aix_utf8_gcc b/makefile_aix_utf8_gcc
index 97ee53f..ac0cbb5 100644
--- a/makefile_aix_utf8_gcc
+++ b/makefile_aix_utf8_gcc
@@ -5,14 +5,14 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
         nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line 
-CFLAGS = -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DSUPPORT_UTF8 -DAIX 
+DEFAULT_CFLAGS = -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-long-long -c -O2 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = gcc 
 
 default: $(OBJS) 
 	$(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(CFLAGS) $< 
+	$(CC) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aix_utf8_gcc 
 # 
diff --git a/makefile_aix_utf8_xlc b/makefile_aix_utf8_xlc
index c270260..65b8e40 100644
--- a/makefile_aix_utf8_xlc
+++ b/makefile_aix_utf8_xlc
@@ -7,14 +7,14 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line 
-CFLAGS = -c -g -O2 -DSUPPORT_UTF8 -DAIX 
+DEFAULT_CFLAGS = -c -g -O2 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = xlc_r 
 
 default: $(OBJS) 
 	$(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(CFLAGS) $< 
+	$(CC) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aix_utf8_xlc
 #=====================================================================================
diff --git a/makefile_amal_darwin_utf8_ffi b/makefile_amal_darwin_utf8_ffi
index bfc237e..598a86f 100644
--- a/makefile_amal_darwin_utf8_ffi
+++ b/makefile_amal_darwin_utf8_ffi
@@ -9,7 +9,7 @@
 
 OBJS = newlisp-amal.o pcre.o
 
-CFLAGS = -Wall -m32 -O1 -I/usr/include -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI
+DEFAULT_CFLAGS = -Wall -m32 -O1 -I/usr/include -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI $(CFLAGS)
 
 CC = gcc
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 newlisp-amal.c:
 	cat newlisp.c nl-symbol.c nl-math.c nl-list.c nl-liststr.c nl-string.c nl-filesys.c \
diff --git a/makefile_bsd b/makefile_bsd
index fd09d96..822499e 100644
--- a/makefile_bsd
+++ b/makefile_bsd
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 # the option -fno-strict-aliasing may not be available on some BSD versions 
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD $(CFLAGS)
 # or without readline lib
 #CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -D_BSD
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd
 
diff --git a/makefile_bsdLP64 b/makefile_bsdLP64
index 525abd7..5f84db4 100644
--- a/makefile_bsdLP64
+++ b/makefile_bsdLP64
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 # the option -fno-strict-aliasing may not be available on some BSD versions 
 
-CFLAGS = -m64 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -DNEWLISP64 -D_BSD
+DEFAULT_CFLAGS = -m64 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -DNEWLISP64 -D_BSD $(CFLAGS)
 # or without readline lib
 #CFLAGS = -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DNEWLISP64 -D_BSD
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64
 
diff --git a/makefile_bsdLP64_utf8 b/makefile_bsdLP64_utf8
index bbbeeec..ef80f79 100644
--- a/makefile_bsdLP64_utf8
+++ b/makefile_bsdLP64_utf8
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 # the option -fno-strict-aliasing may not be available on some BSD versions 
 
-CFLAGS = -m64 -Wall -Wno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -DNEWLISP64 -DSUPPORT_UTF8 -D_BSD
+DEFAULT_CFLAGS = -m64 -Wall -Wno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -DNEWLISP64 -DSUPPORT_UTF8 -D_BSD $(CFLAGS)
 # or without readline lib
 #CFLAGS = -m64 -Wall -Wno-strict-aliasing -O2 -c -g -DNEWLISP64 -D_BSD
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8
 
diff --git a/makefile_bsdLP64_utf8_ffi b/makefile_bsdLP64_utf8_ffi
index 63cc0c5..bb97723 100644
--- a/makefile_bsdLP64_utf8_ffi
+++ b/makefile_bsdLP64_utf8_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 # the option -fno-strict-aliasing may not be available on some BSD versions 
-CFLAGS = -m64 -Wall -fno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -DNEWLISP64 -DSUPPORT_UTF8 -D_BSD -DFFI
+DEFAULT_CFLAGS = -m64 -Wall -fno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -DNEWLISP64 -DSUPPORT_UTF8 -D_BSD -DFFI $(CFLAGS)
 
 # or without readline lib and libffi
 #CFLAGS = -m64 -Wall -Wno-strict-aliasing -O2 -c -g -DNEWLISP64 -D_BSD
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8_ffi
 
diff --git a/makefile_bsdLP64_utf8_lib b/makefile_bsdLP64_utf8_lib
index 7905582..4157f71 100644
--- a/makefile_bsdLP64_utf8_lib
+++ b/makefile_bsdLP64_utf8_lib
@@ -3,7 +3,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o unix-lib.o
 
-CFLAGS = -m64 -fPIC -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DNEWLISP64 -DSUPPORT_UTF8 -DLIBRARY
+DEFAULT_CFLAGS = -m64 -fPIC -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DNEWLISP64 -DSUPPORT_UTF8 -DLIBRARY $(CFLAGS)
 
 CC = cc
 
@@ -12,7 +12,7 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8_lib
 
diff --git a/makefile_bsd_lib b/makefile_bsd_lib
index 8292fe1..38a6d75 100644
--- a/makefile_bsd_lib
+++ b/makefile_bsd_lib
@@ -3,7 +3,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o unix-lib.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD $(CFLAGS)
 
 CC = cc
 
@@ -12,7 +12,7 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_lib
 
diff --git a/makefile_bsd_utf8 b/makefile_bsd_utf8
index c12ba76..82e48cb 100644
--- a/makefile_bsd_utf8
+++ b/makefile_bsd_utf8
@@ -4,7 +4,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD -DSUPPORT_UTF8
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD -DSUPPORT_UTF8 $(CFLAGS)
 # or without readline lib
 #CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DSUPPORT_UTF8
 
@@ -17,7 +17,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8
 
diff --git a/makefile_bsd_utf8_ffi b/makefile_bsd_utf8_ffi
index 28d807e..ba66327 100644
--- a/makefile_bsd_utf8_ffi
+++ b/makefile_bsd_utf8_ffi
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -D_BSD -DSUPPORT_UTF8 -DFFI
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -I/usr/local/include -DREADLINE -D_BSD -DSUPPORT_UTF8 -DFFI $(CFLAGS)
 # or without readline lib
 #CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DSUPPORT_UTF8
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8_ffi
 
diff --git a/makefile_bsd_utf8_lib b/makefile_bsd_utf8_lib
index d1478ce..d60078a 100644
--- a/makefile_bsd_utf8_lib
+++ b/makefile_bsd_utf8_lib
@@ -3,7 +3,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o unix-lib.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DSUPPORT_UTF8 -DLIBRARY
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D_BSD -DSUPPORT_UTF8 -DLIBRARY $(CFLAGS)
 
 CC = cc
 
@@ -12,7 +12,7 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8_lib
 
diff --git a/makefile_cygwin b/makefile_cygwin
index 50f151c..c488d2a 100644
--- a/makefile_cygwin
+++ b/makefile_cygwin
@@ -18,7 +18,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m32 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DCYGWIN
+DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DCYGWIN $(CFLAGS)
 #CFLAGS = -m32 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DFFI -DCYGWIN
 
 CC = gcc
@@ -30,7 +30,7 @@ default: $(OBJS)
 	strip newlisp.exe
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_cygwin
 
diff --git a/makefile_cygwinLP64 b/makefile_cygwinLP64
index abaff04..efa44fc 100644
--- a/makefile_cygwinLP64
+++ b/makefile_cygwinLP64
@@ -18,7 +18,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m64 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DCYGWIN
+DEFAULT_CFLAGS = -m64 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DCYGWIN $(CFLAGS)
 #CFLAGS = -m64 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DFFI -DCYGWIN
 
 CC = gcc
@@ -30,7 +30,7 @@ default: $(OBJS)
 	strip newlisp.exe
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_cygwin
 
diff --git a/makefile_darwin b/makefile_darwin
index 022e3ed..e65a2ec 100644
--- a/makefile_darwin
+++ b/makefile_darwin
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o
 
-CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX
+DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX $(CFLAGS)
 
 CC = cc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin
 
diff --git a/makefile_darwinLP64 b/makefile_darwinLP64
index 60b41bb..c7f755c 100644
--- a/makefile_darwinLP64
+++ b/makefile_darwinLP64
@@ -7,7 +7,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m64 -Wall -O1 -c -g -DREADLINE -DMAC_OSX -DNEWLISP64
+DEFAULT_CFLAGS = -m64 -Wall -O1 -c -g -DREADLINE -DMAC_OSX -DNEWLISP64 $(CFLAGS)
 
 CC = cc
 
@@ -16,7 +16,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64
 
diff --git a/makefile_darwinLP64_utf8 b/makefile_darwinLP64_utf8
index 2284c1a..8389d86 100644
--- a/makefile_darwinLP64_utf8
+++ b/makefile_darwinLP64_utf8
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m64 -Wall -Oz -c -g -DREADLINE -DMAC_OSX -DNEWLISP64 -DSUPPORT_UTF8
+DEFAULT_CFLAGS = -m64 -Wall -Oz -c -g -DREADLINE -DMAC_OSX -DNEWLISP64 -DSUPPORT_UTF8 $(CFLAGS)
 
 CC = cc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64_utf8
 
diff --git a/makefile_darwinLP64_utf8_ffi b/makefile_darwinLP64_utf8_ffi
index feee913..7eab14e 100644
--- a/makefile_darwinLP64_utf8_ffi
+++ b/makefile_darwinLP64_utf8_ffi
@@ -7,7 +7,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m64 -mmacosx-version-min=10.6 -Wall -Oz -c -DREADLINE -DMAC_OSX -DNEWLISP64 -DSUPPORT_UTF8 -DFFI
+DEFAULT_CFLAGS = -m64 -mmacosx-version-min=10.6 -Wall -Oz -c -DREADLINE -DMAC_OSX -DNEWLISP64 -DSUPPORT_UTF8 -DFFI $(CFLAGS)
 
 CC = cc
 
@@ -16,7 +16,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64_utf8_ffi
 
diff --git a/makefile_darwinLP64_utf8_lib b/makefile_darwinLP64_utf8_lib
index 99ae917..c0c22f9 100644
--- a/makefile_darwinLP64_utf8_lib
+++ b/makefile_darwinLP64_utf8_lib
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o unix-lib.o
 
-CFLAGS = -m64 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY -DNEWLISP64
+DEFAULT_CFLAGS = -m64 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY -DNEWLISP64 $(CFLAGS)
 
 CC = cc
 
@@ -14,7 +14,7 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -lm -lreadline -bundle -o newlisp.dylib
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwinLP64_utf8_lib
 
diff --git a/makefile_darwin_universal_utf8_compat b/makefile_darwin_universal_utf8_compat
index 23a04b5..8774e5f 100644
--- a/makefile_darwin_universal_utf8_compat
+++ b/makefile_darwin_universal_utf8_compat
@@ -29,7 +29,7 @@ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk
 # -I$(SDKROOT)/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/include 
 # -I$(SDKROOT)/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/
 
-CFLAGS = -Wall -arch i386 -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT) 
+DEFAULT_CFLAGS = -Wall -arch i386 -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT)  $(CFLAGS)
 
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
@@ -41,7 +41,7 @@ default: $(OBJS)
 #   lipo newlisp-universal -output newlisp-ppc -thin ppc
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_universal_utf8_compat
 
diff --git a/makefile_darwin_utf8 b/makefile_darwin_utf8
index 0be629e..e84758c 100644
--- a/makefile_darwin_utf8
+++ b/makefile_darwin_utf8
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o
 
-CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8
+DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 $(CFLAGS)
 
 CC = cc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8
 
diff --git a/makefile_darwin_utf8_ffi b/makefile_darwin_utf8_ffi
index 9431872..1829c46 100644
--- a/makefile_darwin_utf8_ffi
+++ b/makefile_darwin_utf8_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o
 
-CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI
+DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI $(CFLAGS)
 
 CC = cc
 #CC = gcc 
@@ -16,7 +16,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_ffi
 
diff --git a/makefile_darwin_utf8_leopardIntel b/makefile_darwin_utf8_leopardIntel
index 6cbebd2..2c1cd8f 100644
--- a/makefile_darwin_utf8_leopardIntel
+++ b/makefile_darwin_utf8_leopardIntel
@@ -14,7 +14,7 @@
 CC = /usr/bin/gcc-4.2
 SDKROOT = /Developer/SDKs/MacOSX10.5.sdk
 
-CFLAGS = -Wall -arch i386 -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT) 
+DEFAULT_CFLAGS = -Wall -arch i386 -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT)  $(CFLAGS)
 
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
@@ -24,7 +24,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_leopardIntel
 
diff --git a/makefile_darwin_utf8_leopardIntel_ffi b/makefile_darwin_utf8_leopardIntel_ffi
index 7379f0a..26f5a7d 100644
--- a/makefile_darwin_utf8_leopardIntel_ffi
+++ b/makefile_darwin_utf8_leopardIntel_ffi
@@ -14,7 +14,7 @@
 CC = /usr/bin/gcc-4.2
 SDKROOT = /Developer/SDKs/MacOSX10.5.sdk
 
-CFLAGS = -Wall -arch i386 -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI -isysroot $(SDKROOT) 
+DEFAULT_CFLAGS = -Wall -arch i386 -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI -isysroot $(SDKROOT)  $(CFLAGS)
 
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
@@ -24,7 +24,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_leopardIntel_ffi
 
diff --git a/makefile_darwin_utf8_leopardPPC b/makefile_darwin_utf8_leopardPPC
index 0c423b4..3456f71 100644
--- a/makefile_darwin_utf8_leopardPPC
+++ b/makefile_darwin_utf8_leopardPPC
@@ -19,7 +19,7 @@ CC = /usr/bin/gcc-4.2
 # SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk
 SDKROOT = /Developer/SDKs/MacOSX10.5.sdk
 
-CFLAGS = -Wall -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT) 
+DEFAULT_CFLAGS = -Wall -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -isysroot $(SDKROOT)  $(CFLAGS)
 
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
@@ -29,7 +29,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_leopardPPC
 
diff --git a/makefile_darwin_utf8_leopardPPC_ffi b/makefile_darwin_utf8_leopardPPC_ffi
index 3757073..f5dcb3c 100644
--- a/makefile_darwin_utf8_leopardPPC_ffi
+++ b/makefile_darwin_utf8_leopardPPC_ffi
@@ -19,7 +19,7 @@ CC = /usr/bin/gcc-4.2
 # SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk
 SDKROOT = /Developer/SDKs/MacOSX10.5.sdk
 
-CFLAGS = -m32 -Wall -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI -isysroot $(SDKROOT) 
+DEFAULT_CFLAGS = -m32 -Wall -arch ppc -Os -c -g -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DFFI -isysroot $(SDKROOT)  $(CFLAGS)
 
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
@@ -29,7 +29,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_leopardPPC_ffi
 
diff --git a/makefile_darwin_utf8_lib b/makefile_darwin_utf8_lib
index be4355b..4319f9c 100644
--- a/makefile_darwin_utf8_lib
+++ b/makefile_darwin_utf8_lib
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o unix-lib.o
 
-CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY
+DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY $(CFLAGS)
 
 CC = cc
 
@@ -14,7 +14,7 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -lreadline -bundle -o newlisp.dylib
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin_utf8_lib
 
diff --git a/makefile_emscripten_lib_utf8 b/makefile_emscripten_lib_utf8
index b3ec177..fa54783 100644
--- a/makefile_emscripten_lib_utf8
+++ b/makefile_emscripten_lib_utf8
@@ -21,7 +21,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-web.o nl-xml-json.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o unix-lib.o
 
-CFLAGS = -m32 -Wall -c -DMAC_OSX -DLIBRARY -DEMSCRIPTEN  -DSUPPORT_UTF8
+DEFAULT_CFLAGS = -m32 -Wall -c -DMAC_OSX -DLIBRARY -DEMSCRIPTEN  -DSUPPORT_UTF8 $(CFLAGS)
 
 CC = emcc
 
diff --git a/makefile_linux b/makefile_linux
index 5ef676a..0f9a019 100644
--- a/makefile_linux
+++ b/makefile_linux
@@ -7,7 +7,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
 #CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX
-CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX 
+DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX  $(CFLAGS)
 
 CC = gcc
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux
 
diff --git a/makefile_linuxLP64 b/makefile_linuxLP64
index 3b100b0..bd1bf85 100644
--- a/makefile_linuxLP64
+++ b/makefile_linuxLP64
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DNEWLISP64 -DLINUX
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DNEWLISP64 -DLINUX $(CFLAGS)
 
 CC = gcc
 
@@ -18,6 +18,6 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64
diff --git a/makefile_linuxLP64_ffi b/makefile_linuxLP64_ffi
index b3bb23b..2f5e1c4 100644
--- a/makefile_linuxLP64_ffi
+++ b/makefile_linuxLP64_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DNEWLISP64 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include 
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DNEWLISP64 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include  $(CFLAGS)
 
 CC = gcc
 
@@ -18,6 +18,6 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64_ffi
diff --git a/makefile_linuxLP64_lib b/makefile_linuxLP64_lib
index dde5f65..9958261 100644
--- a/makefile_linuxLP64_lib
+++ b/makefile_linuxLP64_lib
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o unix-lib.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DNEWLISP64 -DLIBRARY
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DNEWLISP64 -DLIBRARY $(CFLAGS)
 
 CC = gcc
 
@@ -15,6 +15,6 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64_lib
diff --git a/makefile_linuxLP64_redhat_utf8_ffi b/makefile_linuxLP64_redhat_utf8_ffi
index 1f4bf21..c93f4de 100644
--- a/makefile_linuxLP64_redhat_utf8_ffi
+++ b/makefile_linuxLP64_redhat_utf8_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX -DFFI -ILIBFFI_VERSION
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX -DFFI -ILIBFFI_VERSION $(CFLAGS)
 
 CC = gcc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64_redhat_utf8_ffi
 
diff --git a/makefile_linuxLP64_utf8 b/makefile_linuxLP64_utf8
index f5fd1a9..2028391 100644
--- a/makefile_linuxLP64_utf8
+++ b/makefile_linuxLP64_utf8
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX $(CFLAGS)
 
 CC = gcc
 
@@ -18,6 +18,6 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64_utf8
diff --git a/makefile_linuxLP64_utf8_ffi b/makefile_linuxLP64_utf8_ffi
index d7d6446..7f994a0 100644
--- a/makefile_linuxLP64_utf8_ffi
+++ b/makefile_linuxLP64_utf8_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include 
+DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DNEWLISP64 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include  $(CFLAGS)
 
 # replace -O2 with -Oz when using clang/llvm
 #CC = clang 
@@ -21,6 +21,6 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linuxLP64_utf8_ffi
diff --git a/makefile_linux_ffi b/makefile_linux_ffi
index 9d985aa..b00cb90 100644
--- a/makefile_linux_ffi
+++ b/makefile_linux_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include 
+DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include  $(CFLAGS)
 
 CC = gcc
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_ffi
 
diff --git a/makefile_linux_lib b/makefile_linux_lib
index 12623ce..dd7d4f6 100644
--- a/makefile_linux_lib
+++ b/makefile_linux_lib
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o unix-lib.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -DLINUX -DLIBRARY
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -DLINUX -DLIBRARY $(CFLAGS)
 
 CC = gcc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_lib
 
diff --git a/makefile_linux_lib_utf8 b/makefile_linux_lib_utf8
index dfa171f..b2cb44a 100644
--- a/makefile_linux_lib_utf8
+++ b/makefile_linux_lib_utf8
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o unix-lib.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -DLIBRARY -DSUPPORT_UTF8 -DLINUX
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -DLIBRARY -DSUPPORT_UTF8 -DLINUX $(CFLAGS)
 
 CC = gcc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp.so
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_lib_utf8
 
diff --git a/makefile_linux_maemo_utf8 b/makefile_linux_maemo_utf8
index 29ccae4..3cbf368 100644
--- a/makefile_linux_maemo_utf8
+++ b/makefile_linux_maemo_utf8
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 #CFLAGS = -Wall -Wno-uninitialized -c -O2 -g -DLINUX
-CFLAGS = -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX
+DEFAULT_CFLAGS = -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX $(CFLAGS)
 
 CC = gcc
 
@@ -19,7 +19,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_maemo_utf8
 
diff --git a/makefile_linux_openwrt b/makefile_linux_openwrt
index 925fbe3..0e8d028 100644
--- a/makefile_linux_openwrt
+++ b/makefile_linux_openwrt
@@ -7,7 +7,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -Wall -Wl,--gc-sections  -ffunction-sections -fdata-sections  -c -Os  -fno-threadsafe-statics  -DLINUX -I$(TARGET_DIR)/usr/include/
+DEFAULT_CFLAGS = -Wall -Wl,--gc-sections  -ffunction-sections -fdata-sections  -c -Os  -fno-threadsafe-statics  -DLINUX -I$(TARGET_DIR)/usr/include/
 $(CFLAGS)
 LDFLAGS = -L$(TARGET_DIR)/usr/lib/  -W1,--gc-sections -lm -ldl
 CC = mips-openwrt-linux-gcc
 LD = mips-openwrt-linux-ld
@@ -21,7 +21,7 @@ default: $(OBJS)
 	mv newlisp_s newlisp
 
 .c.o:
-   	$(CC) $(CFLAGS) $<
+   	$(CC) $(DEFAULT_CFLAGS) $<
 	$(OBJS): primes.h protos.h makefile_linux_openwrt
 
 
diff --git a/makefile_linux_redhat_utf8_ffi b/makefile_linux_redhat_utf8_ffi
index fe61157..80ec9f5 100644
--- a/makefile_linux_redhat_utf8_ffi
+++ b/makefile_linux_redhat_utf8_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -ILIBFFI_VERSION
+DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -ILIBFFI_VERSION $(CFLAGS)
 
 CC = gcc
 
@@ -15,7 +15,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_redhat_utf8_ffi
 
diff --git a/makefile_linux_utf8 b/makefile_linux_utf8
index bfcadd9..496564f 100644
--- a/makefile_linux_utf8
+++ b/makefile_linux_utf8
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX
+DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX $(CFLAGS)
 
 CC = gcc
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_utf8
 
diff --git a/makefile_linux_utf8_ffi b/makefile_linux_utf8_ffi
index 9b020e7..a045bbf 100644
--- a/makefile_linux_utf8_ffi
+++ b/makefile_linux_utf8_ffi
@@ -6,7 +6,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include
+DEFAULT_CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include $(CFLAGS)
 
 CC = gcc
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_linux_utf8_ffi
 
diff --git a/makefile_mingw b/makefile_mingw
index 4e30c76..81fc5a0 100644
--- a/makefile_mingw
+++ b/makefile_mingw
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o
 
-CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw
 
diff --git a/makefile_mingw64 b/makefile_mingw64
index bdd1f7f..7dea019 100644
--- a/makefile_mingw64
+++ b/makefile_mingw64
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o  \
 	win-util.o win-path.o
 
-CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw64
 
diff --git a/makefile_mingw64_ffi b/makefile_mingw64_ffi
index 0a650ec..27e7659 100644
--- a/makefile_mingw64_ffi
+++ b/makefile_mingw64_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o
 
-CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DFFI 
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DFFI  $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw64_ffi
 
diff --git a/makefile_mingw64_utf8 b/makefile_mingw64_utf8
index 12a90b4..4381b17 100644
--- a/makefile_mingw64_utf8
+++ b/makefile_mingw64_utf8
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o  \
 	nl-utf8.o win-util.o win-path.o
 
-CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8 
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8  $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw64_utf8
 
diff --git a/makefile_mingw64_utf8_ffi b/makefile_mingw64_utf8_ffi
index f036cae..c315fd2 100644
--- a/makefile_mingw64_utf8_ffi
+++ b/makefile_mingw64_utf8_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o  \
 	nl-utf8.o win-util.o win-path.o
 
-CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8 -DFFI
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -g -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8 -DFFI $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw64_utf8_ffi
 
diff --git a/makefile_mingw64dll b/makefile_mingw64dll
index 0ad5f55..e6ce5bd 100644
--- a/makefile_mingw64dll
+++ b/makefile_mingw64dll
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m64 -Wall -c -O1 -DNEWLISP64 -DWINDOWS -DLIBRARY 
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -DNEWLISP64 -DWINDOWS -DLIBRARY  $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingw64dll
 
diff --git a/makefile_mingw64dll_ffi b/makefile_mingw64dll_ffi
index 1cb64b5..bfa8483 100644
--- a/makefile_mingw64dll_ffi
+++ b/makefile_mingw64dll_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m64 -Wall -c -O1 -DLIBRARY -DFFI -DWINDOWS
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -DLIBRARY -DFFI -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingw64dll_ffi
 
diff --git a/makefile_mingw64dll_utf8 b/makefile_mingw64dll_utf8
index 8563bc9..2c90047 100644
--- a/makefile_mingw64dll_utf8
+++ b/makefile_mingw64dll_utf8
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m64 -Wall -c -O1 -DLIBRARY -DSUPPORT_UTF8 -DNEWLISP64 -DWINDOWS
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -DLIBRARY -DSUPPORT_UTF8 -DNEWLISP64 -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingw64dll_utf8
 
diff --git a/makefile_mingw64dll_utf8_ffi b/makefile_mingw64dll_utf8_ffi
index 9119f1a..c8b5f5a 100644
--- a/makefile_mingw64dll_utf8_ffi
+++ b/makefile_mingw64dll_utf8_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m64 -Wall -c -O1 -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8 -DFFI -DLIBRARY 
+DEFAULT_CFLAGS = -m64 -Wall -c -O1 -DNEWLISP64 -DWINDOWS -DSUPPORT_UTF8 -DFFI -DLIBRARY  $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingw64dll_utf8_ffi
 
diff --git a/makefile_mingw_ffi b/makefile_mingw_ffi
index d3bed84..ee1bfc5 100644
--- a/makefile_mingw_ffi
+++ b/makefile_mingw_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o
 
-CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS -DFFI
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS -DFFI $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw_ffi
 
diff --git a/makefile_mingw_utf8 b/makefile_mingw_utf8
index c303669..56553d5 100644
--- a/makefile_mingw_utf8
+++ b/makefile_mingw_utf8
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	nl-utf8.o win-util.o win-path.o
 
-CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS -DSUPPORT_UTF8 
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -g -DWINDOWS -DSUPPORT_UTF8  $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw_utf8
 
diff --git a/makefile_mingw_utf8_ffi b/makefile_mingw_utf8_ffi
index bde5b78..e89badf 100644
--- a/makefile_mingw_utf8_ffi
+++ b/makefile_mingw_utf8_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	nl-utf8.o win-util.o win-path.o
 
-CFLAGS = -m32 -Wall -c -O1 -DSUPPORT_UTF8 -DWINDOWS -DFFI
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -DSUPPORT_UTF8 -DWINDOWS -DFFI $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.exe 
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h newlisp.h makefile_mingw_utf8_ffi
 
diff --git a/makefile_mingwdll b/makefile_mingwdll
index 851372d..0192a05 100644
--- a/makefile_mingwdll
+++ b/makefile_mingwdll
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DWINDOWS
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingwdll
 
diff --git a/makefile_mingwdll_ffi b/makefile_mingwdll_ffi
index 439732f..6a2edd9 100644
--- a/makefile_mingwdll_ffi
+++ b/makefile_mingwdll_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DFFI -DWINDOWS
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DFFI -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingwdll_ffi
 
diff --git a/makefile_mingwdll_utf8 b/makefile_mingwdll_utf8
index 1edef6e..fcccaf9 100644
--- a/makefile_mingwdll_utf8
+++ b/makefile_mingwdll_utf8
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DWINDOWS
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingwdll_utf8
 
diff --git a/makefile_mingwdll_utf8_ffi b/makefile_mingwdll_utf8_ffi
index a9db0fc..24277d3 100644
--- a/makefile_mingwdll_utf8_ffi
+++ b/makefile_mingwdll_utf8_ffi
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o \
 	win-util.o win-path.o win-dll.o
 
-CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DSUPPORT_UTF8 -DFFI -DWINDOWS
+DEFAULT_CFLAGS = -m32 -Wall -c -O1 -DLIBRARY -DSUPPORT_UTF8 -DFFI -DWINDOWS $(CFLAGS)
 
 CC = gcc
 STRIP = strip
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(STRIP) newlisp.dll
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_mingwdll_utf8_ffi
 
diff --git a/makefile_netbsd b/makefile_netbsd
index 15980be..3d29636 100644
--- a/makefile_netbsd
+++ b/makefile_netbsd
@@ -4,7 +4,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DREADLINE -D_BSD $(CFLAGS)
 # without readline support
 #CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -D_BSD
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_netbsd
 
diff --git a/makefile_netbsd_utf8 b/makefile_netbsd_utf8
index 0487c77..a4eb375 100644
--- a/makefile_netbsd_utf8
+++ b/makefile_netbsd_utf8
@@ -5,7 +5,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
 # for readline support use following line
-CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DREADLINE -DSUPPORT_UTF8 -D_BSD
+DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DREADLINE -DSUPPORT_UTF8 -D_BSD $(CFLAGS)
 # without readline support
 #CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -DSUPPORT_UTF8 -D_BSD
 
@@ -18,7 +18,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_netbsd_utf8
 
diff --git a/makefile_opensolaris b/makefile_opensolaris
index ccb35e8..6d7d02f 100644
--- a/makefile_opensolaris
+++ b/makefile_opensolaris
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 -DSOLARIS 
+DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 -DSOLARIS  $(CFLAGS)
 
 CC = gcc
 
@@ -17,6 +17,6 @@ default: $(OBJS)
 	@echo ""
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_solaris
diff --git a/makefile_os2 b/makefile_os2
index 005de8c..66d4f2a 100644
--- a/makefile_os2
+++ b/makefile_os2
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -s -DREADLINE -DOS2
+DEFAULT_CFLAGS = -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -s -DREADLINE -DOS2 $(CFLAGS)
 #CFLAGS = -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -s -DOS2
 
 CC = gcc
@@ -15,7 +15,7 @@ default: $(OBJS)
 	#$(CC) $(OBJS) -Zomf -Zmt -lm -ldl -o newlisp.exe
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_os2
 
diff --git a/makefile_raspberrypi b/makefile_raspberrypi
index 8c51683..dcb7e21 100644
--- a/makefile_raspberrypi
+++ b/makefile_raspberrypi
@@ -10,7 +10,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX
+DEFAULT_CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX $(CFLAGS)
 #CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DREADLINE
 
 CC = gcc
@@ -22,7 +22,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_raspberrypi
 
diff --git a/makefile_raspberrypi_utf8 b/makefile_raspberrypi_utf8
index 1d0d8c3..2bec6ca 100644
--- a/makefile_raspberrypi_utf8
+++ b/makefile_raspberrypi_utf8
@@ -9,7 +9,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
-CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DSUPPORT_UTF8
+DEFAULT_CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DSUPPORT_UTF8 $(CFLAGS)
 #CFLAGS = -mcpu=arm1176jzf-s -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DLINUX -DSUPPORT_UTF8  -DREADLINE
 
 CC = gcc
@@ -21,7 +21,7 @@ default: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_raspberrypi_utf8
 
diff --git a/makefile_sunos b/makefile_sunos
index 9fc361b..a0e11a5 100644
--- a/makefile_sunos
+++ b/makefile_sunos
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 -DREADLINE -DSUNOS
+DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 -DREADLINE -DSUNOS $(CFLAGS)
 
 CC = gcc 
 
@@ -13,6 +13,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_sunos
diff --git a/makefile_sunosLP64 b/makefile_sunosLP64
index 909badb..711652b 100644
--- a/makefile_sunosLP64
+++ b/makefile_sunosLP64
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
-CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 \
+DEFAULT_CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 \ $(CFLAGS)
 	-DSUNOS -DNEWLISP64 -DREADLINE
 
 CC = gcc
@@ -14,6 +14,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_sunosLP64
diff --git a/makefile_sunosLP64_utf8 b/makefile_sunosLP64_utf8
index bb33ca3..1da6dca 100644
--- a/makefile_sunosLP64_utf8
+++ b/makefile_sunosLP64_utf8
@@ -5,7 +5,7 @@
 OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-utf8.o nl-debug.o pcre.o
 
-CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 \
+DEFAULT_CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -c -O2 \ $(CFLAGS)
 	-DSUNOS -DNEWLISP64 -DREADLINE -DSUPPORT_UTF8
 
 CC = gcc
@@ -14,6 +14,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_sunosLP64
diff --git a/makefile_sunos_utf8 b/makefile_sunos_utf8
index 5f6718f..5dd3aa4 100644
--- a/makefile_sunos_utf8
+++ b/makefile_sunos_utf8
@@ -7,7 +7,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 
 # use following for UTF-8 support and add nl-utf8.o to the OBJS line
-CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DREADLINE -DSUPPORT_UTF8 -DSUNOS
+DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DREADLINE -DSUPPORT_UTF8 -DSUNOS $(CFLAGS)
 
 CC = gcc
 
@@ -16,6 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_sunos_utf8
diff --git a/makefile_tru64 b/makefile_tru64
index be083fa..6261446 100644
--- a/makefile_tru64
+++ b/makefile_tru64
@@ -6,7 +6,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o
 
 # CFLAGS = -I/usr/local/include -ieee -pedantic -c -O3 -DREADLINE -DSOLARIS -DTRU64 -DNEWLISP64 -D_POSIX_PII_SOCKET
-CFLAGS = -ieee -pedantic -c -O3 -DTRU64 -DNEWLISP64 -D_POSIX_PII_SOCKET
+DEFAULT_CFLAGS = -ieee -pedantic -c -O3 -DTRU64 -DNEWLISP64 -D_POSIX_PII_SOCKET $(CFLAGS)
 
 CC = cc
 
@@ -19,7 +19,7 @@ readline: $(OBJS)
 	strip newlisp
 
 .c.o:
-	$(CC) $(CFLAGS) $<
+	$(CC) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_tru64
 

A debian/patches/0002-Do-not-strip-the-newlisp-binary.patch => debian/patches/0002-Do-not-strip-the-newlisp-binary.patch +559 -0
@@ 0,0 1,559 @@
From: Sergio Durigan Junior <sergiodj@sergiodj.net>
Date: Sun, 12 Jun 2016 13:08:08 -0400
Subject: Do not strip the newlisp binary

We are interested in generating the debuginfo package for the newlip
binary.
---
 makefile_amal_darwin_utf8_ffi         | 1 -
 makefile_bsd                          | 1 -
 makefile_bsdLP64                      | 1 -
 makefile_bsdLP64_utf8                 | 1 -
 makefile_bsdLP64_utf8_ffi             | 1 -
 makefile_bsdLP64_utf8_lib             | 1 -
 makefile_bsd_lib                      | 1 -
 makefile_bsd_utf8                     | 1 -
 makefile_bsd_utf8_ffi                 | 1 -
 makefile_bsd_utf8_lib                 | 1 -
 makefile_cygwin                       | 1 -
 makefile_cygwinLP64                   | 1 -
 makefile_darwin                       | 1 -
 makefile_darwinLP64                   | 1 -
 makefile_darwinLP64_utf8              | 1 -
 makefile_darwinLP64_utf8_ffi          | 1 -
 makefile_darwin_universal_utf8_compat | 1 -
 makefile_darwin_utf8                  | 1 -
 makefile_darwin_utf8_ffi              | 1 -
 makefile_darwin_utf8_leopardIntel     | 1 -
 makefile_darwin_utf8_leopardIntel_ffi | 1 -
 makefile_darwin_utf8_leopardPPC       | 1 -
 makefile_darwin_utf8_leopardPPC_ffi   | 1 -
 makefile_linux                        | 1 -
 makefile_linuxLP64                    | 1 -
 makefile_linuxLP64_ffi                | 1 -
 makefile_linuxLP64_lib                | 1 -
 makefile_linuxLP64_redhat_utf8_ffi    | 1 -
 makefile_linuxLP64_utf8               | 1 -
 makefile_linuxLP64_utf8_ffi           | 1 -
 makefile_linux_ffi                    | 1 -
 makefile_linux_lib                    | 1 -
 makefile_linux_lib_utf8               | 1 -
 makefile_linux_maemo_utf8             | 1 -
 makefile_linux_redhat_utf8_ffi        | 1 -
 makefile_linux_utf8                   | 1 -
 makefile_linux_utf8_ffi               | 1 -
 makefile_netbsd                       | 1 -
 makefile_netbsd_utf8                  | 1 -
 makefile_raspberrypi                  | 1 -
 makefile_raspberrypi_utf8             | 1 -
 makefile_tru64                        | 2 --
 42 files changed, 43 deletions(-)

diff --git a/makefile_amal_darwin_utf8_ffi b/makefile_amal_darwin_utf8_ffi
index 598a86f..93620a4 100644
--- a/makefile_amal_darwin_utf8_ffi
+++ b/makefile_amal_darwin_utf8_ffi
@@ -15,7 +15,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd b/makefile_bsd
index 822499e..bac0e0c 100644
--- a/makefile_bsd
+++ b/makefile_bsd
@@ -16,7 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m32 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64 b/makefile_bsdLP64
index 5f84db4..c4808be 100644
--- a/makefile_bsdLP64
+++ b/makefile_bsdLP64
@@ -16,7 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m64 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8 b/makefile_bsdLP64_utf8
index ef80f79..ad38421 100644
--- a/makefile_bsdLP64_utf8
+++ b/makefile_bsdLP64_utf8
@@ -16,7 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m64 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8_ffi b/makefile_bsdLP64_utf8_ffi
index bb97723..95dc566 100644
--- a/makefile_bsdLP64_utf8_ffi
+++ b/makefile_bsdLP64_utf8_ffi
@@ -16,7 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m64 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8_lib b/makefile_bsdLP64_utf8_lib
index 4157f71..3e36937 100644
--- a/makefile_bsdLP64_utf8_lib
+++ b/makefile_bsdLP64_utf8_lib
@@ -9,7 +9,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -lm -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_lib b/makefile_bsd_lib
index 38a6d75..f72cf85 100644
--- a/makefile_bsd_lib
+++ b/makefile_bsd_lib
@@ -9,7 +9,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8 b/makefile_bsd_utf8
index 82e48cb..74b65e1 100644
--- a/makefile_bsd_utf8
+++ b/makefile_bsd_utf8
@@ -14,7 +14,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m32 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8_ffi b/makefile_bsd_utf8_ffi
index ba66327..daf759f 100644
--- a/makefile_bsd_utf8_ffi
+++ b/makefile_bsd_utf8_ffi
@@ -15,7 +15,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
 # or without readline lib
 #	$(CC) $(OBJS) -m32 -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8_lib b/makefile_bsd_utf8_lib
index d60078a..55b8de4 100644
--- a/makefile_bsd_utf8_lib
+++ b/makefile_bsd_utf8_lib
@@ -9,7 +9,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_cygwin b/makefile_cygwin
index c488d2a..03009ac 100644
--- a/makefile_cygwin
+++ b/makefile_cygwin
@@ -27,7 +27,6 @@ CC = gcc
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp.exe
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp.exe
-	strip newlisp.exe
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_cygwinLP64 b/makefile_cygwinLP64
index efa44fc..a835aa6 100644
--- a/makefile_cygwinLP64
+++ b/makefile_cygwinLP64
@@ -27,7 +27,6 @@ CC = gcc
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp.exe
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp.exe
-	strip newlisp.exe
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin b/makefile_darwin
index e65a2ec..aa9aca9 100644
--- a/makefile_darwin
+++ b/makefile_darwin
@@ -12,7 +12,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64 b/makefile_darwinLP64
index c7f755c..f161bbe 100644
--- a/makefile_darwinLP64
+++ b/makefile_darwinLP64
@@ -13,7 +13,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64_utf8 b/makefile_darwinLP64_utf8
index 8389d86..9581a19 100644
--- a/makefile_darwinLP64_utf8
+++ b/makefile_darwinLP64_utf8
@@ -12,7 +12,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64_utf8_ffi b/makefile_darwinLP64_utf8_ffi
index 7eab14e..4858d74 100644
--- a/makefile_darwinLP64_utf8_ffi
+++ b/makefile_darwinLP64_utf8_ffi
@@ -13,7 +13,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -mmacosx-version-min=10.6 -lm -lreadline -lffi -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_universal_utf8_compat b/makefile_darwin_universal_utf8_compat
index 8774e5f..d20bc8a 100644
--- a/makefile_darwin_universal_utf8_compat
+++ b/makefile_darwin_universal_utf8_compat
@@ -36,7 +36,6 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 default: $(OBJS)
 	$(CC) $(OBJS) -mmacosx-version-min=10.4 -arch i386 -arch ppc -g -lm -lreadline -o newlisp-universal
-	strip newlisp-universal
 #   lipo newlisp-universal -output newlisp-intel -thin i386
 #   lipo newlisp-universal -output newlisp-ppc -thin ppc
 
diff --git a/makefile_darwin_utf8 b/makefile_darwin_utf8
index e84758c..7289aa9 100644
--- a/makefile_darwin_utf8
+++ b/makefile_darwin_utf8
@@ -12,7 +12,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_ffi b/makefile_darwin_utf8_ffi
index 1829c46..2c14bb2 100644
--- a/makefile_darwin_utf8_ffi
+++ b/makefile_darwin_utf8_ffi
@@ -13,7 +13,6 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardIntel b/makefile_darwin_utf8_leopardIntel
index 2c1cd8f..07f6ff4 100644
--- a/makefile_darwin_utf8_leopardIntel
+++ b/makefile_darwin_utf8_leopardIntel
@@ -21,7 +21,6 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 default: $(OBJS)
 	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardIntel_ffi b/makefile_darwin_utf8_leopardIntel_ffi
index 26f5a7d..ef3cddf 100644
--- a/makefile_darwin_utf8_leopardIntel_ffi
+++ b/makefile_darwin_utf8_leopardIntel_ffi
@@ -21,7 +21,6 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 default: $(OBJS)
 	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -lffi -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardPPC b/makefile_darwin_utf8_leopardPPC
index 3456f71..ca11fd5 100644
--- a/makefile_darwin_utf8_leopardPPC
+++ b/makefile_darwin_utf8_leopardPPC
@@ -26,7 +26,6 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 default: $(OBJS)
 	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardPPC_ffi b/makefile_darwin_utf8_leopardPPC_ffi
index f5dcb3c..6627a85 100644
--- a/makefile_darwin_utf8_leopardPPC_ffi
+++ b/makefile_darwin_utf8_leopardPPC_ffi
@@ -26,7 +26,6 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -lffi -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux b/makefile_linux
index 0f9a019..9f17ac8 100644
--- a/makefile_linux
+++ b/makefile_linux
@@ -16,7 +16,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64 b/makefile_linuxLP64
index bd1bf85..65b1b81 100644
--- a/makefile_linuxLP64
+++ b/makefile_linuxLP64
@@ -15,7 +15,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_ffi b/makefile_linuxLP64_ffi
index 2f5e1c4..71c2bf8 100644
--- a/makefile_linuxLP64_ffi
+++ b/makefile_linuxLP64_ffi
@@ -15,7 +15,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_lib b/makefile_linuxLP64_lib
index 9958261..c0789cd 100644
--- a/makefile_linuxLP64_lib
+++ b/makefile_linuxLP64_lib
@@ -12,7 +12,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -ldl -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_redhat_utf8_ffi b/makefile_linuxLP64_redhat_utf8_ffi
index c93f4de..ed73ee1 100644
--- a/makefile_linuxLP64_redhat_utf8_ffi
+++ b/makefile_linuxLP64_redhat_utf8_ffi
@@ -12,7 +12,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_utf8 b/makefile_linuxLP64_utf8
index 2028391..3330e80 100644
--- a/makefile_linuxLP64_utf8
+++ b/makefile_linuxLP64_utf8
@@ -15,7 +15,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_utf8_ffi b/makefile_linuxLP64_utf8_ffi
index 7f994a0..63a58cc 100644
--- a/makefile_linuxLP64_utf8_ffi
+++ b/makefile_linuxLP64_utf8_ffi
@@ -18,7 +18,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_ffi b/makefile_linux_ffi
index b00cb90..52fcf98 100644
--- a/makefile_linux_ffi
+++ b/makefile_linux_ffi
@@ -16,7 +16,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_lib b/makefile_linux_lib
index dd7d4f6..3d21ade 100644
--- a/makefile_linux_lib
+++ b/makefile_linux_lib
@@ -12,7 +12,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_lib_utf8 b/makefile_linux_lib_utf8
index b2cb44a..cb380de 100644
--- a/makefile_linux_lib_utf8
+++ b/makefile_linux_lib_utf8
@@ -12,7 +12,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
-	strip newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_maemo_utf8 b/makefile_linux_maemo_utf8
index 3cbf368..ee646c2 100644
--- a/makefile_linux_maemo_utf8
+++ b/makefile_linux_maemo_utf8
@@ -16,7 +16,6 @@ default: $(OBJS)
 #    $(CC) $(OBJS) -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #    $(CC) $(OBJS) -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #    $(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_redhat_utf8_ffi b/makefile_linux_redhat_utf8_ffi
index 80ec9f5..7de414c 100644
--- a/makefile_linux_redhat_utf8_ffi
+++ b/makefile_linux_redhat_utf8_ffi
@@ -12,7 +12,6 @@ CC = gcc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS 
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_utf8 b/makefile_linux_utf8
index 496564f..c272f22 100644
--- a/makefile_linux_utf8
+++ b/makefile_linux_utf8
@@ -15,7 +15,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_utf8_ffi b/makefile_linux_utf8_ffi
index a045bbf..10b6dc2 100644
--- a/makefile_linux_utf8_ffi
+++ b/makefile_linux_utf8_ffi
@@ -15,7 +15,6 @@ default: $(OBJS)
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
 #	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_netbsd b/makefile_netbsd
index 3d29636..e34c152 100644
--- a/makefile_netbsd
+++ b/makefile_netbsd
@@ -15,7 +15,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
 # to compile wihtout readline support 
 #	$(CC) $(OBJS) -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_netbsd_utf8 b/makefile_netbsd_utf8
index a4eb375..f683828 100644
--- a/makefile_netbsd_utf8
+++ b/makefile_netbsd_utf8
@@ -15,7 +15,6 @@ default: $(OBJS)
 	$(CC) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
 # without readline support
 #	$(CC) $(OBJS) -g -lm -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_raspberrypi b/makefile_raspberrypi
index dcb7e21..1b14737 100644
--- a/makefile_raspberrypi
+++ b/makefile_raspberrypi
@@ -19,7 +19,6 @@ CC = gcc
 default: $(OBJS)
 #	$(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp # with readline support 
 	$(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_raspberrypi_utf8 b/makefile_raspberrypi_utf8
index 2bec6ca..e4714aa 100644
--- a/makefile_raspberrypi_utf8
+++ b/makefile_raspberrypi_utf8
@@ -18,7 +18,6 @@ CC = gcc
 default: $(OBJS)
 #	$(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp #  with readline support
 	$(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_tru64 b/makefile_tru64
index 6261446..1e1956f 100644
--- a/makefile_tru64
+++ b/makefile_tru64
@@ -12,11 +12,9 @@ CC = cc
 
 default: $(OBJS)
 	$(CC) $(OBJS) -lm -lrt -ldb -lbsd -o newlisp
-	strip newlisp
 
 readline: $(OBJS)
 	$(CC) $(OBJS) -lm -lrt -ldb -lbsd -lreadline -ltermcap -o newlisp
-	strip newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<

A debian/patches/0003-Use-LDFLAGS-when-linking.patch => debian/patches/0003-Use-LDFLAGS-when-linking.patch +895 -0
@@ 0,0 1,895 @@
From: Sergio Durigan Junior <sergiodj@sergiodj.net>
Date: Sun, 12 Jun 2016 14:01:52 -0400
Subject: Use LDFLAGS when linking

---
 makefile_aixILP32_utf8_gcc            | 2 +-
 makefile_aixLP64_utf8_gcc             | 2 +-
 makefile_aixLP64_utf8_xlc             | 2 +-
 makefile_aix_utf8_gcc                 | 2 +-
 makefile_aix_utf8_xlc                 | 2 +-
 makefile_amal_darwin_utf8_ffi         | 2 +-
 makefile_bsd                          | 4 ++--
 makefile_bsdLP64                      | 4 ++--
 makefile_bsdLP64_utf8                 | 4 ++--
 makefile_bsdLP64_utf8_ffi             | 4 ++--
 makefile_bsdLP64_utf8_lib             | 2 +-
 makefile_bsd_lib                      | 2 +-
 makefile_bsd_utf8                     | 4 ++--
 makefile_bsd_utf8_ffi                 | 4 ++--
 makefile_bsd_utf8_lib                 | 2 +-
 makefile_cygwin                       | 4 ++--
 makefile_cygwinLP64                   | 4 ++--
 makefile_darwin                       | 2 +-
 makefile_darwinLP64                   | 2 +-
 makefile_darwinLP64_utf8              | 2 +-
 makefile_darwinLP64_utf8_ffi          | 2 +-
 makefile_darwinLP64_utf8_lib          | 2 +-
 makefile_darwin_universal_utf8_compat | 2 +-
 makefile_darwin_utf8                  | 2 +-
 makefile_darwin_utf8_ffi              | 2 +-
 makefile_darwin_utf8_leopardIntel     | 2 +-
 makefile_darwin_utf8_leopardIntel_ffi | 2 +-
 makefile_darwin_utf8_leopardPPC       | 2 +-
 makefile_darwin_utf8_leopardPPC_ffi   | 2 +-
 makefile_darwin_utf8_lib              | 2 +-
 makefile_emscripten_lib_utf8          | 2 +-
 makefile_linux                        | 6 +++---
 makefile_linuxLP64                    | 8 ++++----
 makefile_linuxLP64_ffi                | 8 ++++----
 makefile_linuxLP64_lib                | 2 +-
 makefile_linuxLP64_redhat_utf8_ffi    | 2 +-
 makefile_linuxLP64_utf8               | 8 ++++----
 makefile_linuxLP64_utf8_ffi           | 8 ++++----
 makefile_linux_ffi                    | 8 ++++----
 makefile_linux_lib                    | 2 +-
 makefile_linux_lib_utf8               | 2 +-
 makefile_linux_maemo_utf8             | 8 ++++----
 makefile_linux_openwrt                | 2 +-
 makefile_linux_redhat_utf8_ffi        | 2 +-
 makefile_linux_utf8                   | 8 ++++----
 makefile_linux_utf8_ffi               | 8 ++++----
 makefile_netbsd                       | 4 ++--
 makefile_netbsd_utf8                  | 4 ++--
 makefile_opensolaris                  | 2 +-
 makefile_os2                          | 4 ++--
 makefile_raspberrypi                  | 4 ++--
 makefile_raspberrypi_utf8             | 4 ++--
 makefile_sunos                        | 2 +-
 makefile_sunosLP64                    | 2 +-
 makefile_sunosLP64_utf8               | 2 +-
 makefile_sunos_utf8                   | 2 +-
 makefile_tru64                        | 4 ++--
 57 files changed, 97 insertions(+), 97 deletions(-)

diff --git a/makefile_aixILP32_utf8_gcc b/makefile_aixILP32_utf8_gcc
index f0c3694..0ba3fad 100644
--- a/makefile_aixILP32_utf8_gcc
+++ b/makefile_aixILP32_utf8_gcc
@@ -9,7 +9,7 @@ DEFAULT_CFLAGS = -maix32 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized
 CC = gcc 
 
 default: $(OBJS) 
-	$(CC) $(OBJS) -maix32 -lm  -ldl -lrt -lnsl -o newlisp 
+	$(CC) $(LDFLAGS) $(OBJS) -maix32 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
 	$(CC) $(DEFAULT_CFLAGS) $< 
diff --git a/makefile_aixLP64_utf8_gcc b/makefile_aixLP64_utf8_gcc
index ea0d37b..5c0deeb 100644
--- a/makefile_aixLP64_utf8_gcc
+++ b/makefile_aixLP64_utf8_gcc
@@ -9,7 +9,7 @@ DEFAULT_CFLAGS = -maix64 -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized
 CC = gcc 
 
 default: $(OBJS) 
-	$(CC) $(OBJS) -maix64 -lm  -ldl -lrt -lnsl -o newlisp 
+	$(CC) $(LDFLAGS) $(OBJS) -maix64 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
 	$(CC) $(DEFAULT_CFLAGS) $< 
diff --git a/makefile_aixLP64_utf8_xlc b/makefile_aixLP64_utf8_xlc
index ff66a9c..97b9726 100644
--- a/makefile_aixLP64_utf8_xlc
+++ b/makefile_aixLP64_utf8_xlc
@@ -11,7 +11,7 @@ CC = xlc_r
 
 
 default: $(OBJS) 
-	OBJECT_MODE=64 $(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
+	OBJECT_MODE=64 $(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
 	$(CC) $(DEFAULT_CFLAGS) $< 
diff --git a/makefile_aix_utf8_gcc b/makefile_aix_utf8_gcc
index ac0cbb5..ed2918c 100644
--- a/makefile_aix_utf8_gcc
+++ b/makefile_aix_utf8_gcc
@@ -9,7 +9,7 @@ DEFAULT_CFLAGS = -Wall -pedantic -fno-strict-aliasing -Wno-uninitialized -Wno-lo
 CC = gcc 
 
 default: $(OBJS) 
-	$(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
+	$(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
 	$(CC) $(DEFAULT_CFLAGS) $< 
diff --git a/makefile_aix_utf8_xlc b/makefile_aix_utf8_xlc
index 65b8e40..74fe320 100644
--- a/makefile_aix_utf8_xlc
+++ b/makefile_aix_utf8_xlc
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -c -g -O2 -DSUPPORT_UTF8 -DAIX  $(CFLAGS)
 CC = xlc_r 
 
 default: $(OBJS) 
-	$(CC) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
+	$(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
 	$(CC) $(DEFAULT_CFLAGS) $< 
diff --git a/makefile_amal_darwin_utf8_ffi b/makefile_amal_darwin_utf8_ffi
index 93620a4..251b5d8 100644
--- a/makefile_amal_darwin_utf8_ffi
+++ b/makefile_amal_darwin_utf8_ffi
@@ -14,7 +14,7 @@ DEFAULT_CFLAGS = -Wall -m32 -O1 -I/usr/include -c -DREADLINE -DMAC_OSX -DSUPPORT
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd b/makefile_bsd
index bac0e0c..a10cb31 100644
--- a/makefile_bsd
+++ b/makefile_bsd
@@ -13,9 +13,9 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m32 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64 b/makefile_bsdLP64
index c4808be..c993aa4 100644
--- a/makefile_bsdLP64
+++ b/makefile_bsdLP64
@@ -13,9 +13,9 @@ DEFAULT_CFLAGS = -m64 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m64 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8 b/makefile_bsdLP64_utf8
index ad38421..ef75b65 100644
--- a/makefile_bsdLP64_utf8
+++ b/makefile_bsdLP64_utf8
@@ -13,9 +13,9 @@ DEFAULT_CFLAGS = -m64 -Wall -Wno-strict-aliasing -O2 -c -g -I/usr/local/include
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m64 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8_ffi b/makefile_bsdLP64_utf8_ffi
index 95dc566..652c5c7 100644
--- a/makefile_bsdLP64_utf8_ffi
+++ b/makefile_bsdLP64_utf8_ffi
@@ -13,9 +13,9 @@ DEFAULT_CFLAGS = -m64 -Wall -fno-strict-aliasing -O2 -c -g -I/usr/local/include
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m64 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsdLP64_utf8_lib b/makefile_bsdLP64_utf8_lib
index 3e36937..192f0ac 100644
--- a/makefile_bsdLP64_utf8_lib
+++ b/makefile_bsdLP64_utf8_lib
@@ -8,7 +8,7 @@ DEFAULT_CFLAGS = -m64 -fPIC -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -lm -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -lm -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_lib b/makefile_bsd_lib
index f72cf85..f0b7a84 100644
--- a/makefile_bsd_lib
+++ b/makefile_bsd_lib
@@ -8,7 +8,7 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8 b/makefile_bsd_utf8
index 74b65e1..f714825 100644
--- a/makefile_bsd_utf8
+++ b/makefile_bsd_utf8
@@ -11,9 +11,9 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -lreadline -lncurses -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m32 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8_ffi b/makefile_bsd_utf8_ffi
index daf759f..d01566d 100644
--- a/makefile_bsd_utf8_ffi
+++ b/makefile_bsd_utf8_ffi
@@ -12,9 +12,9 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -I
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -lreadline -lncurses -L/usr/local/lib -lffi -o newlisp
 # or without readline lib
-#	$(CC) $(OBJS) -m32 -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_bsd_utf8_lib b/makefile_bsd_utf8_lib
index 55b8de4..104b481 100644
--- a/makefile_bsd_utf8_lib
+++ b/makefile_bsd_utf8_lib
@@ -8,7 +8,7 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c -g -D
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_cygwin b/makefile_cygwin
index 03009ac..a0b12dd 100644
--- a/makefile_cygwin
+++ b/makefile_cygwin
@@ -25,8 +25,8 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp.exe
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp.exe
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp.exe
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp.exe
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_cygwinLP64 b/makefile_cygwinLP64
index a835aa6..1b996f1 100644
--- a/makefile_cygwinLP64
+++ b/makefile_cygwinLP64
@@ -25,8 +25,8 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp.exe
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp.exe
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp.exe
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp.exe
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin b/makefile_darwin
index aa9aca9..a84fd64 100644
--- a/makefile_darwin
+++ b/makefile_darwin
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX $(CFLAGS)
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64 b/makefile_darwinLP64
index f161bbe..c71aba2 100644
--- a/makefile_darwinLP64
+++ b/makefile_darwinLP64
@@ -12,7 +12,7 @@ DEFAULT_CFLAGS = -m64 -Wall -O1 -c -g -DREADLINE -DMAC_OSX -DNEWLISP64 $(CFLAGS)
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64_utf8 b/makefile_darwinLP64_utf8
index 9581a19..26dd4e1 100644
--- a/makefile_darwinLP64_utf8
+++ b/makefile_darwinLP64_utf8
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m64 -Wall -Oz -c -g -DREADLINE -DMAC_OSX -DNEWLISP64 -DSUPPORT
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64_utf8_ffi b/makefile_darwinLP64_utf8_ffi
index 4858d74..680bf49 100644
--- a/makefile_darwinLP64_utf8_ffi
+++ b/makefile_darwinLP64_utf8_ffi
@@ -12,7 +12,7 @@ DEFAULT_CFLAGS = -m64 -mmacosx-version-min=10.6 -Wall -Oz -c -DREADLINE -DMAC_OS
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -mmacosx-version-min=10.6 -lm -lreadline -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -mmacosx-version-min=10.6 -lm -lreadline -lffi -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwinLP64_utf8_lib b/makefile_darwinLP64_utf8_lib
index c0c22f9..707204c 100644
--- a/makefile_darwinLP64_utf8_lib
+++ b/makefile_darwinLP64_utf8_lib
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m64 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -lm -lreadline -bundle -o newlisp.dylib
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -lm -lreadline -bundle -o newlisp.dylib
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_universal_utf8_compat b/makefile_darwin_universal_utf8_compat
index d20bc8a..e177e24 100644
--- a/makefile_darwin_universal_utf8_compat
+++ b/makefile_darwin_universal_utf8_compat
@@ -35,7 +35,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 default: $(OBJS)
-	$(CC) $(OBJS) -mmacosx-version-min=10.4 -arch i386 -arch ppc -g -lm -lreadline -o newlisp-universal
+	$(CC) $(LDFLAGS) $(OBJS) -mmacosx-version-min=10.4 -arch i386 -arch ppc -g -lm -lreadline -o newlisp-universal
 #   lipo newlisp-universal -output newlisp-intel -thin i386
 #   lipo newlisp-universal -output newlisp-ppc -thin ppc
 
diff --git a/makefile_darwin_utf8 b/makefile_darwin_utf8
index 7289aa9..ce14874 100644
--- a/makefile_darwin_utf8
+++ b/makefile_darwin_utf8
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 $(CFLAGS)
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_ffi b/makefile_darwin_utf8_ffi
index 2c14bb2..453a0bd 100644
--- a/makefile_darwin_utf8_ffi
+++ b/makefile_darwin_utf8_ffi
@@ -12,7 +12,7 @@ CC = cc
 #CC = gcc 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardIntel b/makefile_darwin_utf8_leopardIntel
index 07f6ff4..9c16a1a 100644
--- a/makefile_darwin_utf8_leopardIntel
+++ b/makefile_darwin_utf8_leopardIntel
@@ -20,7 +20,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 default: $(OBJS)
-	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardIntel_ffi b/makefile_darwin_utf8_leopardIntel_ffi
index ef3cddf..ed83a23 100644
--- a/makefile_darwin_utf8_leopardIntel_ffi
+++ b/makefile_darwin_utf8_leopardIntel_ffi
@@ -20,7 +20,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 default: $(OBJS)
-	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -mmacosx-version-min=10.5 -arch i386 -g -lm -lreadline -lffi -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardPPC b/makefile_darwin_utf8_leopardPPC
index ca11fd5..e893fe1 100644
--- a/makefile_darwin_utf8_leopardPPC
+++ b/makefile_darwin_utf8_leopardPPC
@@ -25,7 +25,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 default: $(OBJS)
-	$(CC) $(OBJS) -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_leopardPPC_ffi b/makefile_darwin_utf8_leopardPPC_ffi
index 6627a85..876e430 100644
--- a/makefile_darwin_utf8_leopardPPC_ffi
+++ b/makefile_darwin_utf8_leopardPPC_ffi
@@ -25,7 +25,7 @@ OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-fil
 	nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -lffi -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -mmacosx-version-min=10.5 -arch ppc -g -lm -lreadline -lffi -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_darwin_utf8_lib b/makefile_darwin_utf8_lib
index 4319f9c..99c567c 100644
--- a/makefile_darwin_utf8_lib
+++ b/makefile_darwin_utf8_lib
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -O1 -c -DREADLINE -DMAC_OSX -DSUPPORT_UTF8 -DLIBRARY
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -lreadline -bundle -o newlisp.dylib
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -bundle -o newlisp.dylib
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_emscripten_lib_utf8 b/makefile_emscripten_lib_utf8
index fa54783..2f468aa 100644
--- a/makefile_emscripten_lib_utf8
+++ b/makefile_emscripten_lib_utf8
@@ -28,7 +28,7 @@ CC = emcc
 default: $(OBJS)
 	cp qa-specific-tests/qa-bench newlisp-js
 	cp modules/canvas.lsp newlisp-js
-	$(CC) $(OBJS) -m32 -O2 -o newlisp-js-lib.html -s EXPORTED_FUNCTIONS="['_newlispEvalStr']" \
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -O2 -o newlisp-js-lib.html -s EXPORTED_FUNCTIONS="['_newlispEvalStr']" \
 	-s MAX_SETJMPS=100 -s TOTAL_MEMORY=33554432 --closure 1 \
 	--embed-file newlisp-js/readme.txt --embed-file newlisp-js/qa-bench --embed-file newlisp-js/canvas.lsp
 	rm newlisp-js/qa-bench newlisp-js/canvas.lsp
diff --git a/makefile_linux b/makefile_linux
index 9f17ac8..aa34513 100644
--- a/makefile_linux
+++ b/makefile_linux
@@ -13,9 +13,9 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64 b/makefile_linuxLP64
index 65b1b81..d308eca 100644
--- a/makefile_linuxLP64
+++ b/makefile_linuxLP64
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_ffi b/makefile_linuxLP64_ffi
index 71c2bf8..5e31b72 100644
--- a/makefile_linuxLP64_ffi
+++ b/makefile_linuxLP64_ffi
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_lib b/makefile_linuxLP64_lib
index c0789cd..b82f9f5 100644
--- a/makefile_linuxLP64_lib
+++ b/makefile_linuxLP64_lib
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_redhat_utf8_ffi b/makefile_linuxLP64_redhat_utf8_ffi
index ed73ee1..4db1120 100644
--- a/makefile_linuxLP64_redhat_utf8_ffi
+++ b/makefile_linuxLP64_redhat_utf8_ffi
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_utf8 b/makefile_linuxLP64_utf8
index 3330e80..4dea813 100644
--- a/makefile_linuxLP64_utf8
+++ b/makefile_linuxLP64_utf8
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linuxLP64_utf8_ffi b/makefile_linuxLP64_utf8_ffi
index 63a58cc..30ee8c6 100644
--- a/makefile_linuxLP64_utf8_ffi
+++ b/makefile_linuxLP64_utf8_ffi
@@ -14,10 +14,10 @@ DEFAULT_CFLAGS = -fPIC -m64 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-l
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_ffi b/makefile_linux_ffi
index 52fcf98..d386cf3 100644
--- a/makefile_linux_ffi
+++ b/makefile_linux_ffi
@@ -12,10 +12,10 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_lib b/makefile_linux_lib
index 3d21ade..f91b505 100644
--- a/makefile_linux_lib
+++ b/makefile_linux_lib
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-lo
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_lib_utf8 b/makefile_linux_lib_utf8
index cb380de..1836f34 100644
--- a/makefile_linux_lib_utf8
+++ b/makefile_linux_lib_utf8
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -Wno-long-lo
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -ldl -shared -o newlisp.so
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_maemo_utf8 b/makefile_linux_maemo_utf8
index ee646c2..f227d07 100644
--- a/makefile_linux_maemo_utf8
+++ b/makefile_linux_maemo_utf8
@@ -12,10 +12,10 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
-#    $(CC) $(OBJS) -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#    $(CC) $(OBJS) -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#    $(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
+#    $(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#    $(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#    $(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_openwrt b/makefile_linux_openwrt
index 0e8d028..53d7cbf 100644
--- a/makefile_linux_openwrt
+++ b/makefile_linux_openwrt
@@ -14,7 +14,7 @@ LD = mips-openwrt-linux-ld
 
 
 default: $(OBJS)
-	$(CC) $(OBJS)  -o newlisp $(LDFLAGS)   #for openwrt
+	$(CC) $(LDFLAGS) $(OBJS)  -o newlisp $(LDFLAGS)   #for openwrt
 	$(STRIP) newlisp
 	upx --best -o newlisp_s newlisp
 	rm newlisp
diff --git a/makefile_linux_redhat_utf8_ffi b/makefile_linux_redhat_utf8_ffi
index 7de414c..c9f4525 100644
--- a/makefile_linux_redhat_utf8_ffi
+++ b/makefile_linux_redhat_utf8_ffi
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREAD
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS 
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for RedHat CentOS 
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_utf8 b/makefile_linux_utf8
index c272f22..fb6576b 100644
--- a/makefile_linux_utf8
+++ b/makefile_linux_utf8
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREAD
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_linux_utf8_ffi b/makefile_linux_utf8_ffi
index 10b6dc2..24487c0 100644
--- a/makefile_linux_utf8_ffi
+++ b/makefile_linux_utf8_ffi
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
-#	$(CC) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp # for UBUNTU Debian
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -ltermcap -o newlisp # slackware
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lncurses -o newlisp # other Linux Dist
+#	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_netbsd b/makefile_netbsd
index e34c152..236f087 100644
--- a/makefile_netbsd
+++ b/makefile_netbsd
@@ -12,9 +12,9 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -D
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
 # to compile wihtout readline support 
-#	$(CC) $(OBJS) -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_netbsd_utf8 b/makefile_netbsd_utf8
index f683828..7ef0fe3 100644
--- a/makefile_netbsd_utf8
+++ b/makefile_netbsd_utf8
@@ -12,9 +12,9 @@ DEFAULT_CFLAGS = -m32 -Wall -Wno-uninitialized -Wno-strict-aliasing -O2 -c -g -D
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -g -lm -lreadline -lncurses -o newlisp
 # without readline support
-#	$(CC) $(OBJS) -g -lm -o newlisp
+#	$(CC) $(LDFLAGS) $(OBJS) -g -lm -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_opensolaris b/makefile_opensolaris
index 6d7d02f..242de00 100644
--- a/makefile_opensolaris
+++ b/makefile_opensolaris
@@ -10,7 +10,7 @@ DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-str
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -lm -ldl -lrt -lsocket -lnsl -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -lm -ldl -lrt -lsocket -lnsl -o newlisp
 	@echo ""
 	@echo "do not use 'make install' install files manually; see Makefile for details"
 	@echo "for a minimum install just put newlisp into /usr/bin/newlisp
diff --git a/makefile_os2 b/makefile_os2
index 66d4f2a..9b2c9a2 100644
--- a/makefile_os2
+++ b/makefile_os2
@@ -11,8 +11,8 @@ DEFAULT_CFLAGS = -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-lo
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -Zomf -Zmt -lm -lreadline -lncurses -ldl -o newlisp.exe
-	#$(CC) $(OBJS) -Zomf -Zmt -lm -ldl -o newlisp.exe
+	$(CC) $(LDFLAGS) $(OBJS) -Zomf -Zmt -lm -lreadline -lncurses -ldl -o newlisp.exe
+	#$(CC) $(LDFLAGS) $(OBJS) -Zomf -Zmt -lm -ldl -o newlisp.exe
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_raspberrypi b/makefile_raspberrypi
index 1b14737..15054e6 100644
--- a/makefile_raspberrypi
+++ b/makefile_raspberrypi
@@ -17,8 +17,8 @@ CC = gcc
 
 
 default: $(OBJS)
-#	$(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp # with readline support 
-	$(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
+#	$(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -lreadline -o newlisp # with readline support 
+	$(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_raspberrypi_utf8 b/makefile_raspberrypi_utf8
index e4714aa..4e8caaa 100644
--- a/makefile_raspberrypi_utf8
+++ b/makefile_raspberrypi_utf8
@@ -16,8 +16,8 @@ CC = gcc
 
 
 default: $(OBJS)
-#	$(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp #  with readline support
-	$(CC) $(OBJS) -g -lm -ldl -o newlisp # without readline support
+#	$(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -lreadline -o newlisp #  with readline support
+	$(CC) $(LDFLAGS) $(OBJS) -g -lm -ldl -o newlisp # without readline support
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_sunos b/makefile_sunos
index a0e11a5..f130a02 100644
--- a/makefile_sunos
+++ b/makefile_sunos
@@ -10,7 +10,7 @@ DEFAULT_CFLAGS = -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-str
 CC = gcc 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_sunosLP64 b/makefile_sunosLP64
index 711652b..a3e02fe 100644
--- a/makefile_sunosLP64
+++ b/makefile_sunosLP64
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-str
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_sunosLP64_utf8 b/makefile_sunosLP64_utf8
index 1da6dca..78c987c 100644
--- a/makefile_sunosLP64_utf8
+++ b/makefile_sunosLP64_utf8
@@ -11,7 +11,7 @@ DEFAULT_CFLAGS = -m64 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-str
 CC = gcc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m64 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_sunos_utf8 b/makefile_sunos_utf8
index 5dd3aa4..57dbdc2 100644
--- a/makefile_sunos_utf8
+++ b/makefile_sunos_utf8
@@ -13,7 +13,7 @@ CC = gcc
 
 
 default: $(OBJS)
-	$(CC) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -ldl -lrt -lsocket -lnsl -lreadline -lncurses -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<
diff --git a/makefile_tru64 b/makefile_tru64
index 1e1956f..5590a49 100644
--- a/makefile_tru64
+++ b/makefile_tru64
@@ -11,10 +11,10 @@ DEFAULT_CFLAGS = -ieee -pedantic -c -O3 -DTRU64 -DNEWLISP64 -D_POSIX_PII_SOCKET
 CC = cc
 
 default: $(OBJS)
-	$(CC) $(OBJS) -lm -lrt -ldb -lbsd -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -lm -lrt -ldb -lbsd -o newlisp
 
 readline: $(OBJS)
-	$(CC) $(OBJS) -lm -lrt -ldb -lbsd -lreadline -ltermcap -o newlisp
+	$(CC) $(LDFLAGS) $(OBJS) -lm -lrt -ldb -lbsd -lreadline -ltermcap -o newlisp
 
 .c.o:
 	$(CC) $(DEFAULT_CFLAGS) $<

A debian/patches/0004-Using-CPPFLAGS.patch => debian/patches/0004-Using-CPPFLAGS.patch +1005 -0
@@ 0,0 1,1005 @@
From: Sergio Durigan Junior <sergiodj@sergiodj.net>
Date: Sun, 12 Jun 2016 16:02:12 -0400
Subject: Using CPPFLAGS

---
 makefile_aixILP32_utf8_gcc            | 2 +-
 makefile_aixLP64_utf8_gcc             | 2 +-
 makefile_aixLP64_utf8_xlc             | 2 +-
 makefile_aix_utf8_gcc                 | 2 +-
 makefile_aix_utf8_xlc                 | 2 +-
 makefile_amal_darwin_utf8_ffi         | 2 +-
 makefile_bsd                          | 2 +-
 makefile_bsdLP64                      | 2 +-
 makefile_bsdLP64_utf8                 | 2 +-
 makefile_bsdLP64_utf8_ffi             | 2 +-
 makefile_bsdLP64_utf8_lib             | 2 +-
 makefile_bsd_lib                      | 2 +-
 makefile_bsd_utf8                     | 2 +-
 makefile_bsd_utf8_ffi                 | 2 +-
 makefile_bsd_utf8_lib                 | 2 +-
 makefile_cygwin                       | 2 +-
 makefile_cygwinLP64                   | 2 +-
 makefile_darwin                       | 2 +-
 makefile_darwinLP64                   | 2 +-
 makefile_darwinLP64_utf8              | 2 +-
 makefile_darwinLP64_utf8_ffi          | 2 +-
 makefile_darwinLP64_utf8_lib          | 2 +-
 makefile_darwin_universal_utf8_compat | 2 +-
 makefile_darwin_utf8                  | 2 +-
 makefile_darwin_utf8_ffi              | 2 +-
 makefile_darwin_utf8_leopardIntel     | 2 +-
 makefile_darwin_utf8_leopardIntel_ffi | 2 +-
 makefile_darwin_utf8_leopardPPC       | 2 +-
 makefile_darwin_utf8_leopardPPC_ffi   | 2 +-
 makefile_darwin_utf8_lib              | 2 +-
 makefile_linux                        | 2 +-
 makefile_linuxLP64                    | 2 +-
 makefile_linuxLP64_ffi                | 2 +-
 makefile_linuxLP64_lib                | 2 +-
 makefile_linuxLP64_redhat_utf8_ffi    | 2 +-
 makefile_linuxLP64_utf8               | 2 +-
 makefile_linuxLP64_utf8_ffi           | 2 +-
 makefile_linux_ffi                    | 2 +-
 makefile_linux_lib                    | 2 +-
 makefile_linux_lib_utf8               | 2 +-
 makefile_linux_maemo_utf8             | 2 +-
 makefile_linux_openwrt                | 2 +-
 makefile_linux_redhat_utf8_ffi        | 2 +-
 makefile_linux_utf8                   | 2 +-
 makefile_linux_utf8_ffi               | 2 +-
 makefile_mingw                        | 2 +-
 makefile_mingw64                      | 2 +-
 makefile_mingw64_ffi                  | 2 +-
 makefile_mingw64_utf8                 | 2 +-
 makefile_mingw64_utf8_ffi             | 2 +-
 makefile_mingw64dll                   | 2 +-
 makefile_mingw64dll_ffi               | 2 +-
 makefile_mingw64dll_utf8              | 2 +-
 makefile_mingw64dll_utf8_ffi          | 2 +-
 makefile_mingw_ffi                    | 2 +-
 makefile_mingw_utf8                   | 2 +-
 makefile_mingw_utf8_ffi               | 2 +-
 makefile_mingwdll                     | 2 +-
 makefile_mingwdll_ffi                 | 2 +-
 makefile_mingwdll_utf8                | 2 +-
 makefile_mingwdll_utf8_ffi            | 2 +-
 makefile_netbsd                       | 2 +-
 makefile_netbsd_utf8                  | 2 +-
 makefile_opensolaris                  | 2 +-
 makefile_os2                          | 2 +-
 makefile_raspberrypi                  | 2 +-
 makefile_raspberrypi_utf8             | 2 +-
 makefile_sunos                        | 2 +-
 makefile_sunosLP64                    | 2 +-
 makefile_sunosLP64_utf8               | 2 +-
 makefile_sunos_utf8                   | 2 +-
 makefile_tru64                        | 2 +-
 72 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/makefile_aixILP32_utf8_gcc b/makefile_aixILP32_utf8_gcc
index 0ba3fad..a3d17bb 100644
--- a/makefile_aixILP32_utf8_gcc
+++ b/makefile_aixILP32_utf8_gcc
@@ -12,7 +12,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -maix32 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(DEFAULT_CFLAGS) $< 
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixILP32_utf8_gcc 
 # 
diff --git a/makefile_aixLP64_utf8_gcc b/makefile_aixLP64_utf8_gcc
index 5c0deeb..acc1235 100644
--- a/makefile_aixLP64_utf8_gcc
+++ b/makefile_aixLP64_utf8_gcc
@@ -12,7 +12,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -maix64 -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(DEFAULT_CFLAGS) $< 
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixLP64_utf8_gcc 
 # 
diff --git a/makefile_aixLP64_utf8_xlc b/makefile_aixLP64_utf8_xlc
index 97b9726..7143860 100644
--- a/makefile_aixLP64_utf8_xlc
+++ b/makefile_aixLP64_utf8_xlc
@@ -14,7 +14,7 @@ default: $(OBJS)
 	OBJECT_MODE=64 $(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(DEFAULT_CFLAGS) $< 
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aixLP64_utf8_xlc
 #=====================================================================================
diff --git a/makefile_aix_utf8_gcc b/makefile_aix_utf8_gcc
index ed2918c..cb5b06e 100644
--- a/makefile_aix_utf8_gcc
+++ b/makefile_aix_utf8_gcc
@@ -12,7 +12,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(DEFAULT_CFLAGS) $< 
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aix_utf8_gcc 
 # 
diff --git a/makefile_aix_utf8_xlc b/makefile_aix_utf8_xlc
index 74fe320..6a08948 100644
--- a/makefile_aix_utf8_xlc
+++ b/makefile_aix_utf8_xlc
@@ -14,7 +14,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -lm  -ldl -lrt -lnsl -o newlisp 
 
 .c.o: 
-	$(CC) $(DEFAULT_CFLAGS) $< 
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $< 
 
 $(OBJS): primes.h protos.h makefile_aix_utf8_xlc
 #=====================================================================================
diff --git a/makefile_amal_darwin_utf8_ffi b/makefile_amal_darwin_utf8_ffi
index 251b5d8..58d653a 100644
--- a/makefile_amal_darwin_utf8_ffi
+++ b/makefile_amal_darwin_utf8_ffi
@@ -17,7 +17,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -lffi -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 newlisp-amal.c:
 	cat newlisp.c nl-symbol.c nl-math.c nl-list.c nl-liststr.c nl-string.c nl-filesys.c \
diff --git a/makefile_bsd b/makefile_bsd
index a10cb31..e1533ac 100644
--- a/makefile_bsd
+++ b/makefile_bsd
@@ -18,7 +18,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd
 
diff --git a/makefile_bsdLP64 b/makefile_bsdLP64
index c993aa4..b5454bc 100644
--- a/makefile_bsdLP64
+++ b/makefile_bsdLP64
@@ -18,7 +18,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64
 
diff --git a/makefile_bsdLP64_utf8 b/makefile_bsdLP64_utf8
index ef75b65..20ff2e1 100644
--- a/makefile_bsdLP64_utf8
+++ b/makefile_bsdLP64_utf8
@@ -18,7 +18,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8
 
diff --git a/makefile_bsdLP64_utf8_ffi b/makefile_bsdLP64_utf8_ffi
index 652c5c7..989c944 100644
--- a/makefile_bsdLP64_utf8_ffi
+++ b/makefile_bsdLP64_utf8_ffi
@@ -18,7 +18,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8_ffi
 
diff --git a/makefile_bsdLP64_utf8_lib b/makefile_bsdLP64_utf8_lib
index 192f0ac..e318c14 100644
--- a/makefile_bsdLP64_utf8_lib
+++ b/makefile_bsdLP64_utf8_lib
@@ -11,7 +11,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m64 -lm -shared -o newlisp.so
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsdLP64_utf8_lib
 
diff --git a/makefile_bsd_lib b/makefile_bsd_lib
index f0b7a84..8e67ae2 100644
--- a/makefile_bsd_lib
+++ b/makefile_bsd_lib
@@ -11,7 +11,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -shared -o newlisp.so
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_lib
 
diff --git a/makefile_bsd_utf8 b/makefile_bsd_utf8
index f714825..7d78e31 100644
--- a/makefile_bsd_utf8
+++ b/makefile_bsd_utf8
@@ -16,7 +16,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8
 
diff --git a/makefile_bsd_utf8_ffi b/makefile_bsd_utf8_ffi
index d01566d..223d4b2 100644
--- a/makefile_bsd_utf8_ffi
+++ b/makefile_bsd_utf8_ffi
@@ -17,7 +17,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8_ffi
 
diff --git a/makefile_bsd_utf8_lib b/makefile_bsd_utf8_lib
index 104b481..b4ba8b5 100644
--- a/makefile_bsd_utf8_lib
+++ b/makefile_bsd_utf8_lib
@@ -11,7 +11,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -shared -o newlisp.so
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_bsd_utf8_lib
 
diff --git a/makefile_cygwin b/makefile_cygwin
index a0b12dd..39c92cf 100644
--- a/makefile_cygwin
+++ b/makefile_cygwin
@@ -29,7 +29,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m32 -g -lm -ldl -lreadline -lffi -o newlisp.exe
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_cygwin
 
diff --git a/makefile_cygwinLP64 b/makefile_cygwinLP64
index 1b996f1..f256baa 100644
--- a/makefile_cygwinLP64
+++ b/makefile_cygwinLP64
@@ -29,7 +29,7 @@ default: $(OBJS)
 #	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -ldl -lreadline -lffi -o newlisp.exe
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_cygwin
 
diff --git a/makefile_darwin b/makefile_darwin
index a84fd64..c66e0a1 100644
--- a/makefile_darwin
+++ b/makefile_darwin
@@ -14,7 +14,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m32 -lm -lreadline -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): primes.h protos.h makefile_darwin
 
diff --git a/makefile_darwinLP64 b/makefile_darwinLP64
index c71aba2..afeaa25 100644
--- a/makefile_darwinLP64
+++ b/makefile_darwinLP64
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64
 
diff --git a/makefile_darwinLP64_utf8 b/makefile_darwinLP64_utf8
index 26dd4e1..7c9bd72 100644
--- a/makefile_darwinLP64_utf8
+++ b/makefile_darwinLP64_utf8
@@ -14,7 +14,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m64 -g -lm -lreadline -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64_utf8
 
diff --git a/makefile_darwinLP64_utf8_ffi b/makefile_darwinLP64_utf8_ffi
index 680bf49..cbf8a4f 100644
--- a/makefile_darwinLP64_utf8_ffi
+++ b/makefile_darwinLP64_utf8_ffi
@@ -15,7 +15,7 @@ default: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) -m64 -mmacosx-version-min=10.6 -lm -lreadline -lffi -o newlisp
 
 .c.o:
-	$(CC) $(DEFAULT_CFLAGS) $<
+	$(CC) $(CPPFLAGS) $(DEFAULT_CFLAGS) $<
 
 $(OBJS): newlisp.h primes.h protos.h makefile_darwinLP64_utf8_ffi
 
diff --git a/makefile_darwinLP64_utf8_lib b/makefile_darwinLP64_utf8_lib