View | Details | Raw Unified | Return to bug 236631
Collapse All | Expand All

(-)./distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1494361181
1
TIMESTAMP = 1549716498
2
SHA256 (wb2osz-direwolf-1.4-6207e2e_GH0.tar.gz) = d3a42b5207935e38bfa4902a76daf684269f9cb71bcc271d80508293e40ac6a9
2
SHA256 (wb2osz-direwolf-1.5_GH0.tar.gz) = 2e263ea4fa75c342b620dee048436ac95486ea3f93599ad818e74dfd4aec8b48
3
SIZE (wb2osz-direwolf-1.4-6207e2e_GH0.tar.gz) = 13849018
3
SIZE (wb2osz-direwolf-1.5_GH0.tar.gz) = 17996557
(-)./files/Makefile.FreeBSD (-549 lines)
Lines 1-549 Link Here
1
#
2
# Makefile for FreeBSD version of Dire Wolf.
3
#
4
5
APPS := direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients atest log2gpx gen_packets ttcalc
6
7
all :  $(APPS) direwolf.desktop direwolf.conf
8
	@echo " "
9
	@echo "Next step - install with:"
10
	@echo " "
11
	@echo "        sudo make install"
12
	@echo " "
13
14
CFLAGS += -I${LOCALBASE}/include
15
CFLAGS += -pthread -Igeotranz
16
17
LDFLAGS := -lm -lpthread -L${LOCALBASE}/lib
18
19
#CFLAGS += -mfpu=neon
20
21
#CFLAGS += -DUSE_ALSA
22
#LDFLAGS += -lasound
23
24
enable_gpsd := $(wildcard /usr/local/include/gps.h)
25
ifneq ($(enable_gpsd),)
26
CFLAGS += -DENABLE_GPSD
27
LDFLAGS += -lgps
28
endif
29
30
31
# Uncomment following lines to enable hamlib support.
32
CFLAGS += -DUSE_HAMLIB
33
LDFLAGS += -lhamlib
34
35
36
# Name of current directory.
37
# Used to generate zip file name for distribution.
38
39
z := $(notdir ${CURDIR})
40
41
42
43
# --------------------------------  Main application  -----------------------------------------
44
45
46
47
direwolf : direwolf.o config.o recv.o demod.o dsp.o demod_afsk.o demod_9600.o hdlc_rec.o \
48
		hdlc_rec2.o multi_modem.o redecode.o rdq.o rrbb.o dlq.o \
49
		fcs_calc.o ax25_pad.o \
50
		decode_aprs.o symbols.o server.o kiss.o kissnet.o kiss_frame.o hdlc_send.o fcs_calc.o \
51
		gen_tone.o audio.o audio_stats.o digipeater.o pfilter.o dedupe.o tq.o xmit.o morse.o \
52
		ptt.o beacon.o encode_aprs.o latlong.o encode_aprs.o latlong.o textcolor.o \
53
		dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o nmea.o serial_port.o log.o telemetry.o \
54
		dwgps.o dwgpsnmea.o dwgpsd.o dtime_now.o \
55
		geotranz.a
56
	$(CC) -o $@ $^ $(LDFLAGS)
57
ifneq ($(enable_gpsd),)
58
	@echo " "
59
	@echo "This includes support for gpsd."
60
else
61
	@echo " "
62
	@echo "This does NOT include support for gpsd."
63
endif
64
65
# Optimization for slow processors.
66
67
demod.o : fsk_fast_filter.h
68
69
demod_afsk.o : fsk_fast_filter.h
70
71
72
fsk_fast_filter.h : demod_afsk.c
73
	$(CC) $(CFLAGS) -o gen_fff -DGEN_FFF demod_afsk.c dsp.c textcolor.c $(LDFLAGS)
74
	./gen_fff > fsk_fast_filter.h
75
76
77
78
# Separate application to decode raw data.
79
80
decode_aprs : decode_aprs.c dwgpsnmea.o dwgps.o dwgpsd.o serial_port.o symbols.o ax25_pad.o textcolor.o fcs_calc.o latlong.o log.o telemetry.o tt_text.o 
81
	$(CC) $(CFLAGS) -DDECAMAIN -o $@ $^ $(LDFLAGS)
82
83
# Convert between text and touch tone representation.
84
85
text2tt : tt_text.c 
86
	$(CC) $(CFLAGS) -DENC_MAIN -o $@ $^ $(LDFLAGS)
87
88
tt2text : tt_text.c 
89
	$(CC) $(CFLAGS) -DDEC_MAIN -o $@ $^ $(LDFLAGS)
90
91
92
# Convert between Latitude/Longitude and UTM coordinates.
93
94
ll2utm : ll2utm.c geotranz.a textcolor.o 
95
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
96
97
utm2ll : utm2ll.c geotranz.a textcolor.o 
98
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
99
100
101
# Convert from log file to GPX.
102
103
log2gpx : log2gpx.c textcolor.o 
104
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
105
106
107
# Test application to generate sound.
108
109
gen_packets : gen_packets.c ax25_pad.c hdlc_send.c fcs_calc.c gen_tone.c morse.c textcolor.c dsp.c 
110
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
111
112
# Unit test for AFSK demodulator
113
114
atest : atest.c demod.o demod_afsk.o demod_9600.o \
115
		dsp.o hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \
116
		fcs_calc.o ax25_pad.o decode_aprs.o dwgpsnmea.o \
117
		dwgps.o dwgpsd.o serial_port.o telemetry.o latlong.o symbols.o tt_text.o textcolor.o
118
		
119
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
120
121
122
# Multiple AGWPE network or serial port clients to test TNCs side by side.
123
124
aclients : aclients.c ax25_pad.c fcs_calc.c textcolor.o 
125
	$(CC) $(CFLAGS) -g -o $@ $^ 
126
127
128
# Touch Tone to Speech sample application.
129
130
ttcalc : ttcalc.o ax25_pad.o fcs_calc.o textcolor.o 
131
	$(CC) $(CFLAGS) -g -o $@ $^ 
132
133
134
# -----------------------------------------  Libraries  --------------------------------------------
135
136
# UTM, USNG, MGRS conversions.
137
138
geotranz.a : error_string.o  mgrs.o  polarst.o  tranmerc.o  ups.o  usng.o  utm.o
139
	ar -cr $@ $^
140
141
error_string.o : geotranz/error_string.c
142
	$(CC) $(CFLAGS) -c -o $@ $^
143
144
mgrs.o : geotranz/mgrs.c
145
	$(CC) $(CFLAGS) -c -o $@ $^
146
147
polarst.o : geotranz/polarst.c
148
	$(CC) $(CFLAGS) -c -o $@ $^
149
150
tranmerc.o : geotranz/tranmerc.c
151
	$(CC) $(CFLAGS) -c -o $@ $^
152
153
ups.o : geotranz/ups.c
154
	$(CC) $(CFLAGS) -c -o $@ $^
155
156
usng.o : geotranz/usng.c
157
	$(CC) $(CFLAGS) -c -o $@ $^
158
159
utm.o : geotranz/utm.c
160
	$(CC) $(CFLAGS) -c -o $@ $^
161
162
163
164
# -------------------------------------  Installation  ----------------------------------
165
166
167
168
# Generate apprpriate sample configuration file for this platform.
169
# Originally, there was one sample for all platforms.  It got too cluttered
170
# and confusing saying, this is for windows, and this is for Linux, and this ...
171
# Trying to maintain 3 different versions in parallel is error prone.
172
# We now have a single generic version which can be used to generate
173
# the various platform specific versions.
174
175
# generic.conf should be checked into source control.
176
# direwolf.conf should NOT.  It is generated when compiling on the target platform.
177
178
direwolf.conf : generic.conf
179
	egrep '^C|^L' generic.conf | cut -c2-999 > direwolf.conf
180
181
182
# Where should we install it?
183
184
# My understanding, of the convention, is that something you compile
185
# from source, that is not a standard part of the operating system,
186
# should go in /usr/local/bin.
187
188
# However, if you are preparing a "binary" DEB or RPM package, the
189
# installation location should be /usr/bin.
190
191
# This is a step in the right direction but not sufficient to use /usr instead.
192
# Eventually I'd like to have targets here to build the .DEB and .RPM packages.
193
194
INSTALLDIR := ${DESTDIR}${PREFIX}
195
SHAREDIR   := ${INSTALLDIR}/share
196
197
# Command to "install" to system directories.  Use "ginstall" for Mac.
198
199
INSTALL=install
200
201
# direwolf.desktop was previously handcrafted for the Raspberry Pi.
202
# It was hardcoded with lxterminal, /home/pi, and so on.
203
# In version 1.2, try to customize this to match other situations better.
204
205
# TODO:  Test this better.
206
207
208
direwolf.desktop :
209
	@echo "Generating customized direwolf.desktop ..."
210
	@echo '[Desktop Entry]' > $@
211
	@echo 'Type=Application' >> $@
212
ifneq ($(wildcard /usr/bin/lxterminal),)
213
	@echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(PREFIX)/bin/direwolf\"" >> $@ 
214
else ifneq ($(wildcard /usr/local/bin/lxterm),)
215
	@echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(PREFIX)/bin/direwolf\"" >> $@ 
216
else
217
	@echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(PREFIX)/bin/direwolf\"" >> $@
218
endif
219
	@echo 'Name=Dire Wolf' >> $@
220
	@echo 'Comment=APRS Soundcard TNC' >> $@
221
	@echo 'Icon=${PREFIX}/share/direwolf/dw-icon.png' >> $@
222
	@echo "Path=$(HOME)" >> $@
223
	@echo '#Terminal=true' >> $@
224
	@echo 'Categories=HamRadio' >> $@
225
	@echo 'Keywords=Ham Radio;APRS;Soundcard TNC;KISS;AGWPE;AX.25' >> $@
226
227
228
# Installation into /usr/local/...
229
# Needs to be run as root or with sudo.
230
231
232
.PHONY: install
233
install : $(APPS) direwolf.conf tocalls.txt symbols-new.txt symbolsX.txt dw-icon.png direwolf.desktop
234
#
235
# Applications, not installed with package manager, normally go in /usr/local/bin.
236
# /usr/bin is used instead when installing from .DEB or .RPM package.
237
#
238
	$(BSD_INSTALL_PROGRAM) direwolf $(INSTALLDIR)/bin
239
	$(BSD_INSTALL_PROGRAM) decode_aprs $(INSTALLDIR)/bin
240
	$(BSD_INSTALL_PROGRAM) text2tt $(INSTALLDIR)/bin
241
	$(BSD_INSTALL_PROGRAM) tt2text $(INSTALLDIR)/bin
242
	$(BSD_INSTALL_PROGRAM) ll2utm $(INSTALLDIR)/bin
243
	$(BSD_INSTALL_PROGRAM) utm2ll $(INSTALLDIR)/bin
244
	$(BSD_INSTALL_PROGRAM) aclients $(INSTALLDIR)/bin
245
	$(BSD_INSTALL_PROGRAM) log2gpx $(INSTALLDIR)/bin
246
	$(BSD_INSTALL_PROGRAM) gen_packets $(INSTALLDIR)/bin
247
	$(BSD_INSTALL_PROGRAM) atest $(INSTALLDIR)/bin
248
	$(BSD_INSTALL_PROGRAM) ttcalc $(INSTALLDIR)/bin
249
	$(BSD_INSTALL_SCRIPT) dwespeak.sh $(INSTALLDIR)/bin
250
#
251
# Telemetry Toolkit executables.   Other .conf and .txt files will go into doc directory.
252
#
253
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-balloon.pl $(INSTALLDIR)/bin
254
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-bits.pl $(INSTALLDIR)/bin
255
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data.pl $(INSTALLDIR)/bin
256
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data91.pl $(INSTALLDIR)/bin
257
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-eqns.pl $(INSTALLDIR)/bin
258
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-parm.pl $(INSTALLDIR)/bin
259
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-seq.sh $(INSTALLDIR)/bin
260
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-unit.pl $(INSTALLDIR)/bin
261
	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-volts.py $(INSTALLDIR)/bin
262
#
263
# Misc. data such as "tocall" to system mapping.
264
#
265
	mkdir -p ${SHAREDIR}/direwolf
266
	$(BSD_INSTALL_DATA) tocalls.txt ${SHAREDIR}/direwolf/tocalls.txt
267
	$(BSD_INSTALL_DATA) symbols-new.txt ${SHAREDIR}/direwolf/symbols-new.txt
268
	$(BSD_INSTALL_DATA) symbolsX.txt ${SHAREDIR}/direwolf/symbolsX.txt
269
	$(BSD_INSTALL_DATA) dw-icon.png ${SHAREDIR}/direwolf/dw-icon.png
270
	mkdir -p ${SHAREDIR}/applications
271
	$(BSD_INSTALL_DATA) direwolf.desktop ${SHAREDIR}/applications/direwolf.desktop
272
#
273
# Documentation.  Various plain text files and PDF.
274
# $(INSTALL) CHANGES.md $(INSTALLDIR)/share/doc/direwolf/CHANGES.md
275
	mkdir -p ${INSTALLDIR}/share/doc/direwolf
276
	mkdir -p ${INSTALLDIR}/share/direwolf
277
	$(BSD_INSTALL_DATA) LICENSE-dire-wolf.txt $(INSTALLDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt
278
	$(BSD_INSTALL_DATA) LICENSE-other.txt $(INSTALLDIR)/share/doc/direwolf/LICENSE-other.txt
279
#
280
# ./README.md is an overview for the project main page.
281
# doc/README.md contains an overview of the PDF file contents and is more useful here.
282
#
283
	$(BSD_INSTALL_DATA) doc/README.md $(INSTALLDIR)/share/doc/direwolf/README.md
284
	$(BSD_INSTALL_DATA) doc/User-Guide.pdf $(INSTALLDIR)/share/doc/direwolf/User-Guide.pdf
285
	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf
286
	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS-Tracker.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf
287
	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-SDR-IGate.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf
288
	$(BSD_INSTALL_DATA) doc/APRStt-Implementation-Notes.pdf $(INSTALLDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf
289
	$(BSD_INSTALL_DATA) doc/APRStt-interface-for-SARTrack.pdf $(INSTALLDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf
290
	$(BSD_INSTALL_DATA) doc/APRS-Telemetry-Toolkit.pdf $(INSTALLDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf
291
	$(BSD_INSTALL_DATA) doc/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf $(INSTALLDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
292
	$(BSD_INSTALL_DATA) doc/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf $(INSTALLDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
293
#
294
# Various sample config and other files go into examples under the doc directory.
295
# When building from source, these can be put in home directory with "make install-conf".
296
# When installed from .DEB or .RPM package, the user will need to copy these to
297
# the home directory or other desired location.
298
#
299
	mkdir -p ${INSTALLDIR}/share/doc/direwolf/examples
300
	$(BSD_INSTALL_DATA) direwolf.conf $(INSTALLDIR)/share/doc/direwolf/examples/direwolf.conf
301
	$(BSD_INSTALL_DATA) dw-start.sh $(INSTALLDIR)/share/doc/direwolf/examples/dw-start.sh
302
	$(BSD_INSTALL_DATA) sdr.conf $(INSTALLDIR)/share/doc/direwolf/examples/sdr.conf
303
	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-m0xer-3.txt $(INSTALLDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt
304
	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-balloon.conf $(INSTALLDIR)/share/doc/direwolf/examples/telem-balloon.conf
305
	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-volts.conf $(INSTALLDIR)/share/doc/direwolf/examples/telem-volts.conf
306
#
307
# "man" pages
308
#
309
	$(BSD_INSTALL_MAN) man1/aclients.1 $(INSTALLDIR)/man/man1/aclients.1
310
	$(BSD_INSTALL_MAN) man1/atest.1 $(INSTALLDIR)/man/man1/atest.1
311
	$(BSD_INSTALL_MAN) man1/decode_aprs.1 $(INSTALLDIR)/man/man1/decode_aprs.1
312
	$(BSD_INSTALL_MAN) man1/direwolf.1 $(INSTALLDIR)/man/man1/direwolf.1
313
	$(BSD_INSTALL_MAN) man1/gen_packets.1 $(INSTALLDIR)/man/man1/gen_packets.1
314
	$(BSD_INSTALL_MAN) man1/ll2utm.1 $(INSTALLDIR)/man/man1/ll2utm.1
315
	$(BSD_INSTALL_MAN) man1/log2gpx.1 $(INSTALLDIR)/man/man1/log2gpx.1
316
	$(BSD_INSTALL_MAN) man1/text2tt.1 $(INSTALLDIR)/man/man1/text2tt.1
317
	$(BSD_INSTALL_MAN) man1/tt2text.1 $(INSTALLDIR)/man/man1/tt2text.1
318
	$(BSD_INSTALL_MAN) man1/utm2ll.1 $(INSTALLDIR)/man/man1/utm2ll.1
319
#
320
	@echo " "
321
	@echo "If this is your first install, not an upgrade, type this to put a copy"
322
	@echo "of the sample configuration file (direwolf.conf) in your home directory:"
323
	@echo " "
324
	@echo "        make install-conf"
325
	@echo " "
326
327
328
# These would be done as ordinary user.
329
330
# The Raspberry Pi has ~/Desktop but Ubuntu does not.
331
332
# TODO: Handle Linux variations correctly.
333
334
335
.PHONY: install-conf
336
install-conf : direwolf.conf
337
	cp direwolf.conf ~
338
	cp sdr.conf ~
339
	cp telemetry-toolkit/telem-m0xer-3.txt ~
340
	cp telemetry-toolkit/telem-*.conf ~
341
ifneq ($(wildcard $(HOME)/Desktop),)
342
	@echo " "
343
	@echo "This will add a desktop icon on some systems:"
344
	@echo " "
345
	@echo "        make install-rpi"
346
	@echo " "
347
endif
348
349
350
.PHONY: install-rpi
351
install-rpi : dw-start.sh
352
	cp dw-start.sh ~
353
	ln -f -s /usr/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop
354
355
356
357
# ----------------------------------  Automated Smoke Test  --------------------------------
358
359
360
361
# Combine some unit tests into a single regression sanity check.
362
363
364
check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest check-modem1200 check-modem300 check-modem9600
365
366
# Can we encode and decode at popular data rates?
367
368
check-modem1200 : gen_packets atest
369
	./gen_packets -n 100 -o /tmp/test1.wav
370
	./atest -F0 -PE -L70 -G71 /tmp/test1.wav
371
	./atest -F1 -PE -L73 -G75 /tmp/test1.wav
372
	#rm /tmp/test1.wav
373
374
check-modem300 : gen_packets atest
375
	./gen_packets -B300 -n 100 -o /tmp/test3.wav
376
	./atest -B300 -F0 -L68 -G69 /tmp/test3.wav
377
	./atest -B300 -F1 -L73 -G75 /tmp/test3.wav
378
	rm /tmp/test3.wav
379
380
check-modem9600 : gen_packets atest
381
	./gen_packets -B9600 -n 100 -o /tmp/test9.wav
382
	./atest -B9600 -F0 -L57 -G59 /tmp/test9.wav
383
	./atest -B9600 -F1 -L66 -G67 /tmp/test9.wav
384
	rm /tmp/test9.wav
385
386
387
388
# Unit test for inner digipeater algorithm
389
390
.PHONY : dtest
391
dtest : digipeater.c dedupe.c \
392
		pfilter.o ax25_pad.o fcs_calc.o tq.o textcolor.o \
393
		decode_aprs.o dwgpsnmea.o dwgps.o dwgpsd.o serial_port.o latlong.o telemetry.o symbols.o tt_text.o 
394
	$(CC) $(CFLAGS) -DDIGITEST -o $@ $^ $(LDFLAGS)
395
	./dtest
396
	rm dtest
397
398
399
# Unit test for APRStt tone sequence parsing.
400
401
.PHONY : ttest
402
ttest : aprs_tt.c tt_text.c latlong.o textcolor.o geotranz.a 
403
	$(CC) $(CFLAGS) -DTT_MAIN  -o $@ $^ $(LDFLAGS)
404
	./ttest
405
	rm ttest
406
407
408
# Unit test for APRStt tone sequence / text conversions.
409
410
.PHONY: tttexttest
411
tttexttest : tt_text.c textcolor.o 
412
	$(CC) $(CFLAGS) -DTTT_TEST -o $@ $^ $(LDFLAGS)
413
	./tttexttest
414
	rm tttexttest
415
416
417
# Unit test for Packet Filtering.
418
419
.PHONY: pftest
420
pftest : pfilter.c ax25_pad.o textcolor.o fcs_calc.o decode_aprs.o dwgpsnmea.o dwgps.o dwgpsd.o serial_port.o latlong.o symbols.o telemetry.o tt_text.o  
421
	$(CC) $(CFLAGS) -DPFTEST -o $@ $^ $(LDFLAGS)
422
	./pftest
423
	rm pftest
424
425
# Unit test for telemetry decoding.
426
427
.PHONY: tlmtest
428
tlmtest : telemetry.c ax25_pad.o fcs_calc.o textcolor.o 
429
	$(CC) $(CFLAGS) -DTEST -o $@ $^ $(LDFLAGS)
430
	./tlmtest
431
	rm tlmtest
432
433
# Unit test for location coordinate conversion.
434
435
.PHONY: lltest
436
lltest : latlong.c textcolor.o 
437
	$(CC) $(CFLAGS) -DLLTEST -o $@ $^ $(LDFLAGS)
438
	./lltest
439
	rm lltest
440
441
# Unit test for encoding position & object report.
442
443
.PHONY: enctest
444
enctest : encode_aprs.c latlong.c textcolor.c 
445
	$(CC) $(CFLAGS) -DEN_MAIN -o $@ $^ $(LDFLAGS)
446
	./enctest
447
	rm enctest
448
449
450
# Unit test for KISS encapsulation.
451
452
.PHONY: kisstest
453
kisstest : kiss_frame.c
454
	$(CC) $(CFLAGS) -DKISSTEST -o $@ $^ $(LDFLAGS)
455
	./kisstest
456
	rm kisstest
457
458
459
460
#  -----------------------------  Manual tests and experiments  ---------------------------
461
462
# These are not included in a normal build.  Might be broken.
463
464
# Unit test for IGate
465
466
itest : igate.c textcolor.c ax25_pad.c fcs_calc.c textcolor.o 
467
	$(CC) $(CFLAGS) -DITEST -o $@ $^
468
	./itest
469
470
# Unit test for UDP reception with AFSK demodulator.
471
# Temporary during development.  Might not be useful anymore.
472
473
udptest : udp_test.c demod.o dsp.o demod_afsk.o demod_9600.o hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \
474
		fcs_calc.o ax25_pad.o decode_aprs.o symbols.o textcolor.o 
475
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
476
	./udptest
477
478
# For demodulator tweaking experiments.
479
# Dependencies of demod*.c, rather than .o, are intentional.
480
481
demod.o : tune.h
482
demod_afsk.o : tune.h
483
demod_9600.o : tune.h
484
485
testagc : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \
486
		fcs_calc.o ax25_pad.o decode_aprs.o telemetry.o latlong.o symbols.o tune.h textcolor.o 
487
	$(CC) $(CFLAGS) -o atest $^ $(LDFLAGS)
488
	./atest 02_Track_2.wav | grep "packets decoded in" > atest.out
489
490
491
492
493
494
495
# -------------------------------   Source distribution  ---------------------------------
496
497
# probably obsolete and can be removed after move to github.
498
499
500
501
.PHONY: dist-src
502
dist-src : README.md CHANGES.md 
503
		doc/User-Guide.pdf doc/Raspberry-Pi-APRS.pdf \
504
		doc/Raspberry-Pi-APRS-Tracker.pdf doc/APRStt-Implementation-Notes.pdf \
505
		dw-start.sh dwespeak.bat dwespeak.sh \
506
		tocalls.txt symbols-new.txt symbolsX.txt direwolf.spec
507
	rm -f fsk_fast_filter.h
508
	echo " " > tune.h
509
	rm -f ../$z-src.zip
510
	(cd .. ; zip $z-src.zip \
511
		$z/README.md \
512
		$z/CHANGES.md \
513
		$z/LICENSE* \
514
		$z/doc/User-Guide.pdf \
515
		$z/doc/Raspberry-Pi-APRS.pdf \
516
		$z/doc/Raspberry-Pi-APRS-Tracker.pdf \
517
		$z/doc/APRStt-Implementation-Notes.pdf \
518
		$z/doc/APRS-Telemetry-Toolkit.pdf \
519
		$z/Makefile* \
520
		$z/*.c $z/*.h \
521
		$z/regex/* $z/misc/* $z/geotranz/* \
522
		$z/man1/* \
523
		$z/generic.conf \
524
		$z/tocalls.txt $z/symbols-new.txt $z/symbolsX.txt \
525
		$z/dw-icon.png $z/dw-icon.rc $z/dw-icon.ico \
526
		$z/dw-start.sh $z/direwolf.spec \
527
		$z/dwespeak.bat $z/dwespeak.sh \
528
		$z/telemetry-toolkit/* )
529
		
530
531
# -----------------------------------------------------------------------------------------
532
533
534
.PHONY: clean
535
clean :
536
	rm -f $(APPS) fsk_fast_filter.h *.o *.a direwolf.desktop
537
	echo " " > tune.h
538
539
540
depend : $(wildcard *.c)
541
	makedepend -f $(lastword $(MAKEFILE_LIST)) -- $(CFLAGS) -- $^
542
543
544
#
545
# The following is updated by "make depend"
546
#
547
# DO NOT DELETE
548
549
(-)./files/patch-dw-start.sh (-21 / +32 lines)
Lines 1-24 Link Here
1
--- dw-start.sh.orig	2017-01-20 00:11:50 UTC
1
--- dw-start.sh.orig	2018-10-08 14:15:21 UTC
2
+++ dw-start.sh
2
+++ dw-start.sh
3
@@ -83,15 +83,15 @@ DWCMD="direwolf -a 100"
3
@@ -120,14 +120,14 @@
4
 #
4
    # Auto adjust the startup for your particular environment:  gnome-terminal, xterm, etc.
5
    #
5
 
6
 
7
-   if [ -x /usr/bin/lxterminal ]; then
8
-      /usr/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
9
+   if [ -x %%PREFIX%%/bin/lxterminal ]; then
10
+      %%PREFIX%%/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
11
       SUCCESS=1
12
-     elif [ -x /usr/bin/xterm ]; then
13
-      /usr/bin/xterm -bg white -fg black -e "$DWCMD" &
14
+     elif [ -x %%PREFIX%%/bin/xterm ]; then
15
+      %%PREFIX%%/bin/xterm -bg white -fg black -e "$DWCMD" &
16
       SUCCESS=1
17
-     elif [ -x /usr/bin/x-terminal-emulator ]; then
18
-      /usr/bin/x-terminal-emulator -e "$DWCMD" &
19
+     elif [ -x %%PREFIX%%/bin/x-terminal-emulator ]; then
20
+      %%PREFIX%%/bin/x-terminal-emulator -e "$DWCMD" &
21
       SUCCESS=1
22
      else
23
       echo "Did not find an X terminal emulator.  Reverting to CLI mode"
24
@@ -142,9 +142,9 @@
25
 # -----------------------------------------------------------
6
 
26
 
7
-if [ -x /usr/bin/lxterminal ]
27
 # When running from cron, we have a very minimal environment
8
+if [ -x %%PREFIX%%/bin/lxterminal ]
28
-# including PATH=/usr/bin:/bin.
9
 then
29
+# including PATH=%%PREFIX%%/bin:/bin.
10
-  /usr/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
30
 #
11
-elif [ -x /usr/bin/xterm ] 
31
-export PATH=/usr/local/bin:$PATH
12
+  %%PREFIX%%/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
32
+export PATH=%%PREFIX%%/bin:$PATH
13
+elif [ -x %%PREFIX%%/bin/xterm ] 
33
 
14
 then
34
 #Log the start of the script run and re-run
15
-  /usr/bin/xterm -bg white -fg black -e "$DWCMD" &
35
 date >> $LOGFILE
16
-elif [ -x /usr/bin/x-terminal-emulator ]
17
+  %%PREFIX%%/bin/xterm -bg white -fg black -e "$DWCMD" &
18
+elif [ -x %%PREFIX%%/bin/x-terminal-emulator ]
19
 then
20
-  /usr/bin/x-terminal-emulator -e "$DWCMD" &
21
+  %%PREFIX%%/bin/x-terminal-emulator -e "$DWCMD" &
22
 else
23
   echo "Did not find an X terminal emulator."
24
 fi
(-)./files/patch-dwgpsd.c (-13 lines)
Lines 1-13 Link Here
1
--- dwgpsd.c.orig	2017-01-20 00:11:50 UTC
2
+++ dwgpsd.c
3
@@ -77,8 +77,9 @@ static void * read_gpsd_thread (void *ar
4
  * Information for interface to gpsd daemon. 
5
  */
6
 
7
+#if ENABLE_GPSD
8
 static struct gps_data_t gpsdata;
9
-
10
+#endif
11
 
12
 /*-------------------------------------------------------------------
13
  *
(-)./files/patch-Makefile (-17 lines)
Lines 1-17 Link Here
1
--- Makefile.orig	2017-01-20 00:11:49 UTC
2
+++ Makefile
3
@@ -6,11 +6,14 @@
4
 
5
 win := $(shell uname | grep CYGWIN)
6
 dar := $(shell uname | grep Darwin)
7
+free := $(shell uname | grep FreeBSD)
8
 
9
 ifneq ($(win),)
10
    include Makefile.win
11
 else ifeq ($(dar),Darwin)
12
    include Makefile.macosx
13
+else ifeq ($(free),FreeBSD)
14
+   include Makefile.FreeBSD
15
 else
16
    include Makefile.linux
17
 endif
(-)./files/patch-Makefile.FreeBSD (+358 lines)
Line 0 Link Here
1
--- ./Makefile.linux.orig	2018-10-08 14:15:21 UTC
2
+++ ./Makefile.linux
3
@@ -1,5 +1,5 @@
4
 #
5
-# Makefile for Linux version of Dire Wolf.
6
+# Makefile for FreeBSD version of Dire Wolf.
7
 #
8
 
9
 
10
@@ -13,7 +13,7 @@ all :  $(APPS) direwolf.desktop direwolf
11
 	@echo "        sudo make install"
12
 	@echo " "
13
 
14
-CC := gcc
15
+CC := clang
16
 
17
 # Just for fun, let's see how clang compares to gcc.  First install like this:
18
 #	sudo apt-get update
19
@@ -32,14 +32,14 @@ CC := gcc
20
 # we will inherit options already set in build environment.
21
 # Explanation - https://github.com/wb2osz/direwolf/pull/38
22
 
23
-CFLAGS += -O3 -pthread -Igeotranz -D_XOPEN_SOURCE=600 -D_DEFAULT_SOURCE=1 -Wall
24
+CFLAGS += -O3 -I${LOCALBASE}/include -pthread -Igeotranz -D_DEFAULT_SOURCE=1 -Wall
25
 
26
 # That was fine for a recent Ubuntu and Raspbian Jessie.
27
 # However, Raspbian wheezy was then missing declaration for strsep and definition of fd_set.
28
 
29
 CFLAGS += -D_BSD_SOURCE
30
 
31
-LDFLAGS += -lm -lpthread -lrt
32
+LDFLAGS += -lm -lpthread -lrt -L${LOCALBASE}/lib
33
 
34
 
35
 
36
@@ -95,7 +95,7 @@ LDFLAGS += -lm -lpthread -lrt
37
 # If the compiler is generating code for the i386 target, we can
38
 # get much better results by telling it we have at least a Pentium 3.
39
 
40
-arch := $(shell echo | gcc -E -dM - | grep __i386__)
41
+arch := $(shell echo | ${CC} -E -dM - | grep __i386__)
42
 ifneq ($(arch),)
43
 CFLAGS += -march=pentium3
44
 endif
45
@@ -152,7 +152,7 @@ endif
46
 #
47
 
48
 
49
-useffast := $(shell gcc --help -v 2>/dev/null | grep ffast-math)
50
+useffast := $(shell ${CC} --help -v 2>/dev/null | grep ffast-math)
51
 ifneq ($(useffast),)
52
 CFLAGS += -ffast-math
53
 endif
54
@@ -215,7 +215,7 @@ endif
55
 # and the compiler target defaults.
56
 #
57
 
58
-neon := $(shell cat /proc/cpuinfo | grep neon)
59
+#neon := $(shell cat /proc/cpuinfo | grep neon)
60
 ifneq ($(neon),)
61
 CFLAGS += -mfpu=neon
62
 endif
63
@@ -266,8 +266,8 @@ endif
64
 ifneq ($(alsa),)
65
 CFLAGS += -DUSE_ALSA
66
 LDFLAGS += -lasound
67
-ifeq ($(wildcard /usr/include/alsa/asoundlib.h),)
68
-$(error /usr/include/alsa/asoundlib.h does not exist.  Install it with "sudo apt-get install libasound2-dev" or "sudo yum install alsa-lib-devel" )
69
+ifeq ($(wildcard ${LOCALBASE}/include/alsa/asoundlib.h),)
70
+$(error ${LOCALBASE}/include/alsa/asoundlib.h does not exist.  Install it with "sudo apt-get install libasound2-dev" or "sudo yum install alsa-lib-devel" )
71
 endif
72
 endif
73
 
74
@@ -276,7 +276,7 @@ endif
75
 # Finding libgps.so* is more difficult because it
76
 # is in different places on different operating systems.
77
 
78
-enable_gpsd := $(wildcard /usr/include/gps.h)
79
+enable_gpsd := $(wildcard ${LOCALBASE}/include/gps.h)
80
 ifneq ($(enable_gpsd),)
81
 CFLAGS += -DENABLE_GPSD
82
 LDFLAGS += -lgps
83
@@ -285,7 +285,7 @@ endif
84
 
85
 # Enable hamlib support if header file is present.
86
 
87
-enable_hamlib := $(wildcard /usr/include/hamlib/rig.h /usr/local/include/hamlib/rig.h)
88
+enable_hamlib := $(wildcard ${LOCALBASE}/include/hamlib/rig.h /usr/local/include/hamlib/rig.h)
89
 ifneq ($(enable_hamlib),)
90
 CFLAGS += -DUSE_HAMLIB
91
 LDFLAGS += -lhamlib
92
@@ -297,18 +297,18 @@ endif
93
 # If, for some reason, can obtain the libudev-dev package, or
94
 # don't want to install it, comment out the next 3 lines.
95
 
96
-#ifeq ($(wildcard /usr/include/libudev.h),)
97
-#$(error /usr/include/libudev.h does not exist.  Install it with "sudo apt-get install libudev-dev" or "sudo yum install libudev-devel" )
98
+#ifeq ($(wildcard ${LOCALBASE}/include/libudev.h),)
99
+#$(error ${LOCALBASE}/include/libudev.h does not exist.  Install it with "sudo apt-get install libudev-dev" or "sudo yum install libudev-devel" )
100
 #endif
101
 
102
 
103
 # Enable cm108 PTT support if libudev header file is present.
104
 
105
-enable_cm108 := $(wildcard /usr/include/libudev.h)
106
-ifneq ($(enable_cm108),)
107
-CFLAGS += -DUSE_CM108
108
-LDFLAGS += -ludev
109
-endif
110
+#enable_cm108 := $(wildcard ${LOCALBASE}/include/libudev.h)
111
+#ifneq ($(enable_cm108),)
112
+#CFLAGS += -DUSE_CM108
113
+#LDFLAGS += -ludev
114
+#endif
115
 
116
 
117
 # Name of current directory.
118
@@ -535,12 +535,17 @@ direwolf.conf : generic.conf
119
 # Something built from source and installed locally would normally go in /usr/local/...
120
 # If not specified on the make command line, this is our default.
121
 
122
-DESTDIR ?= /usr/local
123
+INSTALLDIR  ?= ${PREFIX}
124
+SHAREDIR    ?= ${INSTALLDIR}/share
125
+DATADIR     ?= ${SHAREDIR}/direwolf
126
+DOCSDIR     ?= ${SHAREDIR}/doc/direwolf
127
+EXAMPLESDIR ?= ${SHAREDIR}/examples/direwolf
128
+MANDIR      ?= ${INSTALLDIR}/man
129
 
130
 # However, if you are preparing a "binary" DEB or RPM package, the installation location
131
 # would normally be  /usr/...  instead.   In this case, use a command line like this:
132
 #
133
-#	make  DESTDIR=/usr  install
134
+#	make  INSTALLDIR=/usr  install
135
 
136
 
137
 
138
@@ -560,22 +565,22 @@ direwolf.desktop :
139
 	@echo '[Desktop Entry]' > $@
140
 	@echo 'Type=Application' >> $@
141
 ifneq ($(wildcard /usr/bin/lxterminal),)
142
-	@echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(DESTDIR)/bin/direwolf\"" >> $@
143
+	@echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
144
 else ifneq ($(wildcard /usr/bin/lxterm),)
145
-	@echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"" >> $@
146
+	@echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
147
 else
148
-	@echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"" >> $@
149
+	@echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
150
 endif
151
 	@echo 'Name=Dire Wolf' >> $@
152
 	@echo 'Comment=APRS Soundcard TNC' >> $@
153
-	@echo 'Icon=$(DESTDIR)/share/direwolf/pixmaps/dw-icon.png' >> $@
154
-	@echo "Path=$(HOME)" >> $@
155
+	@echo 'Icon=$(DATADIR)/pixmaps/dw-icon.png' >> $@
156
+#	@echo "Path=$(HOME)" >> $@
157
 	@echo '#Terminal=true' >> $@
158
 	@echo 'Categories=HamRadio' >> $@
159
 	@echo 'Keywords=Ham Radio;APRS;Soundcard TNC;KISS;AGWPE;AX.25' >> $@
160
 
161
 
162
-# Installation into $(DESTDIR), usually /usr/local/... or /usr/...
163
+# Installation into $(DESTDIR)$(INSTALLDIR), usually /usr/local/... or /usr/...
164
 # Needs to be run as root or with sudo.
165
 
166
 
167
@@ -585,102 +590,107 @@ install : $(APPS) direwolf.conf tocalls.
168
 # Applications, not installed with package manager, normally go in /usr/local/bin.
169
 # /usr/bin is used instead when installing from .DEB or .RPM package.
170
 #
171
-	$(INSTALL) -D --mode=755 direwolf $(DESTDIR)/bin/direwolf
172
-	$(INSTALL) -D --mode=755 decode_aprs $(DESTDIR)/bin/decode_aprs
173
-	$(INSTALL) -D --mode=755 text2tt $(DESTDIR)/bin/text2tt
174
-	$(INSTALL) -D --mode=755 tt2text $(DESTDIR)/bin/tt2text
175
-	$(INSTALL) -D --mode=755 ll2utm $(DESTDIR)/bin/ll2utm
176
-	$(INSTALL) -D --mode=755 utm2ll $(DESTDIR)/bin/utm2ll
177
-	$(INSTALL) -D --mode=755 aclients $(DESTDIR)/bin/aclients
178
-	$(INSTALL) -D --mode=755 log2gpx $(DESTDIR)/bin/log2gpx
179
-	$(INSTALL) -D --mode=755 gen_packets $(DESTDIR)/bin/gen_packets
180
-	$(INSTALL) -D --mode=755 atest $(DESTDIR)/bin/atest
181
-	$(INSTALL) -D --mode=755 ttcalc $(DESTDIR)/bin/ttcalc
182
-	$(INSTALL) -D --mode=755 kissutil $(DESTDIR)/bin/kissutil
183
-	$(INSTALL) -D --mode=755 cm108 $(DESTDIR)/bin/cm108
184
-	$(INSTALL) -D --mode=755 dwespeak.sh $(DESTDIR)/bin/dwspeak.sh
185
+	$(BSD_INSTALL_PROGRAM) direwolf $(DESTDIR)$(INSTALLDIR)/bin/direwolf
186
+	$(BSD_INSTALL_PROGRAM) decode_aprs $(DESTDIR)$(INSTALLDIR)/bin/decode_aprs
187
+	$(BSD_INSTALL_PROGRAM) text2tt $(DESTDIR)$(INSTALLDIR)/bin/text2tt
188
+	$(BSD_INSTALL_PROGRAM) tt2text $(DESTDIR)$(INSTALLDIR)/bin/tt2text
189
+	$(BSD_INSTALL_PROGRAM) ll2utm $(DESTDIR)$(INSTALLDIR)/bin/ll2utm
190
+	$(BSD_INSTALL_PROGRAM) utm2ll $(DESTDIR)$(INSTALLDIR)/bin/utm2ll
191
+	$(BSD_INSTALL_PROGRAM) aclients $(DESTDIR)$(INSTALLDIR)/bin/aclients
192
+	$(BSD_INSTALL_PROGRAM) log2gpx $(DESTDIR)$(INSTALLDIR)/bin/log2gpx
193
+	$(BSD_INSTALL_PROGRAM) gen_packets $(DESTDIR)$(INSTALLDIR)/bin/gen_packets
194
+	$(BSD_INSTALL_PROGRAM) atest $(DESTDIR)$(INSTALLDIR)/bin/atest
195
+	$(BSD_INSTALL_PROGRAM) ttcalc $(DESTDIR)$(INSTALLDIR)/bin/ttcalc
196
+	$(BSD_INSTALL_PROGRAM) kissutil $(DESTDIR)$(INSTALLDIR)/bin/kissutil
197
+	$(BSD_INSTALL_PROGRAM) cm108 $(DESTDIR)$(INSTALLDIR)/bin/cm108
198
+	$(BSD_INSTALL_SCRIPT) dwespeak.sh $(DESTDIR)$(INSTALLDIR)/bin/dwspeak.sh
199
 #
200
 # Telemetry Toolkit executables.   Other .conf and .txt files will go into doc directory.
201
 #
202
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-balloon.pl $(DESTDIR)/bin/telem-balloon.pl
203
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-bits.pl $(DESTDIR)/bin/telem-bits.pl
204
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-data.pl $(DESTDIR)/bin/telem-data.pl
205
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-data91.pl $(DESTDIR)/bin/telem-data91.pl
206
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-eqns.pl $(DESTDIR)/bin/telem-eqns.pl
207
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-parm.pl $(DESTDIR)/bin/telem-parm.pl
208
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-seq.sh $(DESTDIR)/bin/telem-seq.sh
209
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-unit.pl $(DESTDIR)/bin/telem-unit.pl
210
-	$(INSTALL) -D --mode=755 telemetry-toolkit/telem-volts.py $(DESTDIR)/bin/telem-volts.py
211
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-balloon.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-balloon.pl
212
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-bits.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-bits.pl
213
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-data.pl
214
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data91.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-data91.pl
215
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-eqns.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-eqns.pl
216
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-parm.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-parm.pl
217
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-seq.sh $(DESTDIR)$(INSTALLDIR)/bin/telem-seq.sh
218
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-unit.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-unit.pl
219
+	$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-volts.py $(DESTDIR)$(INSTALLDIR)/bin/telem-volts.py
220
 #
221
 # Misc. data such as "tocall" to system mapping.
222
 #
223
-	$(INSTALL) -D --mode=644 tocalls.txt $(DESTDIR)/share/direwolf/tocalls.txt
224
-	$(INSTALL) -D --mode=644 symbols-new.txt $(DESTDIR)/share/direwolf/symbols-new.txt
225
-	$(INSTALL) -D --mode=644 symbolsX.txt $(DESTDIR)/share/direwolf/symbolsX.txt
226
+	mkdir -p $(DESTDIR)${DATADIR}
227
+	$(BSD_INSTALL_DATA) tocalls.txt $(DESTDIR)$(DATADIR)/tocalls.txt
228
+	$(BSD_INSTALL_DATA) symbols-new.txt $(DESTDIR)$(DATADIR)/symbols-new.txt
229
+	$(BSD_INSTALL_DATA) symbolsX.txt $(DESTDIR)$(DATADIR)/symbolsX.txt
230
 #
231
 # For desktop icon.
232
 #
233
-	$(INSTALL) -D --mode=644 dw-icon.png $(DESTDIR)/share/direwolf/pixmaps/dw-icon.png
234
-	$(INSTALL) -D --mode=644 direwolf.desktop $(DESTDIR)/share/applications/direwolf.desktop
235
+	mkdir -p $(DESTDIR)${DATADIR}/pixmaps
236
+	mkdir -p $(DESTDIR)${SHAREDIR}/applications
237
+	$(BSD_INSTALL_DATA) dw-icon.png $(DESTDIR)$(DATADIR)/pixmaps/dw-icon.png
238
+	$(BSD_INSTALL_DATA) direwolf.desktop $(DESTDIR)$(SHAREDIR)/applications/direwolf.desktop
239
 #
240
 # Documentation.  Various plain text files and PDF.
241
 #
242
-	$(INSTALL) -D --mode=644 CHANGES.md $(DESTDIR)/share/doc/direwolf/CHANGES.md
243
-	$(INSTALL) -D --mode=644 LICENSE-dire-wolf.txt $(DESTDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt
244
-	$(INSTALL) -D --mode=644 LICENSE-other.txt $(DESTDIR)/share/doc/direwolf/LICENSE-other.txt
245
+	$(BSD_INSTALL_DATA) CHANGES.md $(DESTDIR)$(DATADIR)/CHANGES.md
246
+	$(BSD_INSTALL_DATA) LICENSE-dire-wolf.txt $(DESTDIR)$(DATADIR)/LICENSE-dire-wolf.txt
247
+	$(BSD_INSTALL_DATA) LICENSE-other.txt $(DESTDIR)$(DATADIR)/LICENSE-other.txt
248
 #
249
 # ./README.md is an overview for the project main page.
250
 # Maybe we could stick it in some other place.
251
 # doc/README.md contains an overview of the PDF file contents and is more useful here.
252
 #
253
-	$(INSTALL) -D --mode=644 doc/README.md $(DESTDIR)/share/doc/direwolf/README.md
254
-	$(INSTALL) -D --mode=644 doc/2400-4800-PSK-for-APRS-Packet-Radio.pdf $(DESTDIR)/share/doc/direwolf/2400-4800-PSK-for-APRS-Packet-Radio.pdf
255
-	$(INSTALL) -D --mode=644 doc/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
256
-	$(INSTALL) -D --mode=644 doc/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
257
-	$(INSTALL) -D --mode=644 doc/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf $(DESTDIR)/share/doc/direwolf/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf
258
-	$(INSTALL) -D --mode=644 doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf
259
-	$(INSTALL) -D --mode=644 doc/APRStt-Implementation-Notes.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf
260
-	$(INSTALL) -D --mode=644 doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf
261
-	$(INSTALL) -D --mode=644 doc/APRStt-Listening-Example.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Listening-Example.pdf
262
-	$(INSTALL) -D --mode=644 doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)/share/doc/direwolf/Bluetooth-KISS-TNC.pdf
263
-	$(INSTALL) -D --mode=644 doc/Going-beyond-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/Going-beyond-9600-baud.pdf
264
-	$(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf
265
-	$(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf
266
-	$(INSTALL) -D --mode=644 doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf
267
-	$(INSTALL) -D --mode=644 doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)/share/doc/direwolf/Successful-APRS-IGate-Operation.pdf
268
-	$(INSTALL) -D --mode=644 doc/User-Guide.pdf $(DESTDIR)/share/doc/direwolf/User-Guide.pdf
269
-	$(INSTALL) -D --mode=644 doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)/share/doc/direwolf/WA8LMF-TNC-Test-CD-Results.pdf
270
+	mkdir -p $(DESTDIR)${DOCSDIR}
271
+	$(BSD_INSTALL_DATA) doc/README.md $(DESTDIR)$(DOCSDIR)/README.md
272
+	$(BSD_INSTALL_DATA) doc/2400-4800-PSK-for-APRS-Packet-Radio.pdf $(DESTDIR)$(DOCSDIR)/2400-4800-PSK-for-APRS-Packet-Radio.pdf
273
+	$(BSD_INSTALL_DATA) doc/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf $(DESTDIR)$(DOCSDIR)/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
274
+	$(BSD_INSTALL_DATA) doc/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf $(DESTDIR)$(DOCSDIR)/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
275
+	$(BSD_INSTALL_DATA) doc/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf $(DESTDIR)$(DOCSDIR)/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf
276
+	$(BSD_INSTALL_DATA) doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)$(DOCSDIR)/APRS-Telemetry-Toolkit.pdf
277
+	$(BSD_INSTALL_DATA) doc/APRStt-Implementation-Notes.pdf $(DESTDIR)$(DOCSDIR)/APRStt-Implementation-Notes.pdf
278
+	$(BSD_INSTALL_DATA) doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)$(DOCSDIR)/APRStt-interface-for-SARTrack.pdf
279
+	$(BSD_INSTALL_DATA) doc/APRStt-Listening-Example.pdf $(DESTDIR)$(DOCSDIR)/APRStt-Listening-Example.pdf
280
+	$(BSD_INSTALL_DATA) doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)$(DOCSDIR)/Bluetooth-KISS-TNC.pdf
281
+	$(BSD_INSTALL_DATA) doc/Going-beyond-9600-baud.pdf $(DESTDIR)$(DOCSDIR)/Going-beyond-9600-baud.pdf
282
+	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-APRS.pdf
283
+	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-APRS-Tracker.pdf
284
+	$(BSD_INSTALL_DATA) doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-SDR-IGate.pdf
285
+	$(BSD_INSTALL_DATA) doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)$(DOCSDIR)/Successful-APRS-IGate-Operation.pdf
286
+	$(BSD_INSTALL_DATA) doc/User-Guide.pdf $(DESTDIR)$(DOCSDIR)/User-Guide.pdf
287
+	$(BSD_INSTALL_DATA) doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)$(DOCSDIR)/WA8LMF-TNC-Test-CD-Results.pdf
288
 #
289
 # Various sample config and other files go into examples under the doc directory.
290
 # When building from source, these can be put in home directory with "make install-conf".
291
 # When installed from .DEB or .RPM package, the user will need to copy these to
292
 # the home directory or other desired location.
293
 #
294
-	$(INSTALL) -D --mode=644 direwolf.conf $(DESTDIR)/share/doc/direwolf/examples/direwolf.conf
295
-	$(INSTALL) -D --mode=755 dw-start.sh $(DESTDIR)/share/doc/direwolf/examples/dw-start.sh
296
-	$(INSTALL) -D --mode=644 sdr.conf $(DESTDIR)/share/doc/direwolf/examples/sdr.conf
297
-	$(INSTALL) -D --mode=644 telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt
298
-	$(INSTALL) -D --mode=644 telemetry-toolkit/telem-balloon.conf $(DESTDIR)/share/doc/direwolf/examples/telem-balloon.conf
299
-	$(INSTALL) -D --mode=644 telemetry-toolkit/telem-volts.conf $(DESTDIR)/share/doc/direwolf/examples/telem-volts.conf
300
+	mkdir -p $(DESTDIR)${EXAMPLESDIR}
301
+	$(BSD_INSTALL_DATA) direwolf.conf $(DESTDIR)$(EXAMPLESDIR)/direwolf.conf
302
+	$(BSD_INSTALL_SCRIPT) dw-start.sh $(DESTDIR)$(EXAMPLESDIR)/dw-start.sh
303
+	$(BSD_INSTALL_DATA) sdr.conf $(DESTDIR)$(EXAMPLESDIR)/sdr.conf
304
+	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)$(EXAMPLESDIR)/telem-m0xer-3.txt
305
+	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-balloon.conf $(DESTDIR)$(EXAMPLESDIR)/telem-balloon.conf
306
+	$(BSD_INSTALL_DATA) telemetry-toolkit/telem-volts.conf $(DESTDIR)$(EXAMPLESDIR)/telem-volts.conf
307
 #
308
 # "man" pages
309
 #
310
-	$(INSTALL) -D --mode=644 man1/aclients.1 $(DESTDIR)/share/man/man1/aclients.1
311
-	$(INSTALL) -D --mode=644 man1/atest.1 $(DESTDIR)/share/man/man1/atest.1
312
-	$(INSTALL) -D --mode=644 man1/decode_aprs.1 $(DESTDIR)/share/man/man1/decode_aprs.1
313
-	$(INSTALL) -D --mode=644 man1/direwolf.1 $(DESTDIR)/share/man/man1/direwolf.1
314
-	$(INSTALL) -D --mode=644 man1/gen_packets.1 $(DESTDIR)/share/man/man1/gen_packets.1
315
-	$(INSTALL) -D --mode=644 man1/kissutil.1 $(DESTDIR)/share/man/man1/kissutil.1
316
-	$(INSTALL) -D --mode=644 man1/ll2utm.1 $(DESTDIR)/share/man/man1/ll2utm.1
317
-	$(INSTALL) -D --mode=644 man1/log2gpx.1 $(DESTDIR)/share/man/man1/log2gpx.1
318
-	$(INSTALL) -D --mode=644 man1/text2tt.1 $(DESTDIR)/share/man/man1/text2tt.1
319
-	$(INSTALL) -D --mode=644 man1/tt2text.1 $(DESTDIR)/share/man/man1/tt2text.1
320
-	$(INSTALL) -D --mode=644 man1/utm2ll.1 $(DESTDIR)/share/man/man1/utm2ll.1
321
+	$(BSD_INSTALL_MAN) man1/aclients.1 $(DESTDIR)$(MANDIR)/man1/aclients.1
322
+	$(BSD_INSTALL_MAN) man1/atest.1 $(DESTDIR)$(MANDIR)/man1/atest.1
323
+	$(BSD_INSTALL_MAN) man1/decode_aprs.1 $(DESTDIR)$(MANDIR)/man1/decode_aprs.1
324
+	$(BSD_INSTALL_MAN) man1/direwolf.1 $(DESTDIR)$(MANDIR)/man1/direwolf.1
325
+	$(BSD_INSTALL_MAN) man1/gen_packets.1 $(DESTDIR)$(MANDIR)/man1/gen_packets.1
326
+	$(BSD_INSTALL_MAN) man1/kissutil.1 $(DESTDIR)$(MANDIR)/man1/kissutil.1
327
+	$(BSD_INSTALL_MAN) man1/ll2utm.1 $(DESTDIR)$(MANDIR)/man1/ll2utm.1
328
+	$(BSD_INSTALL_MAN) man1/log2gpx.1 $(DESTDIR)$(MANDIR)//man1/log2gpx.1
329
+	$(BSD_INSTALL_MAN) man1/text2tt.1 $(DESTDIR)$(MANDIR)/man1/text2tt.1
330
+	$(BSD_INSTALL_MAN) man1/tt2text.1 $(DESTDIR)$(MANDIR)/man1/tt2text.1
331
+	$(BSD_INSTALL_MAN) man1/utm2ll.1 $(DESTDIR)$(MANDIR)/man1/utm2ll.1
332
 #
333
 # Set group and mode of HID devices corresponding to C-Media USB Audio adapters.
334
 # This will allow us to use the CM108/CM119 GPIO pins for PTT.
335
 #
336
-	$(INSTALL) -D --mode=644 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules
337
+#	$(BSD_INSTALL_DATA) 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules
338
 #
339
 	@echo " "
340
 	@echo "If this is your first install, not an upgrade, type this to put a copy"
341
@@ -693,7 +703,7 @@ install : $(APPS) direwolf.conf tocalls.
342
 # Put sample configuration & startup files in home directory.
343
 # This step would be done as ordinary user.
344
 # Some people like to put the direwolf config file in /etc/ax25.
345
-# Note that all of these are also in $(DESTDIR)/share/doc/direwolf/examples/.
346
+# Note that all of these are also in $(DESTDIR)$(INSTALLDIR)/share/doc/direwolf/examples/.
347
 
348
 # The Raspberry Pi has ~/Desktop but Ubuntu does not.
349
 
350
@@ -724,7 +734,7 @@ endif
351
 
352
 .PHONY: install-rpi
353
 install-rpi : 
354
-	ln -f -s $(DESTDIR)/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop
355
+	ln -f -s $(DESTDIR)$(SHAREDIR)/applications/direwolf.desktop ~/Desktop/direwolf.desktop
356
 
357
 
358
 
(-)./files/patch-ptt.c (+11 lines)
Line 0 Link Here
1
--- ptt.c.orig	2018-10-08 14:15:21 UTC
2
+++ ptt.c
3
@@ -139,7 +139,7 @@
4
 
5
 #if __WIN32__
6
 #else
7
-#include <sys/termios.h>
8
+#include <termios.h>
9
 #include <sys/ioctl.h>
10
 #include <fcntl.h>
11
 #include <sys/types.h>
(-)./Makefile (-9 / +12 lines)
Lines 1-8 Link Here
1
# $FreeBSD: head/comms/direwolf/Makefile 479406 2018-09-10 13:14:50Z mat $
1
# $FreeBSD: head/comms/direwolf/Makefile 479406 2018-09-10 13:14:50Z mat $
2
2
3
PORTNAME=	direwolf
3
PORTNAME=	direwolf
4
PORTVERSION=	1.4
4
DISTVERSION=	1.5
5
PORTREVISION=	1
6
CATEGORIES=	comms hamradio
5
CATEGORIES=	comms hamradio
7
6
8
MAINTAINER=	kevans@FreeBSD.org
7
MAINTAINER=	kevans@FreeBSD.org
Lines 10-33 COMMENT= Software "soundcard" modem/TNC Link Here
10
9
11
LICENSE=	GPLv2
10
LICENSE=	GPLv2
12
11
13
LIB_DEPENDS=	libhamlib.so:comms/hamlib \
12
LIB_DEPENDS=	libasound.so:audio/alsa-lib\
13
		libhamlib.so:comms/hamlib \
14
		libgps.so:astro/gpsd
14
		libgps.so:astro/gpsd
15
15
16
USES=		gmake python shebangfix
17
16
USE_GITHUB=	yes
18
USE_GITHUB=	yes
17
GH_ACCOUNT=	wb2osz
19
GH_ACCOUNT=	wb2osz
18
GH_TAGNAME=	6207e2e
20
GH_TAGNAME=	1.5
19
USES=		dos2unix gmake python shebangfix
20
21
21
SHEBANG_FILES=	telemetry-toolkit/telem-bits.pl telemetry-toolkit/telem-parm.pl\
22
SHEBANG_FILES=	telemetry-toolkit/telem-bits.pl telemetry-toolkit/telem-parm.pl\
22
		telemetry-toolkit/telem-eqns.pl dwespeak.sh \
23
		telemetry-toolkit/telem-eqns.pl dwespeak.sh \
23
		telemetry-toolkit/telem-volts.py telemetry-toolkit/telem-data.pl \
24
		telemetry-toolkit/telem-volts.py telemetry-toolkit/telem-data.pl \
24
		telemetry-toolkit/telem-data91.pl \
25
		telemetry-toolkit/telem-data91.pl \
25
		telemetry-toolkit/telem-unit.pl	telemetry-toolkit/telem-balloon.pl
26
		telemetry-toolkit/telem-unit.pl	telemetry-toolkit/telem-balloon.pl\
27
		dw-start.sh
26
28
27
OPTIONS_DEFINE=	DOCS
29
OPTIONS_DEFINE=	DOCS EXAMPLES
30
MAKEFILE=	Makefile.linux
28
31
29
post-patch:
32
post-patch:
30
	${CP} ${FILESDIR}/Makefile.FreeBSD ${WRKSRC}
33
	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|'\
31
	${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' ${WRKSRC}/dw-start.sh
34
		-e 's|/var/tmp|/var/log|' ${WRKSRC}/dw-start.sh
32
35
33
.include <bsd.port.mk>
36
.include <bsd.port.mk>
(-)./pkg-plist (-10 / +21 lines)
Lines 1-9 Link Here
1
bin/aclients
1
bin/aclients
2
bin/atest
2
bin/atest
3
bin/cm108
3
bin/decode_aprs
4
bin/decode_aprs
4
bin/direwolf
5
bin/direwolf
5
bin/dwespeak.sh
6
bin/dwspeak.sh
6
bin/gen_packets
7
bin/gen_packets
8
bin/kissutil
7
bin/ll2utm
9
bin/ll2utm
8
bin/log2gpx
10
bin/log2gpx
9
bin/telem-balloon.pl
11
bin/telem-balloon.pl
Lines 24-54 man/man1/atest.1.gz Link Here
24
man/man1/decode_aprs.1.gz
26
man/man1/decode_aprs.1.gz
25
man/man1/direwolf.1.gz
27
man/man1/direwolf.1.gz
26
man/man1/gen_packets.1.gz
28
man/man1/gen_packets.1.gz
29
man/man1/kissutil.1.gz
27
man/man1/ll2utm.1.gz
30
man/man1/ll2utm.1.gz
28
man/man1/log2gpx.1.gz
31
man/man1/log2gpx.1.gz
29
man/man1/text2tt.1.gz
32
man/man1/text2tt.1.gz
30
man/man1/tt2text.1.gz
33
man/man1/tt2text.1.gz
31
man/man1/utm2ll.1.gz
34
man/man1/utm2ll.1.gz
32
share/applications/direwolf.desktop
35
share/applications/direwolf.desktop
33
%%DATADIR%%/dw-icon.png
36
%%DATADIR%%/CHANGES.md
37
%%DATADIR%%/LICENSE-dire-wolf.txt
38
%%DATADIR%%/LICENSE-other.txt
34
%%DATADIR%%/symbols-new.txt
39
%%DATADIR%%/symbols-new.txt
35
%%DATADIR%%/symbolsX.txt
40
%%DATADIR%%/symbolsX.txt
36
%%DATADIR%%/tocalls.txt
41
%%DATADIR%%/tocalls.txt
42
%%DATADIR%%/pixmaps/dw-icon.png
43
%%PORTDOCS%%%%DOCSDIR%%/2400-4800-PSK-for-APRS-Packet-Radio.pdf
37
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
44
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
38
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
45
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
46
%%PORTDOCS%%%%DOCSDIR%%/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf
39
%%PORTDOCS%%%%DOCSDIR%%/APRS-Telemetry-Toolkit.pdf
47
%%PORTDOCS%%%%DOCSDIR%%/APRS-Telemetry-Toolkit.pdf
40
%%PORTDOCS%%%%DOCSDIR%%/APRStt-Implementation-Notes.pdf
48
%%PORTDOCS%%%%DOCSDIR%%/APRStt-Implementation-Notes.pdf
49
%%PORTDOCS%%%%DOCSDIR%%/APRStt-Listening-Example.pdf
41
%%PORTDOCS%%%%DOCSDIR%%/APRStt-interface-for-SARTrack.pdf
50
%%PORTDOCS%%%%DOCSDIR%%/APRStt-interface-for-SARTrack.pdf
42
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-dire-wolf.txt
51
%%PORTDOCS%%%%DOCSDIR%%/Bluetooth-KISS-TNC.pdf
43
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-other.txt
52
%%PORTDOCS%%%%DOCSDIR%%/Going-beyond-9600-baud.pdf
44
%%PORTDOCS%%%%DOCSDIR%%/README.md
53
%%PORTDOCS%%%%DOCSDIR%%/README.md
45
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS-Tracker.pdf
54
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS-Tracker.pdf
46
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS.pdf
55
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS.pdf
47
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-SDR-IGate.pdf
56
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-SDR-IGate.pdf
57
%%PORTDOCS%%%%DOCSDIR%%/Successful-APRS-IGate-Operation.pdf
48
%%PORTDOCS%%%%DOCSDIR%%/User-Guide.pdf
58
%%PORTDOCS%%%%DOCSDIR%%/User-Guide.pdf
49
%%PORTDOCS%%%%DOCSDIR%%/examples/direwolf.conf
59
%%PORTDOCS%%%%DOCSDIR%%/WA8LMF-TNC-Test-CD-Results.pdf
50
%%PORTDOCS%%%%DOCSDIR%%/examples/dw-start.sh
60
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/direwolf.conf
51
%%PORTDOCS%%%%DOCSDIR%%/examples/sdr.conf
61
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dw-start.sh
52
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-balloon.conf
62
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sdr.conf
53
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-m0xer-3.txt
63
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-balloon.conf
54
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-volts.conf
64
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-m0xer-3.txt
65
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-volts.conf

Return to bug 236631