--- /dev/null
+From 4bce59bd9bc5a201caf5f2ff3e2080e7e5a01733 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sun, 6 Jul 2014 21:34:21 +0300
+Subject: [PATCH 3/3] build: do not auto build/install module
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3cd36fd..a3fd59e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -98,5 +98,5 @@ TESTS_TARGET = $(TARGET_DIR)/tests/bctool-tests
+
+ # default target builds console tool with modules
+-all: Makefile helpers module console
++all: Makefile helpers console
+ true
+
+@@ -226,5 +226,5 @@ module-clean: force-look
+
+ # install for default target
+-install: module-install console-install helpers-install
++install: console-install helpers-install
+ true
+
+--
+1.8.5.5
+
+From f7f71ec155385aea3dec495d46d07452943fe729 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 17 Mar 2015 21:05:22 +0200
+Subject: [PATCH] build: allow override programs
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ Makefile | 11 +++++++----
+ certificate/CertificateLib/Makefile | 4 +++-
+ disk/Makefile | 6 ++++--
+ fslib/Makefile | 16 +++++++++-------
+ kernel/Makefile | 5 +++--
+ keygens/kgghost/Makefile | 7 +++++--
+ keygens/kgsha/Makefile | 7 +++++--
+ mount/Makefile | 9 +++++----
+ spacemap/Makefile | 6 ++++--
+ tests/Makefile | 12 ++++++------
+ 10 files changed, 51 insertions(+), 32 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6af2319..359d022 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,6 +56,9 @@ KGSHA_LIB = $(KGSHA_BUILD_DIR)/lib$(KGSHA_LIB_NAME).a
+ KGGHOST_LIB = $(KGGHOST_BUILD_DIR)/lib$(KGGHOST_LIB_NAME).a
+ SPACEMAP_LIB = $(SPACEMAP_BUILD_DIR)/lib$(SPACEMAP_LIB_NAME).a
+
++CC = gcc
++CXX = g++
++
+ BC_EXTRA_CFLAGS= $(CFLAGS) -D_LARGE_FILES -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+ BC_EXTRA_LDFLAGS = $(LDFLAGS)
+
+@@ -125,7 +128,7 @@ helpers: create-dirs
+ console: spacemap-lib certificate-lib fs-lib kernel-lib keygen-libs $(TARGET)
+ true
+ $(TARGET): $(BCTOOL_OBJS)
+- g++ $(BCTOOL_OBJS) $(BCTOOL_CFLAGS) $(BCTOOL_LDFLAGS) -o $(TARGET)
++ $(CXX) $(BCTOOL_OBJS) $(BCTOOL_CFLAGS) $(BCTOOL_LDFLAGS) -o $(TARGET)
+
+ # GUI executable only (w/o console and helpers)
+ panel: certificate-lib kernel-lib keygen-libs fs-lib
+@@ -339,10 +342,10 @@ module-uninstall:
+ bash ./scripts/remove_mods
+
+ %.o:%.cpp
+- g++ -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CXX) -c $(BCTOOL_CFLAGS) $< -o $@
+
+ %.o:%.cc
+- g++ -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CXX) -c $(BCTOOL_CFLAGS) $< -o $@
+
+ %.o:%.c
+- gcc -c $(BCTOOL_CFLAGS) $< -o $@
++ $(CC) -c $(BCTOOL_CFLAGS) $< -o $@
+diff --git a/certificate/CertificateLib/Makefile b/certificate/CertificateLib/Makefile
+index d28ccc7..810a30a 100644
+--- a/certificate/CertificateLib/Makefile
++++ b/certificate/CertificateLib/Makefile
+@@ -1,5 +1,7 @@
+
+-CP = cp
++CC = gcc
++CXX = g++
++AR = ar
+ CFLAGS += -Wall -fno-strict-aliasing -O3
+ #-Werror
+
+diff --git a/disk/Makefile b/disk/Makefile
+index e3915b0..1a9ff01 100644
+--- a/disk/Makefile
++++ b/disk/Makefile
+@@ -1,14 +1,16 @@
+ DISKMON_OBJS = disk.o diskmon.o
++
++CXX = g++
+ CFLAGS += -Wall -I. -I../ -p -gdwarf-2 #-DBC_DEBUG
+ LDFLAGS += -ludev
+
+ all:diskmon Makefile
+
+ diskmon:$(DISKMON_OBJS)
+- g++ $(DISKMON_OBJS) $(LDFLAGS) -o diskmon
++ $(CXX) $(DISKMON_OBJS) $(LDFLAGS) -o diskmon
+
+ %.o:%.cc
+- g++ $(CFLAGS) -c $< -o $@
++ $(CXX) $(CFLAGS) -c $< -o $@
+
+ clean:
+ rm -rf diskmon *.o
+diff --git a/fslib/Makefile b/fslib/Makefile
+index a6f96f4..bbe6cae 100644
+--- a/fslib/Makefile
++++ b/fslib/Makefile
+@@ -1,3 +1,5 @@
++CC = gcc
++AR = ar
+
+ FSLIB_CFLAGS = $(CFLAGS) -Wall -O0 -DFSLIB_DEBUG -g # -O3
+ FSLIB_CFLAGS += -I. -D_LARGE_FILES -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 #-fvisibility=hidden
+@@ -15,25 +17,25 @@ FSLIB_TOOLS = file_hfs test_hfs test_info test_free_space diskinfo
+ all: Makefile $(FSLIB) $(FSLIB_TOOLS)
+
+ $(FSLIB): $(OBJS)
+- ar rcs $(FSLIB) $(OBJS)
++ $(AR) rcs $(FSLIB) $(OBJS)
+
+ test_hfs: $(FSLIB) test/test_hfs.o
+- gcc test/test_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o test_hfs
++ $(CC) test/test_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o test_hfs
+
+ file_hfs: $(FSLIB) test/file_hfs.o
+- gcc test/file_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o file_hfs
++ $(CC) test/file_hfs.o $(OBJS) $(FSLIB_LDFLAGS) -o file_hfs
+
+ test_info: $(FSLIB) test/test_info.o
+- gcc test/test_info.o $(OBJS) $(FSLIB_LDFLAGS) -o test_info
++ $(CC) test/test_info.o $(OBJS) $(FSLIB_LDFLAGS) -o test_info
+
+ test_free_space: $(FSLIB) test/test_free_space.o
+- gcc test/test_free_space.o $(FSLIB_CFLAGS) $(OBJS) $(FSLIB_LDFLAGS) -o test_free_space
++ $(CC) test/test_free_space.o $(FSLIB_CFLAGS) $(OBJS) $(FSLIB_LDFLAGS) -o test_free_space
+
+ diskinfo: $(FSLIB) test/diskinfo.o
+- gcc test/diskinfo.o $(OBJS) $(FSLIB_LDFLAGS) -g -o diskinfo
++ $(CC) test/diskinfo.o $(OBJS) $(FSLIB_LDFLAGS) -g -o diskinfo
+
+ .c.o:
+- gcc $(FSLIB_CFLAGS) -c $< -o $@
++ $(CC) $(FSLIB_CFLAGS) -c $< -o $@
+
+ clean:
+ rm -rf *~ *.o test/*.o $(OBJS) $(FSLIB) $(FSLIB_TOOLS)
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 1a71617..4f9760d 100644
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -3,6 +3,7 @@ OBJECTS = $(SOURCES:.cc=.o)
+ TARGET_DIR = ./build/
+ TARGET = $(TARGET_DIR)/libbckernel.a
+ BC_CFLAGS = $(BC_EXTRA_CFLAGS) -fPIC -c -Wall -ludev -L../build/ -lspacemap -I../ -fvisibility=hidden #-fvisibility-inlines-hidden
++CXX = g++
+
+
+ ### Build ###
+@@ -21,12 +22,12 @@ module: create-dirs force_look
+
+ kernel-lib: create-dirs $(TARGET)
+ $(TARGET): $(OBJECTS)
+- ar rcs $(TARGET) $(OBJECTS)
++ $(AR) rcs $(TARGET) $(OBJECTS)
+
+ $(OBJECTS): Makefile $(SOURCES) BCKernel.h
+ set -e; \
+ for i in $(SOURCES); do \
+- g++ -c $(BC_CFLAGS) $$i -o $${i%.cc}.o; \
++ $(CXX) -c $(BC_CFLAGS) $$i -o $${i%.cc}.o; \
+ done
+
+ create-dirs: $(TARGET_DIR)
+diff --git a/keygens/kgghost/Makefile b/keygens/kgghost/Makefile
+index 8f6cc59..fe59ac7 100644
+--- a/keygens/kgghost/Makefile
++++ b/keygens/kgghost/Makefile
+@@ -5,10 +5,13 @@ KGGHOST_OBJS = hash.o pbe.o keyblock.o datablock.o kgghost.o
+ KGGHOST_CFLAGS = -Wall -p -ggdb -I. -I../../ -I../../certificate -DBC_LINUX
+ KGGHOST_CFLAGS += $(BC_EXTRA_CFLAGS)
+
++CXX = g++
++AR = ar
++
+ all: $(KGGHOST) Makefile
+
+ $(KGGHOST):$(KGGHOST_OBJS) $(CERTIFICATE_LIB)
+- ar rcs $(KGGHOST) $(KGGHOST_OBJS)
++ $(AR) rcs $(KGGHOST) $(KGGHOST_OBJS)
+
+ $(CERTIFICATE_LIB):
+ make -C ../../certificate/CertificateLib
+@@ -17,7 +20,7 @@ $(KERNEL_LIB):
+ make -C ../../kernel/build
+
+ %.o:%.cpp
+- g++ $(KGGHOST_CFLAGS) -c -o $@ $<
++ $(CXX) $(KGGHOST_CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(KGGHOST)
+diff --git a/keygens/kgsha/Makefile b/keygens/kgsha/Makefile
+index f1a89f9..57f55ca 100644
+--- a/keygens/kgsha/Makefile
++++ b/keygens/kgsha/Makefile
+@@ -10,10 +10,13 @@ KGSHA_OBJS = hash.o datablock.o kgsha.o
+ KGSHA_CFLAGS = -Wall -p -gdwarf-2 -I. -I../../ -I../../certificate -DBC_LINUX
+ KGSHA_CFLAGS += $(EXTRA_CFLAGS)
+
++CXX = g++
++AR = ar
++
+ all: $(KGSHA) $(KGSHA_OBJS) Makefile hidden_sector.h defs.h datablock.h
+
+ $(KGSHA): $(KGSHA_OBJS) $(CERTIFICATE_LIB) $(KERN_LIB)
+- ar rcs $(KGSHA) $(KGSHA_OBJS)
++ $(AR) rcs $(KGSHA) $(KGSHA_OBJS)
+
+ $(CERT_LIB):
+ make -C ../../certificate/CertificateLib
+@@ -22,7 +25,7 @@ $(KERN_LIB):
+ make -C ../../kernel/
+
+ %.o:%.cpp
+- g++ $(KGSHA_CFLAGS) -c -o $@ $<
++ $(CXX) $(KGSHA_CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(KGSHA)
+diff --git a/mount/Makefile b/mount/Makefile
+index 7a3d66b..0e60095 100644
+--- a/mount/Makefile
++++ b/mount/Makefile
+@@ -1,22 +1,23 @@
+
+ HELPERS = bcrrpart_helper bcmount_helper bcumount_helper
+
++CC = gcc
+ OBJS = common.o
+ CFLAGS += -Wall -O3
+
+ all: $(HELPERS) Makefile
+
+ bcrrpart_helper: $(OBJS) rrpart.o
+- gcc $(OBJS) rrpart.o $(LDFLAGS) -o bcrrpart_helper
++ $(CC) $(OBJS) rrpart.o $(LDFLAGS) -o bcrrpart_helper
+
+ bcmount_helper: $(OBJS) mount.o
+- gcc $(OBJS) mount.o $(LDFLAGS) -o bcmount_helper
++ $(CC) $(OBJS) mount.o $(LDFLAGS) -o bcmount_helper
+
+ bcumount_helper: $(OBJS) umount.o
+- gcc $(OBJS) umount.o $(LDFLAGS) -o bcumount_helper
++ $(CC) $(OBJS) umount.o $(LDFLAGS) -o bcumount_helper
+
+ %.o:%.c
+- gcc $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS) -c -o $@ $<
+
+ clean:
+ rm -f *.o *.ver *~ $(HELPERS)
+diff --git a/spacemap/Makefile b/spacemap/Makefile
+index 6dff240..7dd2ad9 100644
+--- a/spacemap/Makefile
++++ b/spacemap/Makefile
+@@ -5,17 +5,19 @@ LIB_NAME = spacemap
+ STATIC_TARGET = lib$(LIB_NAME).a
+ OBJECT_CFLAGS = -fPIC -g -c -Wall -ludev -fvisibility=hidden #-fvisibility-inlines-hidden
+
++CXX = g++
++AR = ar
+
+ all: static
+ true
+
+ static: $(OBJECTS)
+- ar rcs $(STATIC_TARGET) $(OBJECTS)
++ $(AR) rcs $(STATIC_TARGET) $(OBJECTS)
+
+ $(OBJECTS): $(SOURCES)
+ set -e; \
+ for i in $(SOURCES); do \
+- g++ $(OBJECT_CFLAGS) $$i -o $${i%.c}.o; \
++ $(CXX) $(OBJECT_CFLAGS) $$i -o $${i%.c}.o; \
+ done
+
+ clean:
+diff --git a/tests/Makefile b/tests/Makefile
+index c6d78f0..419020b 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -2,8 +2,8 @@ TESTS_PWD = ../build/tests/
+ TESTS_TARGET = $(TESTS_PWD)/bctool-tests
+ TESTS_SOURCES = tests-main.c ../container/cipher.cc ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/linux/file.cpp
+ TESTS_CFLAGS = -I../ -I../certificate/ -L../build/ -L../build/kernel/ -DBC_LINUX -ludev -g
+-CP = gcc
+-CPP = g++
++CC = gcc
++CXX = g++
+ CERT_LIB_NAME = certificate
+ KERN_LIB_NAME = bckernel
+ SPACEMAP_LIB_NAME = spacemap
+@@ -15,11 +15,11 @@ all: $(TESTS_TARGET)
+ cp insert-modules.sh remove-modules.sh bcmod-loaded.sh $(TESTS_PWD)
+
+ $(TESTS_TARGET): $(TESTS_SOURCES) Makefile
+- $(CPP) -o $(TESTS_TARGET) $(TESTS_CFLAGS) $(TESTS_SOURCES) -l$(CERT_LIB_NAME) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME) -lcunit -ludev
++ $(CXX) -o $(TESTS_TARGET) $(TESTS_CFLAGS) $(TESTS_SOURCES) -l$(CERT_LIB_NAME) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME) -lcunit -ludev
+ cp kernel/print-struct-size.c $(TESTS_PWD)
+- $(CP) -o $(TESTS_PWD)test-data-generator kernel/test-data-generator.c $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
+- $(CPP) -o $(TESTS_PWD)kgsha-key-generator kgsha/kgsha-data-generator.cpp ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/cipher.cc $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(CERT_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
+- $(CP) -o $(TESTS_PWD)/bcdevchecker bcdevchecker.c
++ $(CC) -o $(TESTS_PWD)test-data-generator kernel/test-data-generator.c $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
++ $(CXX) -o $(TESTS_PWD)kgsha-key-generator kgsha/kgsha-data-generator.cpp ../keygens/kgsha/datablock.cpp ../keygens/kgsha/hash.cpp ../container/cipher.cc $(TESTS_CFLAGS) -l$(KERN_LIB_NAME) -l$(CERT_LIB_NAME) -l$(SPACEMAP_LIB_NAME)
++ $(CC) -o $(TESTS_PWD)/bcdevchecker bcdevchecker.c
+
+ clean:
+ rm -rf $(TESTS_PWD)
+--
+2.0.5
+