--- a/makefile.in
+++ b/makefile.in
@@ -55,44 +55,44 @@ install: all
 	install -m 644 -p simd-viterbi.3 rs.3 dsp.3 $(DESTDIR)@mandir@/man3
 
 peaktest: peaktest.o libfec.a
-	gcc -g -o $@ $^
+	$(LINK.o) -o $@ $^
 
 sumsq_test: sumsq_test.o libfec.a
-	gcc -g -o $@ $^
+	$(LINK.o) -o $@ $^
 
 dtest: dtest.o libfec.a
-	gcc -g -o $@ $^ -lm
+	$(LINK.o) -o $@ $^ -lm
 
 vtest27: vtest27.o libfec.a
-	gcc -g -o $@ $^ -lm
+	$(LINK.o) -o $@ $^ -lm
 
 vtest29: vtest29.o libfec.a
-	gcc -g -o $@ $^ -lm
+	$(LINK.o) -o $@ $^ -lm
 
 vtest39: vtest39.o libfec.a
-	gcc -g -o $@ $^ -lm
+	$(LINK.o) -o $@ $^ -lm
 
 vtest615: vtest615.o libfec.a
-	gcc -g -o $@ $^ -lm
+	$(LINK.o) -o $@ $^ -lm
 
 rstest: rstest.o libfec.a
-	gcc -g -o $@ $^
+	$(LINK.o) -o $@ $^
 
 rs_speedtest: rs_speedtest.o libfec.a
-	gcc -g -o $@ $^	
+	$(LINK.o) -o $@ $^	
 
 # for some reason, the test programs without args segfault on the PPC with -O2 optimization. Dunno why - compiler bug?
 vtest27.o: vtest27.c fec.h
-	gcc -g -c $<
+	$(COMPILE.c) $<
 
 vtest29.o: vtest29.c fec.h
-	gcc -g -c $<
+	$(COMPILE.c) $<
 
 vtest39.o: vtest39.c fec.h
-	gcc -g -c $<
+	$(COMPILE.c) $<
 
 vtest615.o: vtest615.c fec.h
-	gcc -g -c $<
+	$(COMPILE.c) $<
 
 libfec.a: $(LIBS)
 	$(AR) rv $@ $^
@@ -150,36 +150,36 @@ ccsds_tab.c: gen_ccsds
 	./gen_ccsds > ccsds_tab.c
 
 gen_ccsds: gen_ccsds.o init_rs_char_local.o
-	gcc -o $@ $^
+	$(LINK.o) -o $@ $^
 
 gen_ccsds.o: gen_ccsds.c
-	gcc  $(BUILD_CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -o $@ $<
 
 init_rs_char_local.o: init_rs_char_local.c
-	gcc $(BUILD_CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -o $@ $<
 
 ccsds_tal.o: ccsds_tal.c
 
 gen_ccsds_tal: gen_ccsds_tal.o
-	gcc -o $@ $^
+	$(LINK.o) -o $@ $^
 
 gen_ccsds_tal.o: gen_ccsds_tal.c
-	gcc $(BUILD_CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -o $@ $<
 
 ccsds_tal.c: gen_ccsds_tal
 	./gen_ccsds_tal > ccsds_tal.c
 
 exercise_char.o: exercise.c
-	gcc $(CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -o $@ $<
 
 exercise_int.o: exercise.c
-	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -DBIGSYM=1 -o $@ $<
 
 exercise_8.o: exercise.c
-	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -DFIXED=1 -o $@ $<
 
 exercise_ccsds.o: exercise.c
-	gcc -DCCSDS=1 $(CFLAGS) -c -o $@ $<
+	$(COMPILE.c) -DCCSDS=1 -o $@ $<
 
 viterbi27.o: viterbi27.c fec.h
 
@@ -188,13 +188,13 @@ viterbi27_port.o: viterbi27_port.c fec.h
 viterbi27_av.o: viterbi27_av.c fec.h
 
 viterbi27_mmx.o: viterbi27_mmx.c fec.h
-	$(CC) $(CFLAGS) -mmmx -c -o $@ $<
+	$(COMPILE.c) -mmmx -c -o $@ $<
 
 viterbi27_sse.o: viterbi27_sse.c fec.h
-	$(CC) $(CFLAGS) -msse -c -o $@ $<
+	$(COMPILE.c) -msse -c -o $@ $<
 
 viterbi27_sse2.o: viterbi27_sse2.c fec.h
-	$(CC) $(CFLAGS) -msse2 -c -o $@ $<
+	$(COMPILE.c) -msse2 -c -o $@ $<
 
 viterbi29.o: viterbi29.c fec.h
 
@@ -203,13 +203,13 @@ viterbi29_port.o: viterbi29_port.c fec.h
 viterbi29_av.o: viterbi29_av.c fec.h
 
 viterbi29_mmx.o: viterbi29_mmx.c fec.h
-	$(CC) $(CFLAGS) -mmmx -c -o $@ $<
+	$(COMPILE.c) -mmmx -c -o $@ $<
 
 viterbi29_sse.o: viterbi29_sse.c fec.h
-	$(CC) $(CFLAGS) -msse -c -o $@ $<
+	$(COMPILE.c) -msse -c -o $@ $<
 
 viterbi29_sse2.o: viterbi29_sse2.c fec.h
-	$(CC) $(CFLAGS) -msse2 -c -o $@ $<
+	$(COMPILE.c) -msse2 -c -o $@ $<
 
 viterbi39.o: viterbi39.c fec.h
 
@@ -218,13 +218,13 @@ viterbi39_port.o: viterbi39_port.c fec.h
 viterbi39_av.o: viterbi39_av.c fec.h
 
 viterbi39_mmx.o: viterbi39_mmx.c fec.h
-	$(CC) $(CFLAGS) -mmmx -c -o $@ $<
+	$(COMPILE.c) -mmmx -c -o $@ $<
 
 viterbi39_sse.o: viterbi39_sse.c fec.h
-	$(CC) $(CFLAGS) -msse -c -o $@ $<
+	$(COMPILE.c) -msse -c -o $@ $<
 
 viterbi39_sse2.o: viterbi39_sse2.c fec.h
-	$(CC) $(CFLAGS) -msse2 -c -o $@ $<
+	$(COMPILE.c) -msse2 -c -o $@ $<
 
 viterbi615.o: viterbi615.c fec.h
 
@@ -233,13 +233,13 @@ viterbi615_port.o: viterbi615_port.c fec
 viterbi615_av.o: viterbi615_av.c fec.h
 
 viterbi615_mmx.o: viterbi615_mmx.c fec.h
-	$(CC) $(CFLAGS) -mmmx -c -o $@ $<
+	$(COMPILE.c) -mmmx -c -o $@ $<
 
 viterbi615_sse.o: viterbi615_sse.c fec.h
-	$(CC) $(CFLAGS) -msse -c -o $@ $<
+	$(COMPILE.c) -msse -c -o $@ $<
 
 viterbi615_sse2.o: viterbi615_sse2.c fec.h
-	$(CC) $(CFLAGS) -msse2 -c -o $@ $<
+	$(COMPILE.c) -msse2 -c -o $@ $<
 
 cpu_mode_x86.o: cpu_mode_x86.c fec.h
 
