Update to 1.5, and change maintainer to hamradio@

PR:		236631
Submitted by:	takefu
Approved by:	kevans (maintainer)
This commit is contained in:
Stephen Hurd 2019-07-22 17:27:23 +00:00
parent f830779ba2
commit 22474ce744
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=507152
9 changed files with 489 additions and 623 deletions

View File

@ -1,33 +1,36 @@
# $FreeBSD$
PORTNAME= direwolf
PORTVERSION= 1.4
PORTREVISION= 1
DISTVERSION= 1.5
CATEGORIES= comms hamradio
MAINTAINER= kevans@FreeBSD.org
MAINTAINER= hamradio@FreeBSD.org
COMMENT= Software "soundcard" modem/TNC and APRS encoder/decoder
LICENSE= GPLv2
LIB_DEPENDS= libhamlib.so:comms/hamlib \
LIB_DEPENDS= libasound.so:audio/alsa-lib\
libhamlib.so:comms/hamlib \
libgps.so:astro/gpsd
USES= gmake python shebangfix
USE_GITHUB= yes
GH_ACCOUNT= wb2osz
GH_TAGNAME= 6207e2e
USES= dos2unix gmake python shebangfix
GH_TAGNAME= 1.5
SHEBANG_FILES= telemetry-toolkit/telem-bits.pl telemetry-toolkit/telem-parm.pl\
telemetry-toolkit/telem-eqns.pl dwespeak.sh \
telemetry-toolkit/telem-volts.py telemetry-toolkit/telem-data.pl \
telemetry-toolkit/telem-data91.pl \
telemetry-toolkit/telem-unit.pl telemetry-toolkit/telem-balloon.pl
telemetry-toolkit/telem-unit.pl telemetry-toolkit/telem-balloon.pl\
dw-start.sh
OPTIONS_DEFINE= DOCS
OPTIONS_DEFINE= DOCS EXAMPLES
MAKEFILE= Makefile.linux
post-patch:
${CP} ${FILESDIR}/Makefile.FreeBSD ${WRKSRC}
${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' ${WRKSRC}/dw-start.sh
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|'\
-e 's|/var/tmp|/var/log|' ${WRKSRC}/dw-start.sh
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1494361181
SHA256 (wb2osz-direwolf-1.4-6207e2e_GH0.tar.gz) = d3a42b5207935e38bfa4902a76daf684269f9cb71bcc271d80508293e40ac6a9
SIZE (wb2osz-direwolf-1.4-6207e2e_GH0.tar.gz) = 13849018
TIMESTAMP = 1549716498
SHA256 (wb2osz-direwolf-1.5_GH0.tar.gz) = 2e263ea4fa75c342b620dee048436ac95486ea3f93599ad818e74dfd4aec8b48
SIZE (wb2osz-direwolf-1.5_GH0.tar.gz) = 17996557

View File

@ -1,549 +0,0 @@
#
# Makefile for FreeBSD version of Dire Wolf.
#
APPS := direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients atest log2gpx gen_packets ttcalc
all : $(APPS) direwolf.desktop direwolf.conf
@echo " "
@echo "Next step - install with:"
@echo " "
@echo " sudo make install"
@echo " "
CFLAGS += -I${LOCALBASE}/include
CFLAGS += -pthread -Igeotranz
LDFLAGS := -lm -lpthread -L${LOCALBASE}/lib
#CFLAGS += -mfpu=neon
#CFLAGS += -DUSE_ALSA
#LDFLAGS += -lasound
enable_gpsd := $(wildcard /usr/local/include/gps.h)
ifneq ($(enable_gpsd),)
CFLAGS += -DENABLE_GPSD
LDFLAGS += -lgps
endif
# Uncomment following lines to enable hamlib support.
CFLAGS += -DUSE_HAMLIB
LDFLAGS += -lhamlib
# Name of current directory.
# Used to generate zip file name for distribution.
z := $(notdir ${CURDIR})
# -------------------------------- Main application -----------------------------------------
direwolf : direwolf.o config.o recv.o demod.o dsp.o demod_afsk.o demod_9600.o hdlc_rec.o \
hdlc_rec2.o multi_modem.o redecode.o rdq.o rrbb.o dlq.o \
fcs_calc.o ax25_pad.o \
decode_aprs.o symbols.o server.o kiss.o kissnet.o kiss_frame.o hdlc_send.o fcs_calc.o \
gen_tone.o audio.o audio_stats.o digipeater.o pfilter.o dedupe.o tq.o xmit.o morse.o \
ptt.o beacon.o encode_aprs.o latlong.o encode_aprs.o latlong.o textcolor.o \
dtmf.o aprs_tt.o tt_user.o tt_text.o igate.o nmea.o serial_port.o log.o telemetry.o \
dwgps.o dwgpsnmea.o dwgpsd.o dtime_now.o \
geotranz.a
$(CC) -o $@ $^ $(LDFLAGS)
ifneq ($(enable_gpsd),)
@echo " "
@echo "This includes support for gpsd."
else
@echo " "
@echo "This does NOT include support for gpsd."
endif
# Optimization for slow processors.
demod.o : fsk_fast_filter.h
demod_afsk.o : fsk_fast_filter.h
fsk_fast_filter.h : demod_afsk.c
$(CC) $(CFLAGS) -o gen_fff -DGEN_FFF demod_afsk.c dsp.c textcolor.c $(LDFLAGS)
./gen_fff > fsk_fast_filter.h
# Separate application to decode raw data.
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
$(CC) $(CFLAGS) -DDECAMAIN -o $@ $^ $(LDFLAGS)
# Convert between text and touch tone representation.
text2tt : tt_text.c
$(CC) $(CFLAGS) -DENC_MAIN -o $@ $^ $(LDFLAGS)
tt2text : tt_text.c
$(CC) $(CFLAGS) -DDEC_MAIN -o $@ $^ $(LDFLAGS)
# Convert between Latitude/Longitude and UTM coordinates.
ll2utm : ll2utm.c geotranz.a textcolor.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
utm2ll : utm2ll.c geotranz.a textcolor.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
# Convert from log file to GPX.
log2gpx : log2gpx.c textcolor.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
# Test application to generate sound.
gen_packets : gen_packets.c ax25_pad.c hdlc_send.c fcs_calc.c gen_tone.c morse.c textcolor.c dsp.c
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
# Unit test for AFSK demodulator
atest : atest.c demod.o demod_afsk.o demod_9600.o \
dsp.o hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \
fcs_calc.o ax25_pad.o decode_aprs.o dwgpsnmea.o \
dwgps.o dwgpsd.o serial_port.o telemetry.o latlong.o symbols.o tt_text.o textcolor.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
# Multiple AGWPE network or serial port clients to test TNCs side by side.
aclients : aclients.c ax25_pad.c fcs_calc.c textcolor.o
$(CC) $(CFLAGS) -g -o $@ $^
# Touch Tone to Speech sample application.
ttcalc : ttcalc.o ax25_pad.o fcs_calc.o textcolor.o
$(CC) $(CFLAGS) -g -o $@ $^
# ----------------------------------------- Libraries --------------------------------------------
# UTM, USNG, MGRS conversions.
geotranz.a : error_string.o mgrs.o polarst.o tranmerc.o ups.o usng.o utm.o
ar -cr $@ $^
error_string.o : geotranz/error_string.c
$(CC) $(CFLAGS) -c -o $@ $^
mgrs.o : geotranz/mgrs.c
$(CC) $(CFLAGS) -c -o $@ $^
polarst.o : geotranz/polarst.c
$(CC) $(CFLAGS) -c -o $@ $^
tranmerc.o : geotranz/tranmerc.c
$(CC) $(CFLAGS) -c -o $@ $^
ups.o : geotranz/ups.c
$(CC) $(CFLAGS) -c -o $@ $^
usng.o : geotranz/usng.c
$(CC) $(CFLAGS) -c -o $@ $^
utm.o : geotranz/utm.c
$(CC) $(CFLAGS) -c -o $@ $^
# ------------------------------------- Installation ----------------------------------
# Generate apprpriate sample configuration file for this platform.
# Originally, there was one sample for all platforms. It got too cluttered
# and confusing saying, this is for windows, and this is for Linux, and this ...
# Trying to maintain 3 different versions in parallel is error prone.
# We now have a single generic version which can be used to generate
# the various platform specific versions.
# generic.conf should be checked into source control.
# direwolf.conf should NOT. It is generated when compiling on the target platform.
direwolf.conf : generic.conf
egrep '^C|^L' generic.conf | cut -c2-999 > direwolf.conf
# Where should we install it?
# My understanding, of the convention, is that something you compile
# from source, that is not a standard part of the operating system,
# should go in /usr/local/bin.
# However, if you are preparing a "binary" DEB or RPM package, the
# installation location should be /usr/bin.
# This is a step in the right direction but not sufficient to use /usr instead.
# Eventually I'd like to have targets here to build the .DEB and .RPM packages.
INSTALLDIR := ${DESTDIR}${PREFIX}
SHAREDIR := ${INSTALLDIR}/share
# Command to "install" to system directories. Use "ginstall" for Mac.
INSTALL=install
# direwolf.desktop was previously handcrafted for the Raspberry Pi.
# It was hardcoded with lxterminal, /home/pi, and so on.
# In version 1.2, try to customize this to match other situations better.
# TODO: Test this better.
direwolf.desktop :
@echo "Generating customized direwolf.desktop ..."
@echo '[Desktop Entry]' > $@
@echo 'Type=Application' >> $@
ifneq ($(wildcard /usr/bin/lxterminal),)
@echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(PREFIX)/bin/direwolf\"" >> $@
else ifneq ($(wildcard /usr/local/bin/lxterm),)
@echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(PREFIX)/bin/direwolf\"" >> $@
else
@echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(PREFIX)/bin/direwolf\"" >> $@
endif
@echo 'Name=Dire Wolf' >> $@
@echo 'Comment=APRS Soundcard TNC' >> $@
@echo 'Icon=${PREFIX}/share/direwolf/dw-icon.png' >> $@
@echo "Path=$(HOME)" >> $@
@echo '#Terminal=true' >> $@
@echo 'Categories=HamRadio' >> $@
@echo 'Keywords=Ham Radio;APRS;Soundcard TNC;KISS;AGWPE;AX.25' >> $@
# Installation into /usr/local/...
# Needs to be run as root or with sudo.
.PHONY: install
install : $(APPS) direwolf.conf tocalls.txt symbols-new.txt symbolsX.txt dw-icon.png direwolf.desktop
#
# Applications, not installed with package manager, normally go in /usr/local/bin.
# /usr/bin is used instead when installing from .DEB or .RPM package.
#
$(BSD_INSTALL_PROGRAM) direwolf $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) decode_aprs $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) text2tt $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) tt2text $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) ll2utm $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) utm2ll $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) aclients $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) log2gpx $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) gen_packets $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) atest $(INSTALLDIR)/bin
$(BSD_INSTALL_PROGRAM) ttcalc $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) dwespeak.sh $(INSTALLDIR)/bin
#
# Telemetry Toolkit executables. Other .conf and .txt files will go into doc directory.
#
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-balloon.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-bits.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data91.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-eqns.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-parm.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-seq.sh $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-unit.pl $(INSTALLDIR)/bin
$(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-volts.py $(INSTALLDIR)/bin
#
# Misc. data such as "tocall" to system mapping.
#
mkdir -p ${SHAREDIR}/direwolf
$(BSD_INSTALL_DATA) tocalls.txt ${SHAREDIR}/direwolf/tocalls.txt
$(BSD_INSTALL_DATA) symbols-new.txt ${SHAREDIR}/direwolf/symbols-new.txt
$(BSD_INSTALL_DATA) symbolsX.txt ${SHAREDIR}/direwolf/symbolsX.txt
$(BSD_INSTALL_DATA) dw-icon.png ${SHAREDIR}/direwolf/dw-icon.png
mkdir -p ${SHAREDIR}/applications
$(BSD_INSTALL_DATA) direwolf.desktop ${SHAREDIR}/applications/direwolf.desktop
#
# Documentation. Various plain text files and PDF.
# $(INSTALL) CHANGES.md $(INSTALLDIR)/share/doc/direwolf/CHANGES.md
mkdir -p ${INSTALLDIR}/share/doc/direwolf
mkdir -p ${INSTALLDIR}/share/direwolf
$(BSD_INSTALL_DATA) LICENSE-dire-wolf.txt $(INSTALLDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt
$(BSD_INSTALL_DATA) LICENSE-other.txt $(INSTALLDIR)/share/doc/direwolf/LICENSE-other.txt
#
# ./README.md is an overview for the project main page.
# doc/README.md contains an overview of the PDF file contents and is more useful here.
#
$(BSD_INSTALL_DATA) doc/README.md $(INSTALLDIR)/share/doc/direwolf/README.md
$(BSD_INSTALL_DATA) doc/User-Guide.pdf $(INSTALLDIR)/share/doc/direwolf/User-Guide.pdf
$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf
$(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS-Tracker.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf
$(BSD_INSTALL_DATA) doc/Raspberry-Pi-SDR-IGate.pdf $(INSTALLDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf
$(BSD_INSTALL_DATA) doc/APRStt-Implementation-Notes.pdf $(INSTALLDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf
$(BSD_INSTALL_DATA) doc/APRStt-interface-for-SARTrack.pdf $(INSTALLDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf
$(BSD_INSTALL_DATA) doc/APRS-Telemetry-Toolkit.pdf $(INSTALLDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf
$(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
$(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
#
# Various sample config and other files go into examples under the doc directory.
# When building from source, these can be put in home directory with "make install-conf".
# When installed from .DEB or .RPM package, the user will need to copy these to
# the home directory or other desired location.
#
mkdir -p ${INSTALLDIR}/share/doc/direwolf/examples
$(BSD_INSTALL_DATA) direwolf.conf $(INSTALLDIR)/share/doc/direwolf/examples/direwolf.conf
$(BSD_INSTALL_DATA) dw-start.sh $(INSTALLDIR)/share/doc/direwolf/examples/dw-start.sh
$(BSD_INSTALL_DATA) sdr.conf $(INSTALLDIR)/share/doc/direwolf/examples/sdr.conf
$(BSD_INSTALL_DATA) telemetry-toolkit/telem-m0xer-3.txt $(INSTALLDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt
$(BSD_INSTALL_DATA) telemetry-toolkit/telem-balloon.conf $(INSTALLDIR)/share/doc/direwolf/examples/telem-balloon.conf
$(BSD_INSTALL_DATA) telemetry-toolkit/telem-volts.conf $(INSTALLDIR)/share/doc/direwolf/examples/telem-volts.conf
#
# "man" pages
#
$(BSD_INSTALL_MAN) man1/aclients.1 $(INSTALLDIR)/man/man1/aclients.1
$(BSD_INSTALL_MAN) man1/atest.1 $(INSTALLDIR)/man/man1/atest.1
$(BSD_INSTALL_MAN) man1/decode_aprs.1 $(INSTALLDIR)/man/man1/decode_aprs.1
$(BSD_INSTALL_MAN) man1/direwolf.1 $(INSTALLDIR)/man/man1/direwolf.1
$(BSD_INSTALL_MAN) man1/gen_packets.1 $(INSTALLDIR)/man/man1/gen_packets.1
$(BSD_INSTALL_MAN) man1/ll2utm.1 $(INSTALLDIR)/man/man1/ll2utm.1
$(BSD_INSTALL_MAN) man1/log2gpx.1 $(INSTALLDIR)/man/man1/log2gpx.1
$(BSD_INSTALL_MAN) man1/text2tt.1 $(INSTALLDIR)/man/man1/text2tt.1
$(BSD_INSTALL_MAN) man1/tt2text.1 $(INSTALLDIR)/man/man1/tt2text.1
$(BSD_INSTALL_MAN) man1/utm2ll.1 $(INSTALLDIR)/man/man1/utm2ll.1
#
@echo " "
@echo "If this is your first install, not an upgrade, type this to put a copy"
@echo "of the sample configuration file (direwolf.conf) in your home directory:"
@echo " "
@echo " make install-conf"
@echo " "
# These would be done as ordinary user.
# The Raspberry Pi has ~/Desktop but Ubuntu does not.
# TODO: Handle Linux variations correctly.
.PHONY: install-conf
install-conf : direwolf.conf
cp direwolf.conf ~
cp sdr.conf ~
cp telemetry-toolkit/telem-m0xer-3.txt ~
cp telemetry-toolkit/telem-*.conf ~
ifneq ($(wildcard $(HOME)/Desktop),)
@echo " "
@echo "This will add a desktop icon on some systems:"
@echo " "
@echo " make install-rpi"
@echo " "
endif
.PHONY: install-rpi
install-rpi : dw-start.sh
cp dw-start.sh ~
ln -f -s /usr/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop
# ---------------------------------- Automated Smoke Test --------------------------------
# Combine some unit tests into a single regression sanity check.
check : dtest ttest tttexttest pftest tlmtest lltest enctest kisstest check-modem1200 check-modem300 check-modem9600
# Can we encode and decode at popular data rates?
check-modem1200 : gen_packets atest
./gen_packets -n 100 -o /tmp/test1.wav
./atest -F0 -PE -L70 -G71 /tmp/test1.wav
./atest -F1 -PE -L73 -G75 /tmp/test1.wav
#rm /tmp/test1.wav
check-modem300 : gen_packets atest
./gen_packets -B300 -n 100 -o /tmp/test3.wav
./atest -B300 -F0 -L68 -G69 /tmp/test3.wav
./atest -B300 -F1 -L73 -G75 /tmp/test3.wav
rm /tmp/test3.wav
check-modem9600 : gen_packets atest
./gen_packets -B9600 -n 100 -o /tmp/test9.wav
./atest -B9600 -F0 -L57 -G59 /tmp/test9.wav
./atest -B9600 -F1 -L66 -G67 /tmp/test9.wav
rm /tmp/test9.wav
# Unit test for inner digipeater algorithm
.PHONY : dtest
dtest : digipeater.c dedupe.c \
pfilter.o ax25_pad.o fcs_calc.o tq.o textcolor.o \
decode_aprs.o dwgpsnmea.o dwgps.o dwgpsd.o serial_port.o latlong.o telemetry.o symbols.o tt_text.o
$(CC) $(CFLAGS) -DDIGITEST -o $@ $^ $(LDFLAGS)
./dtest
rm dtest
# Unit test for APRStt tone sequence parsing.
.PHONY : ttest
ttest : aprs_tt.c tt_text.c latlong.o textcolor.o geotranz.a
$(CC) $(CFLAGS) -DTT_MAIN -o $@ $^ $(LDFLAGS)
./ttest
rm ttest
# Unit test for APRStt tone sequence / text conversions.
.PHONY: tttexttest
tttexttest : tt_text.c textcolor.o
$(CC) $(CFLAGS) -DTTT_TEST -o $@ $^ $(LDFLAGS)
./tttexttest
rm tttexttest
# Unit test for Packet Filtering.
.PHONY: pftest
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
$(CC) $(CFLAGS) -DPFTEST -o $@ $^ $(LDFLAGS)
./pftest
rm pftest
# Unit test for telemetry decoding.
.PHONY: tlmtest
tlmtest : telemetry.c ax25_pad.o fcs_calc.o textcolor.o
$(CC) $(CFLAGS) -DTEST -o $@ $^ $(LDFLAGS)
./tlmtest
rm tlmtest
# Unit test for location coordinate conversion.
.PHONY: lltest
lltest : latlong.c textcolor.o
$(CC) $(CFLAGS) -DLLTEST -o $@ $^ $(LDFLAGS)
./lltest
rm lltest
# Unit test for encoding position & object report.
.PHONY: enctest
enctest : encode_aprs.c latlong.c textcolor.c
$(CC) $(CFLAGS) -DEN_MAIN -o $@ $^ $(LDFLAGS)
./enctest
rm enctest
# Unit test for KISS encapsulation.
.PHONY: kisstest
kisstest : kiss_frame.c
$(CC) $(CFLAGS) -DKISSTEST -o $@ $^ $(LDFLAGS)
./kisstest
rm kisstest
# ----------------------------- Manual tests and experiments ---------------------------
# These are not included in a normal build. Might be broken.
# Unit test for IGate
itest : igate.c textcolor.c ax25_pad.c fcs_calc.c textcolor.o
$(CC) $(CFLAGS) -DITEST -o $@ $^
./itest
# Unit test for UDP reception with AFSK demodulator.
# Temporary during development. Might not be useful anymore.
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 \
fcs_calc.o ax25_pad.o decode_aprs.o symbols.o textcolor.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
./udptest
# For demodulator tweaking experiments.
# Dependencies of demod*.c, rather than .o, are intentional.
demod.o : tune.h
demod_afsk.o : tune.h
demod_9600.o : tune.h
testagc : atest.c demod.c dsp.c demod_afsk.c demod_9600.c hdlc_rec.o hdlc_rec2.o multi_modem.o rrbb.o \
fcs_calc.o ax25_pad.o decode_aprs.o telemetry.o latlong.o symbols.o tune.h textcolor.o
$(CC) $(CFLAGS) -o atest $^ $(LDFLAGS)
./atest 02_Track_2.wav | grep "packets decoded in" > atest.out
# ------------------------------- Source distribution ---------------------------------
# probably obsolete and can be removed after move to github.
.PHONY: dist-src
dist-src : README.md CHANGES.md
doc/User-Guide.pdf doc/Raspberry-Pi-APRS.pdf \
doc/Raspberry-Pi-APRS-Tracker.pdf doc/APRStt-Implementation-Notes.pdf \
dw-start.sh dwespeak.bat dwespeak.sh \
tocalls.txt symbols-new.txt symbolsX.txt direwolf.spec
rm -f fsk_fast_filter.h
echo " " > tune.h
rm -f ../$z-src.zip
(cd .. ; zip $z-src.zip \
$z/README.md \
$z/CHANGES.md \
$z/LICENSE* \
$z/doc/User-Guide.pdf \
$z/doc/Raspberry-Pi-APRS.pdf \
$z/doc/Raspberry-Pi-APRS-Tracker.pdf \
$z/doc/APRStt-Implementation-Notes.pdf \
$z/doc/APRS-Telemetry-Toolkit.pdf \
$z/Makefile* \
$z/*.c $z/*.h \
$z/regex/* $z/misc/* $z/geotranz/* \
$z/man1/* \
$z/generic.conf \
$z/tocalls.txt $z/symbols-new.txt $z/symbolsX.txt \
$z/dw-icon.png $z/dw-icon.rc $z/dw-icon.ico \
$z/dw-start.sh $z/direwolf.spec \
$z/dwespeak.bat $z/dwespeak.sh \
$z/telemetry-toolkit/* )
# -----------------------------------------------------------------------------------------
.PHONY: clean
clean :
rm -f $(APPS) fsk_fast_filter.h *.o *.a direwolf.desktop
echo " " > tune.h
depend : $(wildcard *.c)
makedepend -f $(lastword $(MAKEFILE_LIST)) -- $(CFLAGS) -- $^
#
# The following is updated by "make depend"
#
# DO NOT DELETE

View File

@ -1,17 +0,0 @@
--- Makefile.orig 2017-01-20 00:11:49 UTC
+++ Makefile
@@ -6,11 +6,14 @@
win := $(shell uname | grep CYGWIN)
dar := $(shell uname | grep Darwin)
+free := $(shell uname | grep FreeBSD)
ifneq ($(win),)
include Makefile.win
else ifeq ($(dar),Darwin)
include Makefile.macosx
+else ifeq ($(free),FreeBSD)
+ include Makefile.FreeBSD
else
include Makefile.linux
endif

View File

@ -0,0 +1,409 @@
--- Makefile.linux.orig 2018-10-08 14:15:21 UTC
+++ Makefile.linux
@@ -1,5 +1,5 @@
#
-# Makefile for Linux version of Dire Wolf.
+# Makefile for FreeBSD version of Dire Wolf.
#
@@ -13,7 +13,7 @@ all : $(APPS) direwolf.desktop direwolf
@echo " sudo make install"
@echo " "
-CC := gcc
+#CC := clang
# Just for fun, let's see how clang compares to gcc. First install like this:
# sudo apt-get update
@@ -32,14 +32,14 @@ CC := gcc
# we will inherit options already set in build environment.
# Explanation - https://github.com/wb2osz/direwolf/pull/38
-CFLAGS += -O3 -pthread -Igeotranz -D_XOPEN_SOURCE=600 -D_DEFAULT_SOURCE=1 -Wall
+CFLAGS += -O3 -I${LOCALBASE}/include -pthread -Igeotranz -D_DEFAULT_SOURCE=1 -Wall
# That was fine for a recent Ubuntu and Raspbian Jessie.
# However, Raspbian wheezy was then missing declaration for strsep and definition of fd_set.
CFLAGS += -D_BSD_SOURCE
-LDFLAGS += -lm -lpthread -lrt
+LDFLAGS += -lm -lpthread -lrt -L${LOCALBASE}/lib
@@ -95,7 +95,7 @@ LDFLAGS += -lm -lpthread -lrt
# If the compiler is generating code for the i386 target, we can
# get much better results by telling it we have at least a Pentium 3.
-arch := $(shell echo | gcc -E -dM - | grep __i386__)
+arch := $(shell echo | ${CC} -E -dM - | grep __i386__)
ifneq ($(arch),)
CFLAGS += -march=pentium3
endif
@@ -152,7 +152,7 @@ endif
#
-useffast := $(shell gcc --help -v 2>/dev/null | grep ffast-math)
+useffast := $(shell ${CC} --help -v 2>/dev/null | grep ffast-math)
ifneq ($(useffast),)
CFLAGS += -ffast-math
endif
@@ -215,7 +215,7 @@ endif
# and the compiler target defaults.
#
-neon := $(shell cat /proc/cpuinfo | grep neon)
+#neon := $(shell cat /proc/cpuinfo | grep neon)
ifneq ($(neon),)
CFLAGS += -mfpu=neon
endif
@@ -257,7 +257,7 @@ endif
# ALSA (for Linux), comment out (or remove) the line below.
# TODO: Can we automate this somehow?
-alsa = 1
+#alsa = 1
ifeq ($(wildcard /usr/include/pthread.h),)
$(error /usr/include/pthread.h does not exist. Install it with "sudo apt-get install libc6-dev" or "sudo yum install glibc-headers" )
@@ -266,8 +266,8 @@ endif
ifneq ($(alsa),)
CFLAGS += -DUSE_ALSA
LDFLAGS += -lasound
-ifeq ($(wildcard /usr/include/alsa/asoundlib.h),)
-$(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" )
+ifeq ($(wildcard ${LOCALBASE}/include/alsa/asoundlib.h),)
+$(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" )
endif
endif
@@ -276,20 +276,20 @@ endif
# Finding libgps.so* is more difficult because it
# is in different places on different operating systems.
-enable_gpsd := $(wildcard /usr/include/gps.h)
-ifneq ($(enable_gpsd),)
+#enable_gpsd := $(wildcard ${LOCALBASE}/include/gps.h)
+#ifneq ($(enable_gpsd),)
CFLAGS += -DENABLE_GPSD
LDFLAGS += -lgps
-endif
+#endif
# Enable hamlib support if header file is present.
-enable_hamlib := $(wildcard /usr/include/hamlib/rig.h /usr/local/include/hamlib/rig.h)
-ifneq ($(enable_hamlib),)
+#enable_hamlib := $(wildcard ${LOCALBASE}/include/hamlib/rig.h /usr/local/include/hamlib/rig.h)
+#ifneq ($(enable_hamlib),)
CFLAGS += -DUSE_HAMLIB
LDFLAGS += -lhamlib
-endif
+#endif
# Should enabling of this feature be strongly encouraged or
@@ -297,18 +297,18 @@ endif
# If, for some reason, can obtain the libudev-dev package, or
# don't want to install it, comment out the next 3 lines.
-#ifeq ($(wildcard /usr/include/libudev.h),)
-#$(error /usr/include/libudev.h does not exist. Install it with "sudo apt-get install libudev-dev" or "sudo yum install libudev-devel" )
+#ifeq ($(wildcard ${LOCALBASE}/include/libudev.h),)
+#$(error ${LOCALBASE}/include/libudev.h does not exist. Install it with "sudo apt-get install libudev-dev" or "sudo yum install libudev-devel" )
#endif
# Enable cm108 PTT support if libudev header file is present.
-enable_cm108 := $(wildcard /usr/include/libudev.h)
-ifneq ($(enable_cm108),)
-CFLAGS += -DUSE_CM108
-LDFLAGS += -ludev
-endif
+#enable_cm108 := $(wildcard ${LOCALBASE}/include/libudev.h)
+#ifneq ($(enable_cm108),)
+#CFLAGS += -DUSE_CM108
+#LDFLAGS += -ludev
+#endif
# Name of current directory.
@@ -333,20 +333,20 @@ direwolf : direwolf.o config.o recv.o de
misc.a geotranz.a
$(CC) -o $@ $^ $(LDFLAGS)
@echo " "
-ifneq ($(enable_gpsd),)
- @echo "\t>\tThis includes support for gpsd."
-else
- @echo "\t>\tThis does NOT include support for gpsd."
-endif
-ifneq ($(enable_hamlib),)
- @echo "\t>\tThis includes support for hamlib."
-else
- @echo "\t>\tThis does NOT include support for hamlib."
-endif
+#ifneq ($(enable_gpsd),)
+ @echo " > This includes support for gpsd."
+#else
+# @echo "\t>\tThis does NOT include support for gpsd."
+#endif
+#ifneq ($(enable_hamlib),)
+ @echo " > This includes support for hamlib."
+#else
+# @echo "\t>\tThis does NOT include support for hamlib."
+#endif
ifneq ($(enable_cm108),)
- @echo "\t>\tThis includes support for CM108/CM119 PTT."
+ @echo " > This includes support for CM108/CM119 PTT."
else
- @echo "\t>\tThis does NOT include support for CM108/CM119 PTT."
+ @echo " > This does NOT include support for CM108/CM119 PTT."
endif
@echo " "
@@ -535,12 +535,17 @@ direwolf.conf : generic.conf
# Something built from source and installed locally would normally go in /usr/local/...
# If not specified on the make command line, this is our default.
-DESTDIR ?= /usr/local
+INSTALLDIR ?= ${PREFIX}
+SHAREDIR ?= ${INSTALLDIR}/share
+DATADIR ?= ${SHAREDIR}/direwolf
+DOCSDIR ?= ${SHAREDIR}/doc/direwolf
+EXAMPLESDIR ?= ${SHAREDIR}/examples/direwolf
+MANDIR ?= ${INSTALLDIR}/man
# However, if you are preparing a "binary" DEB or RPM package, the installation location
# would normally be /usr/... instead. In this case, use a command line like this:
#
-# make DESTDIR=/usr install
+# make INSTALLDIR=/usr install
@@ -560,22 +565,22 @@ direwolf.desktop :
@echo '[Desktop Entry]' > $@
@echo 'Type=Application' >> $@
ifneq ($(wildcard /usr/bin/lxterminal),)
- @echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(DESTDIR)/bin/direwolf\"" >> $@
+ @echo "Exec=lxterminal -t \"Dire Wolf\" -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
else ifneq ($(wildcard /usr/bin/lxterm),)
- @echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"" >> $@
+ @echo "Exec=lxterm -hold -title \"Dire Wolf\" -bg white -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
else
- @echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"" >> $@
+ @echo "Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(INSTALLDIR)/bin/direwolf\"" >> $@
endif
@echo 'Name=Dire Wolf' >> $@
@echo 'Comment=APRS Soundcard TNC' >> $@
- @echo 'Icon=$(DESTDIR)/share/direwolf/pixmaps/dw-icon.png' >> $@
- @echo "Path=$(HOME)" >> $@
+ @echo 'Icon=$(DATADIR)/pixmaps/dw-icon.png' >> $@
+# @echo "Path=$(HOME)" >> $@
@echo '#Terminal=true' >> $@
@echo 'Categories=HamRadio' >> $@
@echo 'Keywords=Ham Radio;APRS;Soundcard TNC;KISS;AGWPE;AX.25' >> $@
-# Installation into $(DESTDIR), usually /usr/local/... or /usr/...
+# Installation into $(DESTDIR)$(INSTALLDIR), usually /usr/local/... or /usr/...
# Needs to be run as root or with sudo.
@@ -585,102 +590,107 @@ install : $(APPS) direwolf.conf tocalls.
# Applications, not installed with package manager, normally go in /usr/local/bin.
# /usr/bin is used instead when installing from .DEB or .RPM package.
#
- $(INSTALL) -D --mode=755 direwolf $(DESTDIR)/bin/direwolf
- $(INSTALL) -D --mode=755 decode_aprs $(DESTDIR)/bin/decode_aprs
- $(INSTALL) -D --mode=755 text2tt $(DESTDIR)/bin/text2tt
- $(INSTALL) -D --mode=755 tt2text $(DESTDIR)/bin/tt2text
- $(INSTALL) -D --mode=755 ll2utm $(DESTDIR)/bin/ll2utm
- $(INSTALL) -D --mode=755 utm2ll $(DESTDIR)/bin/utm2ll
- $(INSTALL) -D --mode=755 aclients $(DESTDIR)/bin/aclients
- $(INSTALL) -D --mode=755 log2gpx $(DESTDIR)/bin/log2gpx
- $(INSTALL) -D --mode=755 gen_packets $(DESTDIR)/bin/gen_packets
- $(INSTALL) -D --mode=755 atest $(DESTDIR)/bin/atest
- $(INSTALL) -D --mode=755 ttcalc $(DESTDIR)/bin/ttcalc
- $(INSTALL) -D --mode=755 kissutil $(DESTDIR)/bin/kissutil
- $(INSTALL) -D --mode=755 cm108 $(DESTDIR)/bin/cm108
- $(INSTALL) -D --mode=755 dwespeak.sh $(DESTDIR)/bin/dwspeak.sh
+ $(BSD_INSTALL_PROGRAM) direwolf $(DESTDIR)$(INSTALLDIR)/bin/direwolf
+ $(BSD_INSTALL_PROGRAM) decode_aprs $(DESTDIR)$(INSTALLDIR)/bin/decode_aprs
+ $(BSD_INSTALL_PROGRAM) text2tt $(DESTDIR)$(INSTALLDIR)/bin/text2tt
+ $(BSD_INSTALL_PROGRAM) tt2text $(DESTDIR)$(INSTALLDIR)/bin/tt2text
+ $(BSD_INSTALL_PROGRAM) ll2utm $(DESTDIR)$(INSTALLDIR)/bin/ll2utm
+ $(BSD_INSTALL_PROGRAM) utm2ll $(DESTDIR)$(INSTALLDIR)/bin/utm2ll
+ $(BSD_INSTALL_PROGRAM) aclients $(DESTDIR)$(INSTALLDIR)/bin/aclients
+ $(BSD_INSTALL_PROGRAM) log2gpx $(DESTDIR)$(INSTALLDIR)/bin/log2gpx
+ $(BSD_INSTALL_PROGRAM) gen_packets $(DESTDIR)$(INSTALLDIR)/bin/gen_packets
+ $(BSD_INSTALL_PROGRAM) atest $(DESTDIR)$(INSTALLDIR)/bin/atest
+ $(BSD_INSTALL_PROGRAM) ttcalc $(DESTDIR)$(INSTALLDIR)/bin/ttcalc
+ $(BSD_INSTALL_PROGRAM) kissutil $(DESTDIR)$(INSTALLDIR)/bin/kissutil
+ $(BSD_INSTALL_PROGRAM) cm108 $(DESTDIR)$(INSTALLDIR)/bin/cm108
+ $(BSD_INSTALL_SCRIPT) dwespeak.sh $(DESTDIR)$(INSTALLDIR)/bin/dwspeak.sh
#
# Telemetry Toolkit executables. Other .conf and .txt files will go into doc directory.
#
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-balloon.pl $(DESTDIR)/bin/telem-balloon.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-bits.pl $(DESTDIR)/bin/telem-bits.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-data.pl $(DESTDIR)/bin/telem-data.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-data91.pl $(DESTDIR)/bin/telem-data91.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-eqns.pl $(DESTDIR)/bin/telem-eqns.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-parm.pl $(DESTDIR)/bin/telem-parm.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-seq.sh $(DESTDIR)/bin/telem-seq.sh
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-unit.pl $(DESTDIR)/bin/telem-unit.pl
- $(INSTALL) -D --mode=755 telemetry-toolkit/telem-volts.py $(DESTDIR)/bin/telem-volts.py
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-balloon.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-balloon.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-bits.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-bits.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-data.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-data91.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-data91.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-eqns.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-eqns.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-parm.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-parm.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-seq.sh $(DESTDIR)$(INSTALLDIR)/bin/telem-seq.sh
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-unit.pl $(DESTDIR)$(INSTALLDIR)/bin/telem-unit.pl
+ $(BSD_INSTALL_SCRIPT) telemetry-toolkit/telem-volts.py $(DESTDIR)$(INSTALLDIR)/bin/telem-volts.py
#
# Misc. data such as "tocall" to system mapping.
#
- $(INSTALL) -D --mode=644 tocalls.txt $(DESTDIR)/share/direwolf/tocalls.txt
- $(INSTALL) -D --mode=644 symbols-new.txt $(DESTDIR)/share/direwolf/symbols-new.txt
- $(INSTALL) -D --mode=644 symbolsX.txt $(DESTDIR)/share/direwolf/symbolsX.txt
+ mkdir -p $(DESTDIR)${DATADIR}
+ $(BSD_INSTALL_DATA) tocalls.txt $(DESTDIR)$(DATADIR)/tocalls.txt
+ $(BSD_INSTALL_DATA) symbols-new.txt $(DESTDIR)$(DATADIR)/symbols-new.txt
+ $(BSD_INSTALL_DATA) symbolsX.txt $(DESTDIR)$(DATADIR)/symbolsX.txt
#
# For desktop icon.
#
- $(INSTALL) -D --mode=644 dw-icon.png $(DESTDIR)/share/direwolf/pixmaps/dw-icon.png
- $(INSTALL) -D --mode=644 direwolf.desktop $(DESTDIR)/share/applications/direwolf.desktop
+ mkdir -p $(DESTDIR)${DATADIR}/pixmaps
+ mkdir -p $(DESTDIR)${SHAREDIR}/applications
+ $(BSD_INSTALL_DATA) dw-icon.png $(DESTDIR)$(DATADIR)/pixmaps/dw-icon.png
+ $(BSD_INSTALL_DATA) direwolf.desktop $(DESTDIR)$(SHAREDIR)/applications/direwolf.desktop
#
# Documentation. Various plain text files and PDF.
#
- $(INSTALL) -D --mode=644 CHANGES.md $(DESTDIR)/share/doc/direwolf/CHANGES.md
- $(INSTALL) -D --mode=644 LICENSE-dire-wolf.txt $(DESTDIR)/share/doc/direwolf/LICENSE-dire-wolf.txt
- $(INSTALL) -D --mode=644 LICENSE-other.txt $(DESTDIR)/share/doc/direwolf/LICENSE-other.txt
+ $(BSD_INSTALL_DATA) CHANGES.md $(DESTDIR)$(DATADIR)/CHANGES.md
+ $(BSD_INSTALL_DATA) LICENSE-dire-wolf.txt $(DESTDIR)$(DATADIR)/LICENSE-dire-wolf.txt
+ $(BSD_INSTALL_DATA) LICENSE-other.txt $(DESTDIR)$(DATADIR)/LICENSE-other.txt
#
# ./README.md is an overview for the project main page.
# Maybe we could stick it in some other place.
# doc/README.md contains an overview of the PDF file contents and is more useful here.
#
- $(INSTALL) -D --mode=644 doc/README.md $(DESTDIR)/share/doc/direwolf/README.md
- $(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
- $(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
- $(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
- $(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
- $(INSTALL) -D --mode=644 doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)/share/doc/direwolf/APRS-Telemetry-Toolkit.pdf
- $(INSTALL) -D --mode=644 doc/APRStt-Implementation-Notes.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Implementation-Notes.pdf
- $(INSTALL) -D --mode=644 doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)/share/doc/direwolf/APRStt-interface-for-SARTrack.pdf
- $(INSTALL) -D --mode=644 doc/APRStt-Listening-Example.pdf $(DESTDIR)/share/doc/direwolf/APRStt-Listening-Example.pdf
- $(INSTALL) -D --mode=644 doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)/share/doc/direwolf/Bluetooth-KISS-TNC.pdf
- $(INSTALL) -D --mode=644 doc/Going-beyond-9600-baud.pdf $(DESTDIR)/share/doc/direwolf/Going-beyond-9600-baud.pdf
- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS.pdf
- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-APRS-Tracker.pdf
- $(INSTALL) -D --mode=644 doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)/share/doc/direwolf/Raspberry-Pi-SDR-IGate.pdf
- $(INSTALL) -D --mode=644 doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)/share/doc/direwolf/Successful-APRS-IGate-Operation.pdf
- $(INSTALL) -D --mode=644 doc/User-Guide.pdf $(DESTDIR)/share/doc/direwolf/User-Guide.pdf
- $(INSTALL) -D --mode=644 doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)/share/doc/direwolf/WA8LMF-TNC-Test-CD-Results.pdf
+ mkdir -p $(DESTDIR)${DOCSDIR}
+ $(BSD_INSTALL_DATA) doc/README.md $(DESTDIR)$(DOCSDIR)/README.md
+ $(BSD_INSTALL_DATA) doc/2400-4800-PSK-for-APRS-Packet-Radio.pdf $(DESTDIR)$(DOCSDIR)/2400-4800-PSK-for-APRS-Packet-Radio.pdf
+ $(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
+ $(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
+ $(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
+ $(BSD_INSTALL_DATA) doc/APRS-Telemetry-Toolkit.pdf $(DESTDIR)$(DOCSDIR)/APRS-Telemetry-Toolkit.pdf
+ $(BSD_INSTALL_DATA) doc/APRStt-Implementation-Notes.pdf $(DESTDIR)$(DOCSDIR)/APRStt-Implementation-Notes.pdf
+ $(BSD_INSTALL_DATA) doc/APRStt-interface-for-SARTrack.pdf $(DESTDIR)$(DOCSDIR)/APRStt-interface-for-SARTrack.pdf
+ $(BSD_INSTALL_DATA) doc/APRStt-Listening-Example.pdf $(DESTDIR)$(DOCSDIR)/APRStt-Listening-Example.pdf
+ $(BSD_INSTALL_DATA) doc/Bluetooth-KISS-TNC.pdf $(DESTDIR)$(DOCSDIR)/Bluetooth-KISS-TNC.pdf
+ $(BSD_INSTALL_DATA) doc/Going-beyond-9600-baud.pdf $(DESTDIR)$(DOCSDIR)/Going-beyond-9600-baud.pdf
+ $(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-APRS.pdf
+ $(BSD_INSTALL_DATA) doc/Raspberry-Pi-APRS-Tracker.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-APRS-Tracker.pdf
+ $(BSD_INSTALL_DATA) doc/Raspberry-Pi-SDR-IGate.pdf $(DESTDIR)$(DOCSDIR)/Raspberry-Pi-SDR-IGate.pdf
+ $(BSD_INSTALL_DATA) doc/Successful-APRS-IGate-Operation.pdf $(DESTDIR)$(DOCSDIR)/Successful-APRS-IGate-Operation.pdf
+ $(BSD_INSTALL_DATA) doc/User-Guide.pdf $(DESTDIR)$(DOCSDIR)/User-Guide.pdf
+ $(BSD_INSTALL_DATA) doc/WA8LMF-TNC-Test-CD-Results.pdf $(DESTDIR)$(DOCSDIR)/WA8LMF-TNC-Test-CD-Results.pdf
#
# Various sample config and other files go into examples under the doc directory.
# When building from source, these can be put in home directory with "make install-conf".
# When installed from .DEB or .RPM package, the user will need to copy these to
# the home directory or other desired location.
#
- $(INSTALL) -D --mode=644 direwolf.conf $(DESTDIR)/share/doc/direwolf/examples/direwolf.conf
- $(INSTALL) -D --mode=755 dw-start.sh $(DESTDIR)/share/doc/direwolf/examples/dw-start.sh
- $(INSTALL) -D --mode=644 sdr.conf $(DESTDIR)/share/doc/direwolf/examples/sdr.conf
- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)/share/doc/direwolf/examples/telem-m0xer-3.txt
- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-balloon.conf $(DESTDIR)/share/doc/direwolf/examples/telem-balloon.conf
- $(INSTALL) -D --mode=644 telemetry-toolkit/telem-volts.conf $(DESTDIR)/share/doc/direwolf/examples/telem-volts.conf
+ mkdir -p $(DESTDIR)${EXAMPLESDIR}
+ $(BSD_INSTALL_DATA) direwolf.conf $(DESTDIR)$(EXAMPLESDIR)/direwolf.conf
+ $(BSD_INSTALL_SCRIPT) dw-start.sh $(DESTDIR)$(EXAMPLESDIR)/dw-start.sh
+ $(BSD_INSTALL_DATA) sdr.conf $(DESTDIR)$(EXAMPLESDIR)/sdr.conf
+ $(BSD_INSTALL_DATA) telemetry-toolkit/telem-m0xer-3.txt $(DESTDIR)$(EXAMPLESDIR)/telem-m0xer-3.txt
+ $(BSD_INSTALL_DATA) telemetry-toolkit/telem-balloon.conf $(DESTDIR)$(EXAMPLESDIR)/telem-balloon.conf
+ $(BSD_INSTALL_DATA) telemetry-toolkit/telem-volts.conf $(DESTDIR)$(EXAMPLESDIR)/telem-volts.conf
#
# "man" pages
#
- $(INSTALL) -D --mode=644 man1/aclients.1 $(DESTDIR)/share/man/man1/aclients.1
- $(INSTALL) -D --mode=644 man1/atest.1 $(DESTDIR)/share/man/man1/atest.1
- $(INSTALL) -D --mode=644 man1/decode_aprs.1 $(DESTDIR)/share/man/man1/decode_aprs.1
- $(INSTALL) -D --mode=644 man1/direwolf.1 $(DESTDIR)/share/man/man1/direwolf.1
- $(INSTALL) -D --mode=644 man1/gen_packets.1 $(DESTDIR)/share/man/man1/gen_packets.1
- $(INSTALL) -D --mode=644 man1/kissutil.1 $(DESTDIR)/share/man/man1/kissutil.1
- $(INSTALL) -D --mode=644 man1/ll2utm.1 $(DESTDIR)/share/man/man1/ll2utm.1
- $(INSTALL) -D --mode=644 man1/log2gpx.1 $(DESTDIR)/share/man/man1/log2gpx.1
- $(INSTALL) -D --mode=644 man1/text2tt.1 $(DESTDIR)/share/man/man1/text2tt.1
- $(INSTALL) -D --mode=644 man1/tt2text.1 $(DESTDIR)/share/man/man1/tt2text.1
- $(INSTALL) -D --mode=644 man1/utm2ll.1 $(DESTDIR)/share/man/man1/utm2ll.1
+ $(BSD_INSTALL_MAN) man1/aclients.1 $(DESTDIR)$(MANDIR)/man1/aclients.1
+ $(BSD_INSTALL_MAN) man1/atest.1 $(DESTDIR)$(MANDIR)/man1/atest.1
+ $(BSD_INSTALL_MAN) man1/decode_aprs.1 $(DESTDIR)$(MANDIR)/man1/decode_aprs.1
+ $(BSD_INSTALL_MAN) man1/direwolf.1 $(DESTDIR)$(MANDIR)/man1/direwolf.1
+ $(BSD_INSTALL_MAN) man1/gen_packets.1 $(DESTDIR)$(MANDIR)/man1/gen_packets.1
+ $(BSD_INSTALL_MAN) man1/kissutil.1 $(DESTDIR)$(MANDIR)/man1/kissutil.1
+ $(BSD_INSTALL_MAN) man1/ll2utm.1 $(DESTDIR)$(MANDIR)/man1/ll2utm.1
+ $(BSD_INSTALL_MAN) man1/log2gpx.1 $(DESTDIR)$(MANDIR)//man1/log2gpx.1
+ $(BSD_INSTALL_MAN) man1/text2tt.1 $(DESTDIR)$(MANDIR)/man1/text2tt.1
+ $(BSD_INSTALL_MAN) man1/tt2text.1 $(DESTDIR)$(MANDIR)/man1/tt2text.1
+ $(BSD_INSTALL_MAN) man1/utm2ll.1 $(DESTDIR)$(MANDIR)/man1/utm2ll.1
#
# Set group and mode of HID devices corresponding to C-Media USB Audio adapters.
# This will allow us to use the CM108/CM119 GPIO pins for PTT.
#
- $(INSTALL) -D --mode=644 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules
+# $(BSD_INSTALL_DATA) 99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules
#
@echo " "
@echo "If this is your first install, not an upgrade, type this to put a copy"
@@ -693,7 +703,7 @@ install : $(APPS) direwolf.conf tocalls.
# Put sample configuration & startup files in home directory.
# This step would be done as ordinary user.
# Some people like to put the direwolf config file in /etc/ax25.
-# Note that all of these are also in $(DESTDIR)/share/doc/direwolf/examples/.
+# Note that all of these are also in $(DESTDIR)$(INSTALLDIR)/share/doc/direwolf/examples/.
# The Raspberry Pi has ~/Desktop but Ubuntu does not.
@@ -724,7 +734,7 @@ endif
.PHONY: install-rpi
install-rpi :
- ln -f -s $(DESTDIR)/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop
+ ln -f -s $(DESTDIR)$(SHAREDIR)/applications/direwolf.desktop ~/Desktop/direwolf.desktop

View File

@ -1,24 +1,35 @@
--- dw-start.sh.orig 2017-01-20 00:11:50 UTC
--- dw-start.sh.orig 2018-10-08 14:15:21 UTC
+++ dw-start.sh
@@ -83,15 +83,15 @@ DWCMD="direwolf -a 100"
@@ -120,14 +120,14 @@ function GUI {
# Auto adjust the startup for your particular environment: gnome-terminal, xterm, etc.
#
- if [ -x /usr/bin/lxterminal ]; then
- /usr/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
+ if [ -x %%PREFIX%%/bin/lxterminal ]; then
+ %%PREFIX%%/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
SUCCESS=1
- elif [ -x /usr/bin/xterm ]; then
- /usr/bin/xterm -bg white -fg black -e "$DWCMD" &
+ elif [ -x %%PREFIX%%/bin/xterm ]; then
+ %%PREFIX%%/bin/xterm -bg white -fg black -e "$DWCMD" &
SUCCESS=1
- elif [ -x /usr/bin/x-terminal-emulator ]; then
- /usr/bin/x-terminal-emulator -e "$DWCMD" &
+ elif [ -x %%PREFIX%%/bin/x-terminal-emulator ]; then
+ %%PREFIX%%/bin/x-terminal-emulator -e "$DWCMD" &
SUCCESS=1
else
echo "Did not find an X terminal emulator. Reverting to CLI mode"
@@ -142,9 +142,9 @@ function GUI {
# -----------------------------------------------------------
# When running from cron, we have a very minimal environment
-# including PATH=/usr/bin:/bin.
+# including PATH=%%PREFIX%%/bin:/bin.
#
-export PATH=/usr/local/bin:$PATH
+export PATH=%%PREFIX%%/bin:$PATH
-if [ -x /usr/bin/lxterminal ]
+if [ -x %%PREFIX%%/bin/lxterminal ]
then
- /usr/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
-elif [ -x /usr/bin/xterm ]
+ %%PREFIX%%/bin/lxterminal -t "Dire Wolf" -e "$DWCMD" &
+elif [ -x %%PREFIX%%/bin/xterm ]
then
- /usr/bin/xterm -bg white -fg black -e "$DWCMD" &
-elif [ -x /usr/bin/x-terminal-emulator ]
+ %%PREFIX%%/bin/xterm -bg white -fg black -e "$DWCMD" &
+elif [ -x %%PREFIX%%/bin/x-terminal-emulator ]
then
- /usr/bin/x-terminal-emulator -e "$DWCMD" &
+ %%PREFIX%%/bin/x-terminal-emulator -e "$DWCMD" &
else
echo "Did not find an X terminal emulator."
fi
#Log the start of the script run and re-run
date >> $LOGFILE

View File

@ -1,13 +0,0 @@
--- dwgpsd.c.orig 2017-01-20 00:11:50 UTC
+++ dwgpsd.c
@@ -77,8 +77,9 @@ static void * read_gpsd_thread (void *ar
* Information for interface to gpsd daemon.
*/
+#if ENABLE_GPSD
static struct gps_data_t gpsdata;
-
+#endif
/*-------------------------------------------------------------------
*

View File

@ -0,0 +1,11 @@
--- ptt.c.orig 2018-10-08 14:15:21 UTC
+++ ptt.c
@@ -139,7 +139,7 @@
#if __WIN32__
#else
-#include <sys/termios.h>
+#include <termios.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/types.h>

View File

@ -1,9 +1,11 @@
bin/aclients
bin/atest
bin/cm108
bin/decode_aprs
bin/direwolf
bin/dwespeak.sh
bin/dwspeak.sh
bin/gen_packets
bin/kissutil
bin/ll2utm
bin/log2gpx
bin/telem-balloon.pl
@ -24,31 +26,40 @@ man/man1/atest.1.gz
man/man1/decode_aprs.1.gz
man/man1/direwolf.1.gz
man/man1/gen_packets.1.gz
man/man1/kissutil.1.gz
man/man1/ll2utm.1.gz
man/man1/log2gpx.1.gz
man/man1/text2tt.1.gz
man/man1/tt2text.1.gz
man/man1/utm2ll.1.gz
share/applications/direwolf.desktop
%%DATADIR%%/dw-icon.png
%%DATADIR%%/CHANGES.md
%%DATADIR%%/LICENSE-dire-wolf.txt
%%DATADIR%%/LICENSE-other.txt
%%DATADIR%%/symbols-new.txt
%%DATADIR%%/symbolsX.txt
%%DATADIR%%/tocalls.txt
%%DATADIR%%/pixmaps/dw-icon.png
%%PORTDOCS%%%%DOCSDIR%%/2400-4800-PSK-for-APRS-Packet-Radio.pdf
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-1-1200-baud.pdf
%%PORTDOCS%%%%DOCSDIR%%/A-Better-APRS-Packet-Demodulator-Part-2-9600-baud.pdf
%%PORTDOCS%%%%DOCSDIR%%/A-Closer-Look-at-the-WA8LMF-TNC-Test-CD.pdf
%%PORTDOCS%%%%DOCSDIR%%/APRS-Telemetry-Toolkit.pdf
%%PORTDOCS%%%%DOCSDIR%%/APRStt-Implementation-Notes.pdf
%%PORTDOCS%%%%DOCSDIR%%/APRStt-Listening-Example.pdf
%%PORTDOCS%%%%DOCSDIR%%/APRStt-interface-for-SARTrack.pdf
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-dire-wolf.txt
%%PORTDOCS%%%%DOCSDIR%%/LICENSE-other.txt
%%PORTDOCS%%%%DOCSDIR%%/Bluetooth-KISS-TNC.pdf
%%PORTDOCS%%%%DOCSDIR%%/Going-beyond-9600-baud.pdf
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS-Tracker.pdf
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-APRS.pdf
%%PORTDOCS%%%%DOCSDIR%%/Raspberry-Pi-SDR-IGate.pdf
%%PORTDOCS%%%%DOCSDIR%%/Successful-APRS-IGate-Operation.pdf
%%PORTDOCS%%%%DOCSDIR%%/User-Guide.pdf
%%PORTDOCS%%%%DOCSDIR%%/examples/direwolf.conf
%%PORTDOCS%%%%DOCSDIR%%/examples/dw-start.sh
%%PORTDOCS%%%%DOCSDIR%%/examples/sdr.conf
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-balloon.conf
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-m0xer-3.txt
%%PORTDOCS%%%%DOCSDIR%%/examples/telem-volts.conf
%%PORTDOCS%%%%DOCSDIR%%/WA8LMF-TNC-Test-CD-Results.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/direwolf.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dw-start.sh
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sdr.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-balloon.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-m0xer-3.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/telem-volts.conf