1# Copyright 2002 Phil Karn, KA9Q
2# May be used under the terms of the GNU General Public License (GPL)
3# @configure_input@
4srcdir = @srcdir@
5prefix = @prefix@
6exec_prefix=@exec_prefix@
7VPATH = @srcdir@
8CC=@CC@
9
10CFLAGS=@CFLAGS@ @ARCH_OPTION@ -Wall
11
12LIB=	encode_rs_char.o encode_rs_int.o encode_rs_8.o \
13	decode_rs_char.o decode_rs_int.o decode_rs_8.o \
14	init_rs_char.o init_rs_int.o ccsds_tab.o \
15	encode_rs_ccsds.o decode_rs_ccsds.o ccsds_tal.o
16
17all: librs.a librs.so.@SO_VERSION@
18
19test: rstest
20	./rstest
21
22rstest: rstest.o exercise_int.o exercise_char.o exercise_8.o exercise_ccsds.o \
23	librs.a
24	gcc -g -o $@ $^
25
26install: all
27	install -D -m 644 -p librs.a librs.so.@SO_VERSION@ @libdir@
28	(cd @libdir@;ln -f -s librs.so.@SO_VERSION@ librs.so)
29	ldconfig
30	install -m 644 -p rs.h @includedir@
31	install -m 644 rs.3 @mandir@/man3
32
33librs.a: $(LIB)
34	ar rv $@ $^
35
36librs.so.@SO_VERSION@: librs.a
37	gcc -shared -Xlinker -soname=librs.so.@SO_NAME@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc
38
39encode_rs_char.o: encode_rs.c
40	gcc $(CFLAGS) -c -o $@ $^
41
42encode_rs_int.o: encode_rs.c
43	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
44
45encode_rs_8.o: encode_rs.c
46	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
47
48decode_rs_char.o: decode_rs.c
49	gcc $(CFLAGS) -c -o $@ $^
50
51decode_rs_int.o: decode_rs.c
52	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
53
54decode_rs_8.o: decode_rs.c
55	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
56
57init_rs_char.o: init_rs.c
58	gcc $(CFLAGS) -c -o $@ $^
59
60init_rs_int.o: init_rs.c
61	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
62
63ccsds_tab.o: ccsds_tab.c
64
65ccsds_tab.c: gen_ccsds
66	./gen_ccsds > ccsds_tab.c
67
68gen_ccsds: gen_ccsds.o init_rs_char.o
69	gcc -o $@ $^
70
71gen_ccsds.o: gen_ccsds.c
72	gcc  $(CFLAGS) -c -o $@ $^
73
74ccsds_tal.o: ccsds_tal.c
75
76ccsds_tal.c: gen_ccsds_tal
77	./gen_ccsds_tal > ccsds_tal.c
78
79exercise_char.o: exercise.c
80	gcc $(CFLAGS) -c -o $@ $^
81
82exercise_int.o: exercise.c
83	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
84
85exercise_8.o: exercise.c
86	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
87
88exercise_ccsds.o: exercise.c
89	gcc -DCCSDS=1 $(CFLAGS) -c -o $@ $^
90
91
92clean:
93	rm -f *.o *.a ccsds_tab.c ccsds_tal.c gen_ccsds gen_ccsds_tal \
94	rstest librs.so.@SO_VERSION@
95
96distclean: clean
97	rm -f config.log config.cache config.status config.h makefile
98
99
100