--- Makefile.orig	2009-01-19 20:42:59.000000000 -0500
+++ Makefile	2022-07-29 10:50:29.000000000 -0400
@@ -1,9 +1,10 @@
-CPP = g++
-CC  = gcc
-OBJ = main.o UnAlz.o UnAlzUtils.o UnAlzBz2decompress.o UnAlzBzip2.o UnAlzbzlib.o zlib/adler32.o zlib/crc32.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/zutil.o bzip2/blocksort.o bzip2/compress.o bzip2/crctable.o bzip2/huffman.o bzip2/randtable.o
-BIN = unalz
-LDFLAGS = 
-CFLAGS = -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
+CXX := clang++
+CC  := clang
+OBJ := main.o UnAlz.o UnAlzUtils.o UnAlzBz2decompress.o UnAlzBzip2.o UnAlzbzlib.o zlib/adler32.o zlib/crc32.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/zutil.o bzip2/blocksort.o bzip2/compress.o bzip2/crctable.o bzip2/huffman.o bzip2/randtable.o
+BIN := unalz
+LDFLAGS += 
+CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+CXXFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
 
 all:
 	@echo ""
@@ -12,7 +13,8 @@
 	@echo ""
 	@echo "TARGET_SYSTEM is one of"
 	@echo ""
-	@echo " posix-utf8        : POSIX with utf8 filesystem(Most of modern OS, e.g. OSX/Ubuntu)"
+	@echo " posix-utf8        : POSIX with utf8 filesystem(Most of modern OS, e.g. OSX/Ubuntu)"
+
 	@echo " posix             : POSIX system (FreeBSD/linux/OSX/sparc/Win32)"
 	@echo " linux-utf8        : LINUX with utf8 filesystem(without -liconv option)"
 	@echo " posix-noiconv     : POSIX without libiconv (Windows(MINGW32,CYGWIN) or EUC-KR file system)"
@@ -22,20 +24,20 @@
 	@echo ""
 
 posix: unalz
-	$(CPP) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV $(CFLAGS) 
-	$(CPP) $(OBJ) $(LDFLAGS) -liconv -o $(BIN) 
+	$(CXX) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV $(CXXFLAGS) 
+	$(CXX) $(OBJ) $(LDFLAGS) $(CXXFLAGS) -liconv -o $(BIN) 
 
 posix-utf8: unalz
-	$(CPP) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV -D_UNALZ_UTF8 $(CFLAGS)
-	$(CPP) $(OBJ) $(LDFLAGS) -liconv -o $(BIN)
+	$(CXX) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV -D_UNALZ_UTF8 $(CXXFLAGS)
+	$(CXX) $(OBJ) $(LDFLAGS) $(CXXFLAGS) -liconv -o $(BIN)
 
 posix-noiconv: unalz
-	$(CPP) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp $(CFLAGS)
-	$(CPP) $(OBJ) $(LDFLAGS) -o $(BIN)
+	$(CXX) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp $(CXXFLAGS)
+	$(CXX) $(OBJ) $(LDFLAGS) $(CXXFLAGS) -o $(BIN)
 
 linux-utf8: unalz
-	$(CPP) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV -D_UNALZ_UTF8 $(CFLAGS)
-	$(CPP) $(OBJ) $(LDFLAGS) -o $(BIN)
+	$(CXX) -c UnAlz.cpp -c UnAlzUtils.cpp -c main.cpp -D_UNALZ_ICONV -D_UNALZ_UTF8 $(CXXFLAGS)
+	$(CXX) $(OBJ) $(LDFLAGS) $(CXXFLAGS) -o $(BIN)
 
 install:
 	cp unalz /usr/local/bin/
