--- a/C/LzmaUtil/makefile.gcc
+++ b/C/LzmaUtil/makefile.gcc
@@ -1,44 +1,53 @@
 PROG = lzma
-CXX = g++
-LIB =
+CC = gcc
+LIB = liblzma.a
 RM = rm -f
 CFLAGS = -c -O2 -Wall
+AR = ar
+RANLIB = ranlib
 
 OBJS = \
-  LzmaUtil.o \
   Alloc.o \
   LzFind.o \
   LzmaDec.o \
   LzmaEnc.o \
+  LzmaLib.o \
   7zFile.o \
   7zStream.o \
 
-
 all: $(PROG)
 
-$(PROG): $(OBJS)
-	$(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
+$(PROG): LzmaUtil.o $(LIB)
+	$(CC) -o $(PROG) $(LDFLAGS) $< $(LIB)
 
 LzmaUtil.o: LzmaUtil.c
-	$(CXX) $(CFLAGS) LzmaUtil.c
+	$(CC) $(CFLAGS) LzmaUtil.c
+
+$(LIB): $(OBJS)
+	rm -f $@
+	$(AR) rcu $@ $(OBJS)
+	$(RANLIB) $@
 
 Alloc.o: ../Alloc.c
-	$(CXX) $(CFLAGS) ../Alloc.c
+	$(CC) $(CFLAGS) ../Alloc.c
 
 LzFind.o: ../LzFind.c
-	$(CXX) $(CFLAGS) ../LzFind.c
+	$(CC) $(CFLAGS) ../LzFind.c
 
 LzmaDec.o: ../LzmaDec.c
-	$(CXX) $(CFLAGS) ../LzmaDec.c
+	$(CC) $(CFLAGS) ../LzmaDec.c
 
 LzmaEnc.o: ../LzmaEnc.c
-	$(CXX) $(CFLAGS) ../LzmaEnc.c
+	$(CC) $(CFLAGS) ../LzmaEnc.c
+
+LzmaLib.o: ../LzmaLib.c
+	$(CC) $(CFLAGS) ../LzmaLib.c
 
 7zFile.o: ../7zFile.c
-	$(CXX) $(CFLAGS) ../7zFile.c
+	$(CC) $(CFLAGS) ../7zFile.c
 
 7zStream.o: ../7zStream.c
-	$(CXX) $(CFLAGS) ../7zStream.c
+	$(CC) $(CFLAGS) ../7zStream.c
 
 clean:
-	-$(RM) $(PROG) $(OBJS)
+	-$(RM) $(PROG) *.o *.a
