diff --git a/Makefile b/Makefile index 164c8df..2bb8888 100644 --- a/Makefile +++ b/Makefile @@ -1,160 +1,214 @@ -# Build libfec on Linux and on/for 64-bit Windows with MinGW-w64. -# -# make build for the host platform -# make linux build Linux libraries -# make windows build Windows libraries (cross-build on Linux) -# make static build only the static library -# make shared build only the shared library -# make clean remove obj/ and lib/ +# Makefile prototype for configure +# Copyright 2004 Phil Karn, KA9Q +# May be used under the terms of the GNU Lesser General Public License (LGPL) -ifeq ($(OS),Windows_NT) - HOST_OS := windows -else - HOST_OS := linux +# Generated automatically from makefile.in by configure. +srcdir = . +prefix = /usr/local +exec_prefix=${prefix} +CC=gcc +AR ?= ar +RANLIB ?= ranlib +LIBS= cpu_mode_generic.o fec.o sim.o viterbi27.o viterbi27_port.o viterbi29.o viterbi29_port.o \ + viterbi615.o viterbi615_port.o encode_rs_char.o encode_rs_int.o encode_rs_8.o \ + decode_rs_char.o decode_rs_int.o decode_rs_8.o \ + init_rs_char.o init_rs_int.o ccsds_tab.o \ + encode_rs_ccsds.o decode_rs_ccsds.o ccsds_tal.o \ + dotprod.o dotprod_port.o \ + peakval.o peakval_port.o \ + sumsq.o sumsq_port.o + +CFLAGS=-O2 -fPIC -Wno-implicit-int -Wno-implicit-function-declaration -Wno-int-conversion -I. -Wall + +SHARED_LIB=libfec.so +REBIND=ldconfig + +ifeq ($(shell uname -s),Darwin) +SHARED_LIB=libfec.dylib +REBIND= endif -BUILD ?= $(HOST_OS) +all: libfec.a $(SHARED_LIB) -OBJROOT := obj -OUTROOT := lib -OBJDIR := $(OBJROOT)/$(BUILD) -OUTDIR := $(OUTROOT)/$(BUILD) -GENDIR := $(OBJDIR)/generated -TOOLDIR := $(OBJROOT)/tools/$(HOST_OS) +test: vtest27 vtest29 vtest615 rstest dtest sumsq_test peaktest + ./vtest27 -e 3.0 -n 1000 -v + ./vtest27 + ./vtest29 -e 2.5 -n 1000 -v + ./vtest29 + ./vtest615 -e 1.0 -n 100 -v + ./vtest615 + ./rstest + ./dtest + ./sumsq_test + ./peaktest -# Command-line assignments (for example CC=clang) still take precedence. -ifeq ($(BUILD),windows) - ifeq ($(HOST_OS),windows) - CROSS_PREFIX ?= - else - CROSS_PREFIX ?= x86_64-w64-mingw32- - endif - ifeq ($(origin CC),default) - CC := $(CROSS_PREFIX)gcc - endif - ifeq ($(origin AR),default) - AR := $(CROSS_PREFIX)ar - endif - ifeq ($(origin RANLIB),undefined) - RANLIB := $(CROSS_PREFIX)ranlib - endif - SHARED_LIB := $(OUTDIR)/libfec.dll - IMPORT_LIB := $(OUTDIR)/libfec.dll.a - SHARED_FLAGS := -shared -Wl,--out-implib,$(IMPORT_LIB) - PIC_CFLAGS := -else ifeq ($(BUILD),linux) - ifeq ($(origin CC),default) - CC := gcc - endif - ifeq ($(origin AR),default) - AR := ar - endif - ifeq ($(origin RANLIB),undefined) - RANLIB := ranlib - endif - SHARED_LIB := $(OUTDIR)/libfec.so - IMPORT_LIB := - SHARED_FLAGS := -shared -Wl,-soname,libfec.so - PIC_CFLAGS := -fPIC -else - $(error Unsupported BUILD='$(BUILD)'; use BUILD=linux or BUILD=windows) +install: all + mkdir -p ${exec_prefix}/lib + install -m 644 -p $(SHARED_LIB) libfec.a ${exec_prefix}/lib +# (cd ${exec_prefix}/lib;ln -f -s $(SHARED_LIB) libfec.so) +ifneq ($(REBIND),) + $(REBIND) endif + mkdir -p ${prefix}/include + install -m 644 -p fec.h ${prefix}/include + mkdir -m 0755 -p ${prefix}/man/man3 + install -m 644 -p simd-viterbi.3 rs.3 dsp.3 ${prefix}/man/man3 -ifeq ($(origin HOSTCC),undefined) - HOSTCC := gcc -endif +peaktest: peaktest.o libfec.a + $(CC) -g -o $@ $^ -CPPFLAGS ?= -CFLAGS ?= -O2 -Wall -Wno-implicit-int -Wno-implicit-function-declaration -Wno-int-conversion -LDFLAGS ?= -LDLIBS ?= -lm -HOSTCFLAGS ?= -O2 +sumsq_test: sumsq_test.o libfec.a + $(CC) -g -o $@ $^ -STATIC_LIB := $(OUTDIR)/libfec.a +dtest: dtest.o libfec.a + $(CC) -g -o $@ $^ -lm -SOURCES := \ - cpu_mode_generic.c fec.c sim.c \ - viterbi27.c viterbi27_port.c \ - viterbi29.c viterbi29_port.c \ - viterbi615.c viterbi615_port.c \ - encode_rs_char.c encode_rs_int.c encode_rs_8.c \ - decode_rs_char.c decode_rs_int.c decode_rs_8.c \ - init_rs_char.c init_rs_int.c \ - encode_rs_ccsds.c decode_rs_ccsds.c \ - dotprod.c dotprod_port.c \ - peakval.c peakval_port.c \ - sumsq.c sumsq_port.c +vtest27: vtest27.o libfec.a + $(CC) -g -o $@ $^ -lm -GENERATED_SOURCES := $(GENDIR)/ccsds_tab.c $(GENDIR)/ccsds_tal.c -OBJECTS := $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o)) \ - $(OBJDIR)/ccsds_tab.o $(OBJDIR)/ccsds_tal.o -DEPS := $(OBJECTS:.o=.d) +vtest29: vtest29.o libfec.a + $(CC) -g -o $@ $^ -lm -GEN_CCSDS := $(TOOLDIR)/gen_ccsds$(if $(filter windows,$(HOST_OS)),.exe) -GEN_TAL := $(TOOLDIR)/gen_ccsds_tal$(if $(filter windows,$(HOST_OS)),.exe) -HOST_GEN_OBJECTS := $(TOOLDIR)/gen_ccsds.o $(TOOLDIR)/init_rs_char.o +vtest615: vtest615.o libfec.a + $(CC) -g -o $@ $^ -lm -.DEFAULT_GOAL := all -.PHONY: all build linux windows static shared check-tools clean +rstest: rstest.o libfec.a + $(CC) -g -o $@ $^ -all: build -build: check-tools static shared -static: $(STATIC_LIB) -shared: $(SHARED_LIB) +# 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 + $(CC) -g -c $< -# Explicit platform aliases are recursive so their toolchains and paths are -# resolved with the requested BUILD value from the start. -linux: - $(MAKE) BUILD=linux build +vtest29.o: vtest29.c fec.h + $(CC) -g -c $< -windows: - $(MAKE) BUILD=windows build +vtest615.o: vtest615.c fec.h + $(CC) -g -c $< -check-tools: - @command -v $(CC) >/dev/null 2>&1 || { \ - echo "Error: compiler '$(CC)' was not found."; \ - echo "On Linux install MinGW-w64; on Windows run this from an MSYS2 MinGW 64-bit shell."; \ - exit 1; \ - } +libfec.a: $(LIBS) + $(AR) rv $@ $^ + $(RANLIB) libfec.a -$(STATIC_LIB): $(OBJECTS) | $(OUTDIR) - $(AR) rcs $@ $^ - $(RANLIB) $@ +# for Darwin +libfec.dylib: $(LIBS) + $(CC) -dynamiclib -install_name $@ -o $@ $^ -$(SHARED_LIB): $(OBJECTS) | $(OUTDIR) - $(CC) $(SHARED_FLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) +# for Linux et al +libfec.so: $(LIBS) + $(CC) -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc -lm -$(OBJDIR)/%.o: %.c | $(OBJDIR) - $(CC) $(CPPFLAGS) $(CFLAGS) $(PIC_CFLAGS) -MMD -MP -I. -c -o $@ $< +dotprod.o: dotprod.c fec.h -$(OBJDIR)/ccsds_tab.o: $(GENDIR)/ccsds_tab.c | $(OBJDIR) - $(CC) $(CPPFLAGS) $(CFLAGS) $(PIC_CFLAGS) -MMD -MP -I. -c -o $@ $< +dotprod_port.o: dotprod_port.c fec.h -$(OBJDIR)/ccsds_tal.o: $(GENDIR)/ccsds_tal.c | $(OBJDIR) - $(CC) $(CPPFLAGS) $(CFLAGS) $(PIC_CFLAGS) -MMD -MP -I. -c -o $@ $< +viterbi27.o: viterbi27.c fec.h -$(GENDIR)/ccsds_tab.c: $(GEN_CCSDS) | $(GENDIR) - $(GEN_CCSDS) > $@ +viterbi27_port.o: viterbi27_port.c fec.h -$(GENDIR)/ccsds_tal.c: $(GEN_TAL) | $(GENDIR) - $(GEN_TAL) > $@ +viterbi29.o: viterbi29.c fec.h -$(GEN_CCSDS): $(HOST_GEN_OBJECTS) | $(TOOLDIR) - $(HOSTCC) -o $@ $^ +encode_rs_char.o: encode_rs_char.c char.h rs-common.h -$(GEN_TAL): gen_ccsds_tal.c | $(TOOLDIR) - $(HOSTCC) $(HOSTCFLAGS) -I. -o $@ $< +encode_rs_int.o: encode_rs_int.c int.h rs-common.h -$(TOOLDIR)/gen_ccsds.o: gen_ccsds.c char.h rs-common.h fec.h | $(TOOLDIR) - $(HOSTCC) $(HOSTCFLAGS) -I. -c -o $@ $< +encode_rs_8.o: encode_rs_8.c fixed.h -$(TOOLDIR)/init_rs_char.o: init_rs_char.c char.h rs-common.h init_rs.h fec.h | $(TOOLDIR) - $(HOSTCC) $(HOSTCFLAGS) -I. -c -o $@ $< +encode_rs_av.o: encode_rs_av.c fixed.h + +decode_rs_char.o: decode_rs_char.c char.h rs-common.h + +decode_rs_int.o: decode_rs_int.c int.h rs-common.h + +decode_rs_8.o: decode_rs_8.c fixed.h + +init_rs_char.o: init_rs_char.c char.h rs-common.h + +init_rs_int.o: init_rs_int.c int.h rs-common.h + +ccsds_tab.o: ccsds_tab.c + +ccsds_tab.c: gen_ccsds + ./gen_ccsds > ccsds_tab.c + +gen_ccsds: gen_ccsds.o init_rs_char.o + $(CC) -o $@ $^ + +gen_ccsds.o: gen_ccsds.c + $(CC) $(CFLAGS) -c -o $@ $< + +ccsds_tal.o: ccsds_tal.c + +ccsds_tal.c: gen_ccsds_tal + ./gen_ccsds_tal > ccsds_tal.c + +exercise_char.o: exercise.c + $(CC) $(CFLAGS) -c -o $@ $< + +exercise_int.o: exercise.c + $(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $< + +exercise_8.o: exercise.c + $(CC) -DFIXED=1 $(CFLAGS) -c -o $@ $< + +exercise_ccsds.o: exercise.c + $(CC) -DCCSDS=1 $(CFLAGS) -c -o $@ $< + +viterbi27.o: viterbi27.c fec.h + +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 $@ $< + +viterbi27_sse.o: viterbi27_sse.c fec.h + $(CC) $(CFLAGS) -msse -c -o $@ $< + +viterbi27_sse2.o: viterbi27_sse2.c fec.h + $(CC) $(CFLAGS) -msse2 -c -o $@ $< + +viterbi29.o: viterbi29.c fec.h + +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 $@ $< + +viterbi29_sse.o: viterbi29_sse.c fec.h + $(CC) $(CFLAGS) -msse -c -o $@ $< + +viterbi29_sse2.o: viterbi29_sse2.c fec.h + $(CC) $(CFLAGS) -msse2 -c -o $@ $< + +viterbi615.o: viterbi615.c fec.h + +viterbi615_port.o: viterbi615_port.c fec.h + +viterbi615_av.o: viterbi615_av.c fec.h + +viterbi615_mmx.o: viterbi615_mmx.c fec.h + $(CC) $(CFLAGS) -mmmx -c -o $@ $< + +viterbi615_sse.o: viterbi615_sse.c fec.h + $(CC) $(CFLAGS) -msse -c -o $@ $< + +viterbi615_sse2.o: viterbi615_sse2.c fec.h + $(CC) $(CFLAGS) -msse2 -c -o $@ $< + +cpu_mode_generic.o: cpu_mode_generic.c fec.h + $(CC) $(CFLAGS) -c -o $@ $< + +cpu_mode_x86.o: cpu_mode_x86.c fec.h + +cpu_mode_ppc.o: cpu_mode_ppc.c fec.h -$(OBJDIR) $(OUTDIR) $(GENDIR) $(TOOLDIR): - mkdir -p $@ clean: - -rm -rf $(OBJROOT) $(OUTROOT) + rm -f *.o libfec.so libfec.dylib *.a peaktest sumsq_test dtest vtest27 vtest29 vtest615 rstest ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal core + rm -rf autom4te.cache --include $(DEPS) +distclean: clean + rm -f config.log config.cache config.status config.h makefile diff --git a/makefile b/makefile deleted file mode 100644 index a7cc2f8..0000000 --- a/makefile +++ /dev/null @@ -1,205 +0,0 @@ -# Makefile prototype for configure -# Copyright 2004 Phil Karn, KA9Q -# May be used under the terms of the GNU Lesser General Public License (LGPL) - -# Generated automatically from makefile.in by configure. -srcdir = . -prefix = /usr/local -exec_prefix=${prefix} -CC=gcc -LIBS= cpu_mode_generic.o fec.o sim.o viterbi27.o viterbi27_port.o viterbi29.o viterbi29_port.o \ - viterbi615.o viterbi615_port.o encode_rs_char.o encode_rs_int.o encode_rs_8.o \ - decode_rs_char.o decode_rs_int.o decode_rs_8.o \ - init_rs_char.o init_rs_int.o ccsds_tab.o \ - encode_rs_ccsds.o decode_rs_ccsds.o ccsds_tal.o \ - dotprod.o dotprod_port.o \ - peakval.o peakval_port.o \ - sumsq.o sumsq_port.o - -CFLAGS=-O2 -fPIC -Wno-implicit-int -Wno-implicit-function-declaration -Wno-int-conversion -I. -Wall - -SHARED_LIB=libfec.so - -all: libfec.a $(SHARED_LIB) - -test: vtest27 vtest29 vtest615 rstest dtest sumsq_test peaktest - ./vtest27 -e 3.0 -n 1000 -v - ./vtest27 - ./vtest29 -e 2.5 -n 1000 -v - ./vtest29 - ./vtest615 -e 1.0 -n 100 -v - ./vtest615 - ./rstest - ./dtest - ./sumsq_test - ./peaktest - -install: all - mkdir -p ${exec_prefix}/lib - install -m 644 -p $(SHARED_LIB) libfec.a ${exec_prefix}/lib -# (cd ${exec_prefix}/lib;ln -f -s $(SHARED_LIB) libfec.so) - ldconfig - mkdir -p ${prefix}/include - install -m 644 -p fec.h ${prefix}/include - mkdir -m 0755 -p ${prefix}/man/man3 - install -m 644 -p simd-viterbi.3 rs.3 dsp.3 ${prefix}/man/man3 - -peaktest: peaktest.o libfec.a - gcc -g -o $@ $^ - -sumsq_test: sumsq_test.o libfec.a - gcc -g -o $@ $^ - -dtest: dtest.o libfec.a - gcc -g -o $@ $^ -lm - -vtest27: vtest27.o libfec.a - gcc -g -o $@ $^ -lm - -vtest29: vtest29.o libfec.a - gcc -g -o $@ $^ -lm - -vtest615: vtest615.o libfec.a - gcc -g -o $@ $^ -lm - -rstest: rstest.o libfec.a - gcc -g -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 $< - -vtest29.o: vtest29.c fec.h - gcc -g -c $< - -vtest615.o: vtest615.c fec.h - gcc -g -c $< - -libfec.a: $(LIBS) - ar rv $@ $^ - ranlib libfec.a - -# for Darwin -libfec.dylib: $(LIBS) - $(CC) -dynamiclib -install_name $@ -o $@ $^ - -# for Linux et al -libfec.so: $(LIBS) - gcc -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc -lm - -dotprod.o: dotprod.c fec.h - -dotprod_port.o: dotprod_port.c fec.h - -viterbi27.o: viterbi27.c fec.h - -viterbi27_port.o: viterbi27_port.c fec.h - -viterbi29.o: viterbi29.c fec.h - -encode_rs_char.o: encode_rs_char.c char.h rs-common.h - -encode_rs_int.o: encode_rs_int.c int.h rs-common.h - -encode_rs_8.o: encode_rs_8.c fixed.h - -encode_rs_av.o: encode_rs_av.c fixed.h - -decode_rs_char.o: decode_rs_char.c char.h rs-common.h - -decode_rs_int.o: decode_rs_int.c int.h rs-common.h - -decode_rs_8.o: decode_rs_8.c fixed.h - -init_rs_char.o: init_rs_char.c char.h rs-common.h - -init_rs_int.o: init_rs_int.c int.h rs-common.h - -ccsds_tab.o: ccsds_tab.c - -ccsds_tab.c: gen_ccsds - ./gen_ccsds > ccsds_tab.c - -gen_ccsds: gen_ccsds.o init_rs_char.o - gcc -o $@ $^ - -gen_ccsds.o: gen_ccsds.c - gcc $(CFLAGS) -c -o $@ $< - -ccsds_tal.o: ccsds_tal.c - -ccsds_tal.c: gen_ccsds_tal - ./gen_ccsds_tal > ccsds_tal.c - -exercise_char.o: exercise.c - gcc $(CFLAGS) -c -o $@ $< - -exercise_int.o: exercise.c - gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $< - -exercise_8.o: exercise.c - gcc -DFIXED=1 $(CFLAGS) -c -o $@ $< - -exercise_ccsds.o: exercise.c - gcc -DCCSDS=1 $(CFLAGS) -c -o $@ $< - -viterbi27.o: viterbi27.c fec.h - -viterbi27_port.o: viterbi27_port.c fec.h - -viterbi27_av.o: viterbi27_av.c fec.h - -viterbi27_mmx.o: viterbi27_mmx.c fec.h - gcc $(CFLAGS) -mmmx -c -o $@ $< - -viterbi27_sse.o: viterbi27_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< - -viterbi27_sse2.o: viterbi27_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< - -viterbi29.o: viterbi29.c fec.h - -viterbi29_port.o: viterbi29_port.c fec.h - -viterbi29_av.o: viterbi29_av.c fec.h - -viterbi29_mmx.o: viterbi29_mmx.c fec.h - gcc $(CFLAGS) -mmmx -c -o $@ $< - -viterbi29_sse.o: viterbi29_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< - -viterbi29_sse2.o: viterbi29_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< - -viterbi615.o: viterbi615.c fec.h - -viterbi615_port.o: viterbi615_port.c fec.h - -viterbi615_av.o: viterbi615_av.c fec.h - -viterbi615_mmx.o: viterbi615_mmx.c fec.h - gcc $(CFLAGS) -mmmx -c -o $@ $< - -viterbi615_sse.o: viterbi615_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< - -viterbi615_sse2.o: viterbi615_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< - -cpu_mode_generic.o: cpu_mode_generic.c fec.h - gcc $(CFLAGS) -c -o $@ $< - -cpu_mode_x86.o: cpu_mode_x86.c fec.h - -cpu_mode_ppc.o: cpu_mode_ppc.c fec.h - - -clean: - rm -f *.o $(SHARED_LIB) *.a peaktest sumsq_test dtest vtest27 vtest29 vtest615 rstest ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal core - rm -rf autom4te.cache - -distclean: clean - rm -f config.log config.cache config.status config.h makefile - diff --git a/makefile.in b/makefile.in index 521f55a..c94bece 100644 --- a/makefile.in +++ b/makefile.in @@ -8,6 +8,8 @@ prefix = @prefix@ exec_prefix=@exec_prefix@ VPATH = @srcdir@ CC=@CC@ +AR ?= ar +RANLIB ?= ranlib LIBS=@MLIBS@ cpu_mode_generic.o fec.o sim.o viterbi27.o viterbi27_port.o viterbi29.o viterbi29_port.o \ viterbi615.o viterbi615_port.o encode_rs_char.o encode_rs_int.o encode_rs_8.o \ decode_rs_char.o decode_rs_int.o decode_rs_8.o \ @@ -20,6 +22,12 @@ LIBS=@MLIBS@ cpu_mode_generic.o fec.o sim.o viterbi27.o viterbi27_port.o viterbi CFLAGS=@CFLAGS@ -I. -Wall @ARCH_OPTION@ SHARED_LIB=@SH_LIB@ +REBIND=@REBIND@ + +ifeq ($(shell uname -s),Darwin) +SHARED_LIB=libfec.dylib +REBIND= +endif all: libfec.a $(SHARED_LIB) @@ -39,46 +47,48 @@ install: all mkdir -p @libdir@ install -m 644 -p $(SHARED_LIB) libfec.a @libdir@ # (cd @libdir@;ln -f -s $(SHARED_LIB) libfec.so) - @REBIND@ +ifneq ($(REBIND),) + $(REBIND) +endif mkdir -p @includedir@ install -m 644 -p fec.h @includedir@ mkdir -m 0755 -p @mandir@/man3 install -m 644 -p simd-viterbi.3 rs.3 dsp.3 @mandir@/man3 peaktest: peaktest.o libfec.a - gcc -g -o $@ $^ + $(CC) -g -o $@ $^ sumsq_test: sumsq_test.o libfec.a - gcc -g -o $@ $^ + $(CC) -g -o $@ $^ dtest: dtest.o libfec.a - gcc -g -o $@ $^ -lm + $(CC) -g -o $@ $^ -lm vtest27: vtest27.o libfec.a - gcc -g -o $@ $^ -lm + $(CC) -g -o $@ $^ -lm vtest29: vtest29.o libfec.a - gcc -g -o $@ $^ -lm + $(CC) -g -o $@ $^ -lm vtest615: vtest615.o libfec.a - gcc -g -o $@ $^ -lm + $(CC) -g -o $@ $^ -lm rstest: rstest.o libfec.a - gcc -g -o $@ $^ + $(CC) -g -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 $< + $(CC) -g -c $< vtest29.o: vtest29.c fec.h - gcc -g -c $< + $(CC) -g -c $< vtest615.o: vtest615.c fec.h - gcc -g -c $< + $(CC) -g -c $< libfec.a: $(LIBS) - ar rv $@ $^ - ranlib libfec.a + $(AR) rv $@ $^ + $(RANLIB) libfec.a # for Darwin libfec.dylib: $(LIBS) @@ -86,7 +96,7 @@ libfec.dylib: $(LIBS) # for Linux et al libfec.so: $(LIBS) - gcc -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc -lm + $(CC) -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc -lm dotprod.o: dotprod.c fec.h @@ -122,10 +132,10 @@ ccsds_tab.c: gen_ccsds ./gen_ccsds > ccsds_tab.c gen_ccsds: gen_ccsds.o init_rs_char.o - gcc -o $@ $^ + $(CC) -o $@ $^ gen_ccsds.o: gen_ccsds.c - gcc $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< ccsds_tal.o: ccsds_tal.c @@ -133,16 +143,16 @@ ccsds_tal.c: gen_ccsds_tal ./gen_ccsds_tal > ccsds_tal.c exercise_char.o: exercise.c - gcc $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< exercise_int.o: exercise.c - gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $< + $(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $< exercise_8.o: exercise.c - gcc -DFIXED=1 $(CFLAGS) -c -o $@ $< + $(CC) -DFIXED=1 $(CFLAGS) -c -o $@ $< exercise_ccsds.o: exercise.c - gcc -DCCSDS=1 $(CFLAGS) -c -o $@ $< + $(CC) -DCCSDS=1 $(CFLAGS) -c -o $@ $< viterbi27.o: viterbi27.c fec.h @@ -151,13 +161,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 - gcc $(CFLAGS) -mmmx -c -o $@ $< + $(CC) $(CFLAGS) -mmmx -c -o $@ $< viterbi27_sse.o: viterbi27_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< + $(CC) $(CFLAGS) -msse -c -o $@ $< viterbi27_sse2.o: viterbi27_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< + $(CC) $(CFLAGS) -msse2 -c -o $@ $< viterbi29.o: viterbi29.c fec.h @@ -166,13 +176,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 - gcc $(CFLAGS) -mmmx -c -o $@ $< + $(CC) $(CFLAGS) -mmmx -c -o $@ $< viterbi29_sse.o: viterbi29_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< + $(CC) $(CFLAGS) -msse -c -o $@ $< viterbi29_sse2.o: viterbi29_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< + $(CC) $(CFLAGS) -msse2 -c -o $@ $< viterbi615.o: viterbi615.c fec.h @@ -181,16 +191,16 @@ viterbi615_port.o: viterbi615_port.c fec.h viterbi615_av.o: viterbi615_av.c fec.h viterbi615_mmx.o: viterbi615_mmx.c fec.h - gcc $(CFLAGS) -mmmx -c -o $@ $< + $(CC) $(CFLAGS) -mmmx -c -o $@ $< viterbi615_sse.o: viterbi615_sse.c fec.h - gcc $(CFLAGS) -msse -c -o $@ $< + $(CC) $(CFLAGS) -msse -c -o $@ $< viterbi615_sse2.o: viterbi615_sse2.c fec.h - gcc $(CFLAGS) -msse2 -c -o $@ $< + $(CC) $(CFLAGS) -msse2 -c -o $@ $< cpu_mode_generic.o: cpu_mode_generic.c fec.h - gcc $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< cpu_mode_x86.o: cpu_mode_x86.c fec.h @@ -198,9 +208,8 @@ cpu_mode_ppc.o: cpu_mode_ppc.c fec.h clean: - rm -f *.o $(SHARED_LIB) *.a peaktest sumsq_test dtest vtest27 vtest29 vtest615 rstest ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal core + rm -f *.o libfec.so libfec.dylib *.a peaktest sumsq_test dtest vtest27 vtest29 vtest615 rstest ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal core rm -rf autom4te.cache distclean: clean rm -f config.log config.cache config.status config.h makefile -