--- a/leechcore/Makefile
+++ b/leechcore/Makefile
@@ -1,5 +1,6 @@
-CC=gcc
-CFLAGS  += -I. -I../includes/ -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `pkg-config libusb-1.0 --libs --cflags`
+CC?=gcc
+PKG_CONFIG ?= pkg-config
+CFLAGS  += -I. -I../includes/ -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
 # DEBUG FLAGS BELOW
 # export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2
 # CFLAGS  += -g -O0 -Wextra -Wno-unused-parameter -Wno-cast-function-type
--- a/leechcore_device_rawtcp/Makefile
+++ b/leechcore_device_rawtcp/Makefile
@@ -1,4 +1,4 @@
-CC=gcc
+CC?=gcc
 CFLAGS  += -I. -I../includes -D LINUX -shared -fPIC -fvisibility=hidden
 LDFLAGS += -g -shared
 DEPS = 
--- a/leechcore_ft601_driver_linux/Makefile
+++ b/leechcore_ft601_driver_linux/Makefile
@@ -1,5 +1,6 @@
-CC=gcc
-CFLAGS  += -I. -D LINUX -shared -fPIC -fvisibility=hidden `pkg-config libusb-1.0 --libs --cflags`
+CC?=gcc
+PKG_CONFIG ?= pkg-config
+CFLAGS  += -I. -D LINUX -shared -fPIC -fvisibility=hidden `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
 LDFLAGS += -g -shared
 DEPS = leechcore_ft601_driver_linux.h
 OBJ = fpga_libusb.o leechcore_ft601_driver_linux.o