File: Makefile

package info (click to toggle)
morse 2.5-1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 436 kB
  • ctags: 456
  • sloc: ansic: 4,037; xml: 385; makefile: 154
file content (96 lines) | stat: -rw-r--r-- 2,799 bytes parent folder | download | duplicates (2)
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
# Select your audio output device.  Current choices are:
#
#   X11:    The X11 window system.
#   Linux:  IBM PC Console running Linux.
#   OSS:    Open Sound System /dev/dsp device.
#   PA:     PulseAudio using the pulse-simple client API.
#   ALSA:   Advanced Linux Sound Architecture
#
# Running on Linux:
#   Many Linux laptops seem to have console speakers that are unreliable
#   for various hardware and software reasons.  You may be better off
#   using morseALSA or morseOSS than morseLinux.
#
# Running on Mac OS X:
# (1) Use X11.  The user must, as with any X11 client, set the DISPLAY 
#   variable, and have the X server running. Finally, the X11 output 
#   preferences dialog should have "Use system alert effect" unchecked; 
#   otherwise, the system alert (settable, but unlikely to be useful to 
#   copy code in any event) will be used instead of the X beep.
#
# Adding a new device is as simple as creating a new implementation of the
# beep.h interface.  See beep*.c for examples.  Please send any additions
# to the authors!
#
#DEVICE = X11
#DEVICE = Linux
#DEVICE = OSS
#DEVICE = ALSA
DEVICE = PA

VERSION=2.5

MANPAGES = morse.1 QSO.1 
DOCS = README HISTORY COPYING morse.xml $(MANPAGES)
ALL=  $(DOCS) Makefile $(SOURCES) test_input \
	morse.d/*.[ch] morse.d/Makefile \
	qso.d/*.[ch] qso.d/Makefile

default: all
	make testmorse

all: morse QSO morse.1 QSO.1

morse:
	cd morse.d && make DEVICE=${DEVICE}
	ln morse.d/morse ./morse

QSO:
	cd qso.d && make
	ln qso.d/QSO ./QSO

#
# "Jocks find quartz glyph, vex BMW." is my attempt to win Stephen J. Gould's
# prize (a copy of all his books) for the first person who can come up with a
# "perfect pangram": a meaningful sentence consisting entirely of common
# English words, with no abbreviations or proper names, that contains each
# letter exactly once. He rejected it because it contains "BMW", alas, but
# he did say it's the closest he's seen so far. - Joe Dellinger
#
testmorse:	morse QSO
	(cat test_input; qso.d/QSO) | ./morse -w 24 -l -e

testqso:	morse QSO
	qso.d/QSO | ./morse -w 20 -l -e

all:	morse QSO

clean:
	rm -f morse QSO *.1 *.html SHIPPER.*
	cd morse.d; make clean
	cd qso.d; make clean

pristine: clean
	rm -f $(MANPAGES) morse.html

morse.1 QSO.1: morse.xml
	xmlto man morse.xml

morse.html: morse.xml
	xmlto xhtml-nochunks morse.xml

morse-$(VERSION).tar.gz: $(ALL)
	@ls $(ALL) | sed s:^:morse-$(VERSION)/: >MANIFEST
	@(cd ..; ln -s morse-classic morse-$(VERSION))
	(cd ..; tar -czf morse-classic/morse-$(VERSION).tar.gz `cat morse-classic/MANIFEST`)
	@(cd ..; rm morse-$(VERSION))

dist: morse-$(VERSION).tar.gz

cppcheck:
	cppcheck --template gcc --enable=all qso.d/*.[ch]
	cppcheck --template gcc --enable=all morse.d/*.[ch]


release: morse-$(VERSION).tar.gz morse.html
	shipper -u -m -t; make clean