# @configure_input@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix=@exec_prefix@
VPATH = @srcdir@
CC=@CC@
CFLAGS=@CFLAGS@ -I. -Wall -fPIC
SHARED_LIB=libviterbi.so.2
STATIC_LIB=@STATIC_LIB@
CLIB=viterbi27port.o viterbi29port.o parity.o
MMXLIB=viterbi27mmx.o mmxbfly27.o viterbi29mmx.o mmxbfly29.o cpu_features.o
SSELIB=viterbi27sse.o ssebfly27.o viterbi29sse.o ssebfly29.o cpu_features.o
SSE2LIB=viterbi27sse2.o sse2bfly27.o viterbi29sse2.o sse2bfly29.o cpu_features.o
all: $(SHARED_LIB) $(STATIC_LIB)
test: vtest27 vtest29
./vtest27
./vtest29
install: all
$(BSD_INSTALL_DATA) $(STATIC_LIB) @libdir@
$(BSD_INSTALL_PROGRAM) $(SHARED_LIB) @libdir@
(cd @libdir@;ln -f -s $(SHARED_LIB) libviterbi.so)
(cd @libdir@;ln -f -s $(STATIC_LIB) libviterbi.a)
$(BSD_INSTALL_DATA) parity.h viterbi27.h viterbi29.h @includedir@
$(BSD_INSTALL_MAN) simd-viterbi.3 @mandir@/man3
vtest27: vtest27.o $(STATIC_LIB)
cc -g -o $@ $^
vtest29: vtest29.o $(STATIC_LIB)
cc -g -o $@ $^
vtest27.o: vtest27.c viterbi27.h parity.h
vtest29.o: vtest29.c viterbi29.h parity.h
libviterbi_port.a: $(CLIB)
ar rv $@ $^
libviterbi_mmx.a: $(MMXLIB)
ar rv $@ $^
libviterbi_sse.a: $(SSELIB)
ar rv $@ $^
libviterbi_sse2.a: $(SSE2LIB)
ar rv $@ $^
$(SHARED_LIB): $(STATIC_LIB)
cc -shared -fPIC -Xlinker -soname=libviterbi.so.@SO_NAME@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc
viterbi27port.o: viterbi27.c viterbi27.h parity.h
cc -c $(CFLAGS) -o $@ $<
viterbi27mmx.o: viterbi27.c viterbi27.h parity.h
cc -c $(CFLAGS) -DMMX=1 -o $@ $<
viterbi27sse.o: viterbi27.c viterbi27.h parity.h
cc -c $(CFLAGS) -DSSE=1 -o $@ $<
viterbi27sse2.o: viterbi27.c viterbi27.h parity.h
cc -c $(CFLAGS) -DSSE2=1 -o $@ $<
viterbi29port.o: viterbi29.c viterbi29.h parity.h
cc -c $(CFLAGS) -o $@ $<
viterbi29mmx.o: viterbi29.c viterbi29.h parity.h
cc -c $(CFLAGS) -DMMX=1 -o $@ $<
viterbi29sse.o: viterbi29.c viterbi29.h parity.h
cc -c $(CFLAGS) -DSSE=1 -o $@ $<
viterbi29sse2.o: viterbi29.c viterbi29.h parity.h
cc -c $(CFLAGS) -DSSE2=1 -o $@ $<
clean:
rm -f *.o $(SHARED_LIB) *.a vtest27 vtest29 core
distclean: clean
rm -f config.log config.cache config.status config.h makefile
syntax highlighted by Code2HTML, v. 0.9.1