MMDVMHost-Private/Makefile.Pi.OLED

75 lines
3.3 KiB
Makefile
Raw Normal View History

# This makefile is for use with the Raspberry Pi when using an OLED display. The wiringpi library is needed.
2016-05-06 23:03:39 +00:00
CC = gcc
CXX = g++
2020-06-29 10:25:10 +00:00
# Use the following CFLAGS and LIBS if you don't want to use gpsd.
2016-06-06 18:26:47 +00:00
CFLAGS = -g -O3 -Wall -std=c++0x -pthread -DOLED -I/usr/local/include
2020-07-27 09:58:32 +00:00
LIBS = -lArduiPi_OLED -lwiringPi -lpthread -lutil -lsamplerate
2020-06-29 10:25:10 +00:00
# Use the following CFLAGS and LIBS if you do want to use gpsd.
#CFLAGS = -g -O3 -Wall -DUSE_GPS -std=c++0x -pthread -DOLED -I/usr/local/include
2020-07-27 09:58:32 +00:00
#LIBS = -lArduiPi_OLED -lwiringPi -lpthread -lgps -lutil -lsamplerate
2020-06-29 10:25:10 +00:00
2016-05-06 23:03:39 +00:00
LDFLAGS = -g -L/usr/local/lib
2020-06-29 11:11:01 +00:00
OBJECTS = AMBEFEC.o AX25Control.o AX25Network.o BCH.o BPTC19696.o CASTInfo.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o \
DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o \
DMRAccessControl.o DMRTA.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o FMControl.o FMNetwork.o \
Golay2087.o Golay24128.o GPSD.o Hamming.o I2CController.o IIRDirectForm1Filter.o OLED.o LCDproc.o Log.o MMDVMHost.o Modem.o \
ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NullModem.o NXDNAudio.o NXDNControl.o NXDNConvolution.o \
NXDNCRC.o NXDNFACCH1.o NXDNLayer3.o NXDNIcomNetwork.o NXDNKenwoodNetwork.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o NXDNSACCH.o \
NXDNUDCH.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o \
PseudoTTYController.o POCSAGControl.o POCSAGNetwork.o QR1676.o RemoteControl.o RS129.o RS241213.o RSSIInterpolator.o \
2020-06-30 11:35:03 +00:00
SerialController.o SerialModem.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o TFTSurenoo.o Thread.o Timer.o UDPSocket.o \
UMP.o UserDB.o UserDBentry.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
2016-05-06 23:03:39 +00:00
all: MMDVMHost RemoteCommand
2016-05-06 23:03:39 +00:00
2017-03-10 10:00:31 +00:00
MMDVMHost: GitVersion.h $(OBJECTS)
2016-05-06 23:03:39 +00:00
$(CXX) $(OBJECTS) $(CFLAGS) $(LIBS) -o MMDVMHost
2019-01-08 15:17:37 +00:00
RemoteCommand: Log.o RemoteCommand.o UDPSocket.o
$(CXX) Log.o RemoteCommand.o UDPSocket.o $(CFLAGS) $(LIBS) -o RemoteCommand
2016-05-06 23:03:39 +00:00
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<
2020-07-20 06:36:22 +00:00
.PHONY install:
install: all
install -m 755 MMDVMHost /usr/local/bin/
install -m 755 RemoteCommand /usr/local/bin/
2020-07-20 06:36:22 +00:00
.PHONY install-service:
install-service: install /etc/MMDVM.ini
@useradd --user-group -M --system mmdvm --shell /bin/false || true
@usermod --groups dialout --append mmdvm || true
@mkdir /var/log/mmdvm || true
@chown mmdvm:mmdvm /var/log/mmdvm
@cp ./linux/systemd/mmdvmhost.service /lib/systemd/system/
@systemctl enable mmdvmhost.service
/etc/MMDVM.ini:
@cp -n MMDVM.ini /etc/MMDVM.ini
@sed -i 's/FilePath=./FilePath=\/var\/log\/mmdvm\//' /etc/MMDVM.ini
@sed -i 's/Daemon=0/Daemon=1/' /etc/MMDVM.ini
@chown mmdvm:mmdvm /etc/MMDVM.ini
.PHONY uninstall-service:
uninstall-service:
@systemctl stop mmdvmhost.service || true
@systemctl disable mmdvmhost.service || true
@rm -f /usr/local/bin/MMDVMHost || true
@rm -f /lib/systemd/system/mmdvmhost.service || true
2016-05-06 23:03:39 +00:00
clean:
$(RM) MMDVMHost RemoteCommand *.o *.d *.bak *~ GitVersion.h
2017-03-09 20:55:41 +00:00
# Export the current git version if the index file exists, else 000...
2017-03-10 10:00:31 +00:00
GitVersion.h:
2017-03-09 20:55:41 +00:00
ifneq ("$(wildcard .git/index)","")
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > $@
else
echo "const char *gitversion = \"0000000000000000000000000000000000000000\";" > $@
endif