Let environment provide default values for CFLAGS, CPPFLAGS, and LDFLAGS
https://github.com/waywardgeek/sonic/commit/2a4d32ced397cf1e38750026f000d69185222fc5
--- Makefile.orig	2021-08-17 17:43:36.000000000 -0500
+++ Makefile	2021-08-17 17:46:42.000000000 -0500
@@ -10,8 +10,8 @@
 ifeq ($(UNAME), Darwin)
   SONAME=install_name
 endif
-#CFLAGS=-Wall -g -ansi -fPIC -pthread
-CFLAGS=-Wall -O3 -ansi -fPIC -pthread
+CFLAGS ?= -O3
+CFLAGS += -Wall -ansi -fPIC -pthread
 LIB_TAG=0.2.0
 CC=gcc
 PREFIX=/usr
@@ -20,19 +20,19 @@
 all: sonic libsonic.so.$(LIB_TAG) libsonic.a
 
 sonic: wave.o main.o libsonic.so.$(LIB_TAG)
-	$(CC) $(CFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)
+	$(CC) $(CFLAGS) $(LDFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG)
 
 sonic.o: sonic.c sonic.h
-	$(CC) $(CFLAGS) -c sonic.c
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c sonic.c
 
 wave.o: wave.c wave.h
-	$(CC) $(CFLAGS) -c wave.c
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c wave.c
 
 main.o: main.c sonic.h wave.h
-	$(CC) $(CFLAGS) -c main.c
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c main.c
 
 libsonic.so.$(LIB_TAG): sonic.o
-	$(CC) $(CFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG)
+	$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG)
 	ln -sf libsonic.so.$(LIB_TAG) libsonic.so
 	ln -sf libsonic.so.$(LIB_TAG) libsonic.so.0
 
