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
 
