summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib/reed-solomon/Makefile.in.karn
blob: 8550b415811714c52e7fedad0c56656639f2b98b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Copyright 2002 Phil Karn, KA9Q
# May be used under the terms of the GNU General Public License (GPL)
# @configure_input@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix=@exec_prefix@
VPATH = @srcdir@
CC=@CC@

CFLAGS=@CFLAGS@ @ARCH_OPTION@ -Wall

LIB=	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

all: librs.a librs.so.@SO_VERSION@

test: rstest
	./rstest

rstest: rstest.o exercise_int.o exercise_char.o exercise_8.o exercise_ccsds.o \
	librs.a
	gcc -g -o $@ $^

install: all
	install -D -m 644 -p librs.a librs.so.@SO_VERSION@ @libdir@
	(cd @libdir@;ln -f -s librs.so.@SO_VERSION@ librs.so)
	ldconfig
	install -m 644 -p rs.h @includedir@
	install -m 644 rs.3 @mandir@/man3

librs.a: $(LIB)
	ar rv $@ $^

librs.so.@SO_VERSION@: librs.a
	gcc -shared -Xlinker -soname=librs.so.@SO_NAME@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc

encode_rs_char.o: encode_rs.c
	gcc $(CFLAGS) -c -o $@ $^

encode_rs_int.o: encode_rs.c
	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^

encode_rs_8.o: encode_rs.c
	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^

decode_rs_char.o: decode_rs.c
	gcc $(CFLAGS) -c -o $@ $^

decode_rs_int.o: decode_rs.c
	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^

decode_rs_8.o: decode_rs.c
	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^

init_rs_char.o: init_rs.c
	gcc $(CFLAGS) -c -o $@ $^

init_rs_int.o: init_rs.c
	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^

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 $@ $^


clean:
	rm -f *.o *.a ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal \
	rstest librs.so.@SO_VERSION@

distclean: clean
	rm -f config.log config.cache config.status config.h makefile