diff --git a/libavcodec/ppc/Makefile b/libavcodec/ppc/Makefile
index a75d9bf9a04c55196262135370d031d131ceccc7..29c84150593d7a06da7069ca1cb0502a1158cd9e 100644
--- a/libavcodec/ppc/Makefile
+++ b/libavcodec/ppc/Makefile
@@ -2,7 +2,8 @@ OBJS                                   += ppc/fmtconvert_altivec.o      \
 
 OBJS-$(CONFIG_AUDIODSP)                += ppc/audiodsp.o
 OBJS-$(CONFIG_BLOCKDSP)                += ppc/blockdsp.o
-OBJS-$(CONFIG_FFT)                     += ppc/fft_altivec.o
+OBJS-$(CONFIG_FFT)                     += ppc/fft_init.o                \
+                                          ppc/fft_altivec.o
 OBJS-$(CONFIG_H264CHROMA)              += ppc/h264chroma_init.o
 OBJS-$(CONFIG_H264DSP)                 += ppc/h264dsp.o
 OBJS-$(CONFIG_H264QPEL)                += ppc/h264qpel.o
@@ -25,6 +26,3 @@ OBJS-$(CONFIG_VC1_DECODER)             += ppc/vc1dsp_altivec.o
 OBJS-$(CONFIG_VORBIS_DECODER)          += ppc/vorbisdsp_altivec.o
 OBJS-$(CONFIG_VP7_DECODER)             += ppc/vp8dsp_altivec.o
 OBJS-$(CONFIG_VP8_DECODER)             += ppc/vp8dsp_altivec.o
-
-FFT-OBJS-$(HAVE_GNU_AS)                += ppc/fft_altivec_s.o
-ALTIVEC-OBJS-$(CONFIG_FFT)             += $(FFT-OBJS-yes)
diff --git a/libavcodec/ppc/fft_altivec_s.S b/libavcodec/ppc/fft_altivec.S
similarity index 99%
rename from libavcodec/ppc/fft_altivec_s.S
rename to libavcodec/ppc/fft_altivec.S
index 958d7df0ee2055e9ad37f17c38afda3ce13bcb9a..c92b30b897e3d7c05dbaa38fa4085ca50a775e2a 100644
--- a/libavcodec/ppc/fft_altivec_s.S
+++ b/libavcodec/ppc/fft_altivec.S
@@ -39,6 +39,9 @@
  */
 
 #include "config.h"
+
+#if HAVE_GNU_AS && HAVE_ALTIVEC
+
 #include "asm.S"
 
 .text
@@ -447,3 +450,5 @@ fft_dispatch_tab\suffix\()_altivec:
 
 DECL_FFTS 0
 DECL_FFTS 1, _interleave
+
+#endif /* HAVE_GNU_AS && HAVE_ALTIVEC */
diff --git a/libavcodec/ppc/fft_altivec.c b/libavcodec/ppc/fft_init.c
similarity index 100%
rename from libavcodec/ppc/fft_altivec.c
rename to libavcodec/ppc/fft_init.c