1.SUFFIXES: .So 2VPATH = . 3 4PREFIX?= /usr/local 5LIBDIR= ${PREFIX}/lib 6INCLUDEDIR= ${PREFIX}/include 7 8SRCS_C= g722_decode.c g722_encode.c 9SRCS_H= g722.h g722_private.h g722_encoder.h g722_decoder.h 10 11CFLAGS?= -O2 -pipe 12 13OBJS = $(SRCS_C:.c=.o) 14OBJS_PIC = $(SRCS_C:.c=.So) 15 16TEST_OUT_FILES= test.raw test.raw.16k pcminb.g722 pcminb.raw.16k \ 17 test.g722.out 18 19all: libg722.a libg722.so.0 libg722.so 20 21libg722.a: $(OBJS) $(SRCS_H) 22 $(AR) cq $@ $(OBJS) 23 ranlib $@ 24 25libg722.so.0: $(OBJS_PIC) $(SRCS_H) 26 cc -shared -o $@ -Wl,-soname,$@ $(OBJS_PIC) 27 28libg722.so: libg722.so.0 29 ln -sf libg722.so.0 $@ 30 31.c.o: 32 $(CC) -c $(CFLAGS) $< -o $@ 33 34.c.So: 35 $(CC) -fpic -DPIC -c $(CFLAGS) $< -o $@ 36 37clean: 38 rm -f libg722.a libg722.so.0 $(OBJS) $(OBJS_PIC) test $(TEST_OUT_FILES) 39 40test: test.c libg722.a libg722.so.0 41 ${CC} ${CFLAGS} -o $@ test.c -lm -L. -lg722 42 LD_LIBRARY_PATH=. ./$@ test.g722 test.raw 43 LD_LIBRARY_PATH=. ./$@ --sln16k test.g722 \ 44 test.raw.16k 45 LD_LIBRARY_PATH=. ./$@ --enc --sln16k --bend \ 46 pcminb.dat pcminb.g722 47 LD_LIBRARY_PATH=. ./$@ --sln16k --bend \ 48 pcminb.g722 pcminb.raw.16k 49 LD_LIBRARY_PATH=. ./$@ --enc test.raw \ 50 test.g722.out 51 sha256 ${TEST_OUT_FILES} | \ 52 diff test.checksum - 53 54install: 55 install -d ${DESTDIR}${LIBDIR} 56 install libg722.a ${DESTDIR}${LIBDIR} 57 install libg722.so.0 ${DESTDIR}${LIBDIR} 58 ln -sf libg722.so.0 ${DESTDIR}${LIBDIR}/libg722.so 59 install -d ${DESTDIR}${INCLUDEDIR} 60 install ${SRCS_H} ${DESTDIR}${INCLUDEDIR} 61