File: Makefile

package info (click to toggle)
jtdx 2.2.159%2Bimproved-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 75,336 kB
  • sloc: cpp: 38,503; f90: 31,141; python: 27,061; ansic: 11,772; sh: 409; fortran: 353; makefile: 232
file content (116 lines) | stat: -rw-r--r-- 4,510 bytes parent folder | download
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# MAKEFILE FOR LDPC PROGRAMS & ASSOCIATED UTILITIES.

# Copyright (c) 1995-2012 by Radford M. Neal.
#
# Permission is granted for anyone to copy, use, modify, and distribute
# these programs and accompanying documents for any purpose, provided
# this copyright notice is retained and prominently displayed, and note
# is made of any changes made to these programs.  These programs and
# documents are distributed without any warranty, express or implied.
# As the programs were written for research purposes only, they have not
# been tested to the degree that would be advisable in any important
# application.  All use of these programs is entirely at the user's own
# risk.


# NOTE:  The natural random numbers in "randfile" are accessed by the
# 'rand' module via a path to this directory.  Change the definition of
# RAND_FILE in the compilation command for rand.c below if this is not
# appropriate.

# NOTE:  This makefile is trivial, simply recompiling everything from
# scratch every time.  Since this takes only about 5 seconds on a modern
# PC, there's no point in putting in dependency-based rules, which just 
# make things more complex and error-prone.


COMPILE = cc -c -O    # Command to compile a module from .c to .o
LINK =    cc          # Command to link a program


# MAKE ALL THE MAIN PROGRAMS.  First makes the modules used.

progs:	modules
	$(COMPILE) make-pchk.c
	$(LINK) make-pchk.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o alloc.o intio.o open.o -lm -o make-pchk
	$(COMPILE) alist-to-pchk.c
	$(LINK) alist-to-pchk.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o alloc.o intio.o open.o -lm -o alist-to-pchk
	$(COMPILE) pchk-to-alist.c
	$(LINK) pchk-to-alist.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o alloc.o intio.o open.o -lm -o pchk-to-alist
	$(COMPILE) make-ldpc.c
	$(LINK) make-ldpc.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o rand.o alloc.o intio.o open.o distrib.o -lm -o make-ldpc
	$(COMPILE) print-pchk.c
	$(LINK) print-pchk.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o rand.o alloc.o intio.o open.o -lm -o print-pchk
	$(COMPILE) make-gen.c
	$(LINK) make-gen.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o alloc.o intio.o open.o -lm -o make-gen
	$(COMPILE) print-gen.c
	$(LINK) print-gen.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o rand.o alloc.o intio.o open.o -lm -o print-gen
	$(COMPILE) rand-src.c
	$(LINK) rand-src.o rand.o open.o -lm -o rand-src
	$(COMPILE) encode.c
	$(LINK) encode.o mod2sparse.o mod2dense.o mod2convert.o \
	   enc.o rcode.o rand.o alloc.o intio.o blockio.o open.o -lm -o encode
	$(COMPILE) transmit.c
	$(LINK) transmit.o channel.o rand.o open.o -lm -o transmit
	$(COMPILE) decode.c
	$(LINK) decode.o channel.o mod2sparse.o mod2dense.o mod2convert.o \
	   enc.o check.o \
	   rcode.o rand.o alloc.o intio.o blockio.o dec.o open.o -lm -o decode
	$(COMPILE) extract.c
	$(LINK) extract.o mod2sparse.o mod2dense.o mod2convert.o \
	   rcode.o alloc.o intio.o blockio.o open.o -lm -o extract
	$(COMPILE) verify.c
	$(LINK) verify.o mod2sparse.o mod2dense.o mod2convert.o check.o \
	   rcode.o alloc.o intio.o blockio.o open.o -lm -o verify


# MAKE THE TEST PROGRAMS.  First makes the modules used.

tests:	modules
	$(COMPILE) mod2dense-test.c
	$(LINK) mod2dense-test.o mod2dense.o alloc.o intio.o \
	  -lm -o mod2dense-test
	$(COMPILE) mod2sparse-test.c
	$(LINK) mod2sparse-test.o mod2sparse.o alloc.o intio.o \
	  -lm -o mod2sparse-test
	$(COMPILE) mod2convert-test.c
	$(LINK) mod2convert-test.o mod2convert.o mod2dense.o mod2sparse.o \
	  alloc.o intio.o rand.o open.o -lm -o mod2convert-test
	$(COMPILE) rand-test.c
	$(LINK) rand-test.o rand.o -lm -o rand-test


# MAKE THE MODULES USED BY THE PROGRAMS.

modules:
	$(COMPILE) rcode.c
	$(COMPILE) channel.c
	$(COMPILE) dec.c
	$(COMPILE) enc.c
	$(COMPILE) alloc.c
	$(COMPILE) intio.c
	$(COMPILE) blockio.c
	$(COMPILE) check.c
	$(COMPILE) open.c
	$(COMPILE) mod2dense.c
	$(COMPILE) mod2sparse.c
	$(COMPILE) mod2convert.c
	$(COMPILE) distrib.c
	$(COMPILE) -DRAND_FILE=\"`pwd`/randfile\" rand.c


# CLEAN UP ALL PROGRAMS AND REMOVE ALL FILES PRODUCED BY TESTS AND EXAMPLES.

clean:
	rm -f	core *.o *.exe ex-*.* test-file \
		make-pchk alist-to-pchk pchk-to-alist \
		make-ldpc print-pchk make-gen print-gen \
		rand-src encode transmit decode extract verify \
		mod2dense-test mod2sparse-test mod2convert-test rand-test