--- a/Makefile_bootstrap
+++ b/Makefile_bootstrap
@@ -229,10 +229,10 @@
 
 ######
 
-COMPILE = $(CC) $(ATSCCFLAGS) -o $@
-#COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(ATSCCFLAGS) -o $@
-CLINK = $(CC) $(ATSCCFLAGS) $(LDFLAGS) -o $@
-#CLINK = $(CC) $(CPPFLAGS) $(CFLAGS) $(ATSCCFLAGS) $(LDFLAGS) -o $@
+#COMPILE = $(CC) $(ATSCCFLAGS) -o $@
+COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(ATSCCFLAGS) -o $@
+#CLINK = $(CC) $(ATSCCFLAGS) $(LDFLAGS) -o $@
+CLINK = $(CC) $(CPPFLAGS) $(CFLAGS) $(ATSCCFLAGS) $(LDFLAGS) -o $@
 
 ######
 
--- a/utils/scripts/Makefile
+++ b/utils/scripts/Makefile
@@ -33,6 +33,8 @@
 
 ######
 
+-include ../../config.mk
+
 ATSHOMEQ="$(ATSHOME)"
 ATSOPT=$(ATSHOMEQ)/bin/atsopt
 ATSRUNTIME=$(ATSHOMEQ)/ccomp/runtime
@@ -41,7 +43,7 @@
 
 CC=gcc
 INCLUDES=-I$(ATSHOMEQ) -I$(ATSRUNTIME)
-CCFLAGS=-O2 -g
+CCFLAGS=-O2 -g $(CFLAGS) $(CPPFLAGS)
 
 ######
 
@@ -54,7 +56,7 @@
           top_sats.o basics_dats.o pkgconfig.o atscc_dats.o \
           errno_sats.o fcntl_sats.o stdio_sats.o stdlib_sats.o string_sats.o unistd_sats.o \
           sys_types_sats.o sys_wait_sats.o
-	$(CC) $(INCLUDES) $(CCFLAGS) -o atscc atscc_main_dats.c $(ATSRUNTIME)/ats_prelude.c \
+	$(CC) $(INCLUDES) $(LDFLAGS) $(CCFLAGS) -o atscc atscc_main_dats.c $(ATSRUNTIME)/ats_prelude.c \
           top_sats.o basics_dats.o pkgconfig.o atscc_dats.o \
           errno_sats.o fcntl_sats.o stdio_sats.o stdlib_sats.o string_sats.o unistd_sats.o \
           sys_types_sats.o sys_wait_sats.o
@@ -65,7 +67,7 @@
           top_sats.o basics_dats.o atscc_dats.o atslib_dats.o \
           fcntl_sats.o stdio_sats.o stdlib_sats.o unistd_sats.o \
           sys_types_sats.o sys_wait_sats.o
-	$(CC) $(INCLUDES) $(CCFLAGS) -o atslib atslib_main_dats.c $(ATSRUNTIME)/ats_prelude.c \
+	$(CC) $(INCLUDES) $(LDFLAGS) $(CCFLAGS) -o atslib atslib_main_dats.c $(ATSRUNTIME)/ats_prelude.c \
           top_sats.o basics_dats.o atscc_dats.o atslib_dats.o \
           fcntl_sats.o stdio_sats.o stdlib_sats.o unistd_sats.o \
           sys_types_sats.o sys_wait_sats.o
@@ -73,12 +75,12 @@
 ######
 
 atspack: atspack.dats
-	$(ATSCC) -o atspack $(CCFLAGS) atspack.dats
+	$(ATSCC) -o atspack $(LDFLAGS) $(CCFLAGS) atspack.dats
 
 ######
 
 deltabs: deltabs.dats
-	$(ATSCC) -o deltabs $(CCFLAGS) deltabs.dats -D_ATS_gcats
+	$(ATSCC) -o deltabs $(LDFLAGS) $(CCFLAGS) deltabs.dats -D_ATS_gcats
 
 ######
 
--- a/utils/atslex/Makefile
+++ b/utils/atslex/Makefile
@@ -33,6 +33,8 @@
 
 ######
 
+-include ../../config.mk
+
 ATSHOMEQ="$(ATSHOME)"
 ATSCC=$(ATSHOMEQ)/bin/atscc
 #ATSCCFLAGS=-D_ATS_gc
@@ -41,7 +43,7 @@
 ATSCCFLAGS=
 ATSRUNTIME=$(ATSHOMEQ)/ccomp/runtime
 
-CCFLAGS=-g -O2
+CCFLAGS=-g -O2 $(CFLAGS) $(CPPFLAGS)
 INCLUDES=-I$(ATSHOMEQ) -I$(ATSRUNTIME)
 
 ######
@@ -50,7 +52,7 @@
   atslex.dats top_sats.o lexgen_dats.o \
   charset_dats.o intset_dats.o states_dats.o \
   parser_dats.o position_dats.o token_dats.o
-	$(ATSCC) $(ATSCCFLAGS) -o atslex \
+	$(ATSCC) $(LDFLAGS) $(ATSCCFLAGS) $(CCFLAGS) -o atslex \
   atslex.dats top_sats.o lexgen_dats.o \
   charset_dats.o intset_dats.o states_dats.o \
   parser_dats.o position_dats.o token_dats.o
--- a/utils/atsdoc/Makefile
+++ b/utils/atsdoc/Makefile
@@ -34,6 +34,8 @@
 #
 ######
 
+-include ../../config.mk
+
 ATSCC=$(ATSHOME)/bin/atscc
 ATSOPT=$(ATSHOME)/bin/atsopt
 
@@ -46,6 +48,10 @@
 ATSCCFLAGS=-g -O
 ATSCCFLAGS=-g -O2
 
+# hardening:
+
+ATSCCFLAGS += $(CFLAGS) $(CPPFLAGS)
+
 ######
 
 SOURCES := \
@@ -68,7 +74,7 @@
 ######
 
 atsdoc: atsdoc_main_dats.o $(OBJECTS)
-	$(ATSCC) $(ATSGCFLAG) $(ATSCCFLAGS) -o atsdoc atsdoc_main_dats.o $(OBJECTS) -latsdoc
+	$(ATSCC) $(ATSGCFLAG) $(ATSCCFLAGS) $(LDFLAGS) -o atsdoc atsdoc_main_dats.o $(OBJECTS) -latsdoc
 
 ######
 
