--- zip30.orig/unix/Makefile	2008-05-07 08:33:56.000000000 +0200
+++ zip30/unix/Makefile	2011-10-19 22:21:08.000000000 +0200
@@ -22,7 +22,7 @@ SHELL = /bin/sh
 LN = ln -s
 
 # (to use the GNU compiler, change cc to gcc in CC)
-CC = cc
+CC ?= cc
 BIND = $(CC)
 AS = $(CC) -c
 CPP = /lib/cpp
@@ -58,7 +58,7 @@ IZ_OUR_BZIP2_DIR = bzip2
 #   LFLAGS1   flags after output file spec, before obj file list
 #   LFLAGS2   flags after obj file list (libraries, etc)
 CFLAGS_NOOPT = -I. -DUNIX $(LOCAL_ZIP)
-CFLAGS = -O2 $(CFLAGS_NOOPT)
+CFLAGS ?= -O2 $(CFLAGS_NOOPT)
 LFLAGS1 =
 LFLAGS2 = -s
 
@@ -199,10 +199,10 @@ flags:  unix/configure
 #               Generic targets:
 
 generic: flags
-	eval $(MAKE) $(MAKEF) zips `cat flags`
+	eval $(MAKE) $(MAKEF) zips `cat flags` CC=$(CC)
 
 generic_gcc:
-	$(MAKE) $(MAKEF) generic CC=gcc CPP="gcc -E"
+	$(MAKE) $(MAKEF) generic CPP="gcc -E" CC=$(CC)
 
 # AT&T 6300 PLUS (don't know yet how to allocate 64K bytes):
 att6300nodir:
