--- Makefile.linux 2014-04-13 22:13:06.000000000 -0500 +++ Makefile.linux.fixed 2014-07-22 22:39:30.875648118 -0500 @@ -4,8 +4,26 @@ all : direwolf decode_aprs text2tt tt2text ll2utm utm2ll aclients -CC = gcc +CC ?= gcc +INSTALL ?= sudo install +INSTALL_PROGRAM = $(INSTALL) -m 755 +INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_DIR = $(INSTALL) -d + +prefix ?= /usr/local +exec_prefix = $(prefix) +bindir ?= $(exec_prefix)/bin +docdir ?= $(prefix)/share/doc/direwolf +datadir ?= $(prefix)/share/direwolf +appdir ?= /usr/share/applications +sysconfdir ?= ~ +LINK_IN_HOME ?= yes +ifeq ($(LINK_IN_HOME),yes) + HOME_DESKTOP = ln -f -s /usr/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop +else + HOME_DESKTOP = +endif # # The DSP filters can be sped up considerably with the SSE # instructions. The SSE instructions were introduced in 1999 @@ -78,12 +96,14 @@ # cause compatibility issues for those with older computers. # -arch := $(shell echo | gcc -E -dM - | grep __i386__) +arch ?= $(shell echo | gcc -E -dM - | grep __i386__) +ifndef CFLAGS ifneq ($(arch),) -CFLAGS := -DUSE_ALSA -O3 -march=pentium3 -pthread + CFLAGS := -DUSE_ALSA -O3 -march=pentium3 -pthread else -CFLAGS := -DUSE_ALSA -O3 -pthread + CFLAGS := -DUSE_ALSA -O3 -pthread +endif endif @@ -131,37 +151,40 @@ LatLong-UTMconversion.o : utm/LatLong-UTMconversion.c $(CC) $(CFLAGS) -c -o $@ $^ - # Optional install step. # TODO: Review file locations. # TODO: Handle Linux variations correctly. # The Raspberry Pi has ~/Desktop but Ubuntu does not. # For now, just put reference to it at the end so only last step fails. -install : direwolf decode_aprs tocalls.txt symbols-new.txt symbolsX.txt dw-icon.png direwolf.desktop - sudo install direwolf /usr/local/bin - sudo install decode_aprs /usr/local/bin - sudo install text2tt /usr/local/bin - sudo install tt2text /usr/local/bin - sudo install ll2utm /usr/local/bin - sudo install utm2ll /usr/local/bin - sudo install aclients /usr/local/bin - sudo install -D --mode=644 tocalls.txt /usr/share/direwolf/tocalls.txt - sudo install -D --mode=644 symbols-new.txt /usr/share/direwolf/symbols-new.txt - sudo install -D --mode=644 symbolsX.txt /usr/share/direwolf/symbolsX.txt - sudo install -D --mode=644 dw-icon.png /usr/share/direwolf/dw-icon.png - sudo install -D --mode=644 direwolf.desktop /usr/share/applications/direwolf.desktop - cp direwolf.conf ~ - cp dw-start.sh ~ - sudo install -D --mode=644 CHANGES.txt /usr/local/share/doc/direwolf/CHANGES.txt - sudo install -D --mode=644 LICENSE-dire-wolf.txt /usr/local/share/doc/direwolf/LICENSE-dire-wolf.txt - sudo install -D --mode=644 LICENSE-other.txt /usr/local/share/doc/direwolf/LICENSE-other.txt - sudo install -D --mode=644 User-Guide.pdf /usr/local/share/doc/direwolf/User-Guide.pdf - sudo install -D --mode=644 Raspberry-Pi-APRS.pdf /usr/local/share/doc/direwolf/Raspberry-Pi-APRS.pdf - sudo install -D --mode=644 APRStt-Implementation-Notes.pdf /usr/local/share/doc/direwolf/APRStt-Implementation-Notes.pdf - sudo install -D --mode=644 Quick-Start-Guide-Windows.pdf /usr/local/share/doc/direwolf/Quick-Start-Guide-Windows.pdf - ln -f -s /usr/share/applications/direwolf.desktop ~/Desktop/direwolf.desktop - +install : direwolf decode_aprs tocalls.txt symbols-new.txt symbolsX.txt dw-icon.png direwolf.desktop + $(INSTALL_DIR) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) direwolf $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) decode_aprs $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) text2tt $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) tt2text $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) ll2utm $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) utm2ll $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) aclients $(DESTDIR)$(bindir)/ + $(INSTALL_DIR) $(DESTDIR)$(datadir) + $(INSTALL_DATA) tocalls.txt $(DESTDIR)$(datadir)/ + $(INSTALL_DATA) symbols-new.txt $(DESTDIR)$(datadir)/ + $(INSTALL_DATA) symbolsX.txt $(DESTDIR)$(datadir)/ + $(INSTALL_DATA) dw-icon.png $(DESTDIR)$(datadir)/ + $(INSTALL_DIR) $(DESTDIR)$(appdir) + $(INSTALL_DATA) direwolf.desktop $(DESTDIR)$(appdir)/ + $(INSTALL_DIR) $(DESTDIR)$(sysconfdir) + $(INSTALL_DATA) direwolf.conf $(DESTDIR)$(sysconfdir)/ + $(INSTALL_DATA) dw-start.sh $(DESTDIR)$(sysconfdir)/ + $(INSTALL_DIR) $(DESTDIR)$(docdir) + $(INSTALL_DATA) CHANGES.txt $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) LICENSE-dire-wolf.txt $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) LICENSE-other.txt $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) User-Guide.pdf $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) Raspberry-Pi-APRS.pdf $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) APRStt-Implementation-Notes.pdf $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) Quick-Start-Guide-Windows.pdf $(DESTDIR)$(docdir)/ + $(HOME_DESKTOP) # Separate application to decode raw data.