You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.9 KiB
122 lines
2.9 KiB
PREFIX = $$HOME |
|
SRCPD = 2.1.5 |
|
DO = cd $(PREFIX) && |
|
|
|
define srcpd_conf |
|
<?xml version="1.0"?> |
|
<srcpd version="2.0"> |
|
<bus number="0"> |
|
<server> |
|
<tcp-port>4303</tcp-port> |
|
<pid-file>/var/run/srcpd.pid</pid-file> |
|
<username>nobody</username> |
|
<groupname>nogroup</groupname> |
|
</server> |
|
<verbosity>3</verbosity> |
|
</bus> |
|
<bus number="1"> |
|
<ddl> |
|
<enable_nmradcc>yes</enable_nmradcc> |
|
<enable_maerklin>no</enable_maerklin> |
|
<enable_usleep_patch>yes</enable_usleep_patch> |
|
</ddl> |
|
<use_watchdog>no</use_watchdog> |
|
<verbosity>3</verbosity> |
|
<auto_power_on>yes</auto_power_on> |
|
<device>/dev/serial0</device> |
|
</bus> |
|
</srcpd> |
|
endef |
|
|
|
export srcpd_conf |
|
|
|
default: start_all |
|
|
|
clean: |
|
$(DO) rm -r srcpd* |
|
|
|
install_all: install_s88 install_w4r install_srcpd |
|
|
|
install_srcpd: update_apt |
|
@echo |
|
@echo Installiere SRCPD... |
|
@echo |
|
sudo apt-get install -y automake libxml2-dev screen |
|
-$(DO) wget https://sourceforge.net/projects/srcpd/files/srcpd/$(SRCPD)/srcpd-$(SRCPD).tar.gz/download -O srcpd.tgz -nc |
|
$(DO) tar xfz srcpd.tgz |
|
$(DO) cd srcpd-?.?.? && ./configure && make && sudo make install |
|
sudo mv /usr/local/etc/srcpd.conf /usr/local/etc/srcpd.conf.bak-$$(date +%s) |
|
@echo "$$srcpd_conf" | sudo tee /usr/local/etc/srcpd.conf |
|
sudo sed -ie "s|nobody|$$USER|g;s|nogroup|$$USER|g" /usr/local/etc/srcpd.conf |
|
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak-$$(date +%s) |
|
sudo sed -i /boot/cmdline.txt -e "s| console=[^ ]*||g" |
|
@echo |
|
@echo Starte in 60 Sekunden neu. Danach kann die Software mit den folgenden Befehlen gestartet werden: |
|
@echo |
|
@echo make |
|
@echo |
|
@echo oder |
|
@echo |
|
@echo make start_srcpd |
|
@echo |
|
@echo Drücken Sie Strg + C, um den Neustart abzubrechen |
|
@echo |
|
sleep 60 |
|
sudo reboot |
|
|
|
install_s88: update_apt |
|
@echo |
|
@echo Installiere S88 proxy... |
|
@echo |
|
sudo apt-get install -y git screen |
|
-$(DO) git clone -b S88 https://github.com/StephanRichter/model-rail-control |
|
|
|
install_w4r: update_apt |
|
@echo |
|
@echo Installiere Web4Rail... |
|
@echo |
|
sudo apt-get install -y git maven openjdk-11-jdk-headless screen |
|
-$(DO) git clone https://github.com/srsoftware-de/Web4Rail |
|
$(DO) cd Web4Rail && mvn clean install |
|
|
|
start_all: start_srcpd start_s88 start_w4r |
|
|
|
start_srcpd: |
|
-sudo killall hciattach # kill serial console |
|
screen -dmS SRCPD sudo /usr/local/sbin/srcpd -n |
|
sleep 7 |
|
@echo Um sich mit diesem Prozess zu verbinden, führen Sie |
|
@echo |
|
@echo screen -R SRCPD |
|
@echo |
|
@echo aus. |
|
|
|
|
|
start_s88: |
|
$(DO) cd model-rail-control/src && screen -dmS S88 ./sensor-proxy.py |
|
@echo Um sich mit diesem Prozess zu verbinden, führen Sie |
|
@echo |
|
@echo screen -R S88 |
|
@echo |
|
@echo aus. |
|
|
|
start_w4r: |
|
$(DO) cd Web4Rail && screen -dmS Web4Rail mvn exec:java |
|
@echo Um sich mit diesem Prozess zu verbinden, führen Sie |
|
@echo |
|
@echo screen -R Web4Rail |
|
@echo |
|
@echo aus. |
|
|
|
stop: |
|
killall screen |
|
|
|
|
|
update_apt: |
|
sudo apt update -y |
|
|
|
update: update_apt update_w4r |
|
|
|
update_w4r: |
|
cd Web4Rail && git pull && mvn clean install |
|
|
|
|