diff --git a/codecs/gsm/Makefile b/codecs/gsm/Makefile
index d6eb94bb8b3516c6f608af450e9d48ab2a8997f7..3f283a1d63be8003e39b5bbdfbfd0ade07913890 100644
--- a/codecs/gsm/Makefile
+++ b/codecs/gsm/Makefile
@@ -49,6 +49,7 @@ ifneq (${PROC},sparc64)
 ifneq (${PROC},arm)
 ifneq (${PROC},ppc)
 ifneq (${PROC},ppc64)
+ifneq (${PROC},ia64)
 OPTIMIZE+=-march=$(PROC)
 endif
 endif
@@ -62,6 +63,7 @@ endif
 endif
 endif
 endif
+endif
 
 #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
 #This works for even old (2.96) versions of gcc and provides a small boost either way.
@@ -236,6 +238,7 @@ ifneq ($(shell uname -m),alpha)
 ifneq ($(shell uname -m),armv4l)
 ifneq ($(shell uname -m),sparc64)
 ifneq (${PROC},arm)
+ifneq (${PROC},ia64)
 GSM_SOURCES+= $(SRC)/k6opt.s
 endif
 endif
@@ -245,6 +248,7 @@ endif
 endif
 endif
 endif
+endif
 
 TOAST_SOURCES = $(SRC)/toast.c 		\
 		$(SRC)/toast_lin.c	\
@@ -297,6 +301,7 @@ ifneq ($(shell uname -m), ppc64)
 ifneq ($(shell uname -m), alpha)
 ifneq ($(shell uname -m), sparc64)
 ifneq ($(shell uname -m), armv4l)
+ifneq (${PROC},ia64)
 GSM_OBJECTS+= $(SRC)/k6opt.o
 endif
 endif
@@ -305,6 +310,7 @@ endif
 endif
 endif
 endif
+endif
 
 TOAST_OBJECTS =	$(SRC)/toast.o 		\
 		$(SRC)/toast_lin.o	\