C ++ makefile install:在引导和重新启动时启动程序
C++ makefile install: start program at boot and reboot
我无法理解 C++ 联编文件。 makefile 使程序能够在重新启动时启动。我想要的是它在启动和重新启动时启用程序启动。我还想添加主机名(因为这是程序需要的参数)。
我尝试了什么:
- 将 $(shell 主机名) 添加到 PROGN
- 在@test -s reboot
中将 $(shell hostname) 添加到行:cp /etc/...
但是因为我无法理解这些行,所以它只是猜测..
安装 makefile 的一部分:
PROGN=myProgram
setup:
@install -m 755 -d \
$(DESTDIR)/usr/bin \
$(DESTDIR)/etc/$(PROGN)/samples \
$(DESTDIR)/etc/udev/rules.d
@cp bin/$(PROGN) $(DESTDIR)/usr/bin
@cp sample_profiles/* $(DESTDIR)/etc/$(PROGN)/samples
@cp udev/$(PROGN).rules $(DESTDIR)/etc/udev/rules.d
@test -s /usr/bin/systemd-run && \
install -m 755 -d $(DESTDIR)$(SYSTEMDDIR)/system && \
cp systemd/$(PROGN)-reboot.service $(DESTDIR)$(SYSTEMDDIR)/system
install: setup
@test -s /etc/$(PROGN)/profile || \
cp /etc/$(PROGN)/samples/group_keys /etc/$(PROGN)/profile
@test -s /etc/$(PROGN)/reboot || \
cp /etc/$(PROGN)/samples/all_off /etc/$(PROGN)/reboot
@udevadm control --reload-rules
@test -s /usr/bin/systemd-run && \
systemctl daemon-reload && \
systemctl enable $(PROGN)-reboot
我 "solved" 通过删除最后的 @test 部分并调用 rc.local 文件中的脚本 (raspbian jessie lite) 启动自动引导的问题。我删除 makefile 的最后一部分的原因是因为当我进行安装时,它会启动程序以设置默认设置,但我在代码中删除了该部分并且安装冻结。
我无法理解 C++ 联编文件。 makefile 使程序能够在重新启动时启动。我想要的是它在启动和重新启动时启用程序启动。我还想添加主机名(因为这是程序需要的参数)。
我尝试了什么:
- 将 $(shell 主机名) 添加到 PROGN
- 在@test -s reboot 中将 $(shell hostname) 添加到行:cp /etc/...
但是因为我无法理解这些行,所以它只是猜测..
安装 makefile 的一部分:
PROGN=myProgram
setup:
@install -m 755 -d \
$(DESTDIR)/usr/bin \
$(DESTDIR)/etc/$(PROGN)/samples \
$(DESTDIR)/etc/udev/rules.d
@cp bin/$(PROGN) $(DESTDIR)/usr/bin
@cp sample_profiles/* $(DESTDIR)/etc/$(PROGN)/samples
@cp udev/$(PROGN).rules $(DESTDIR)/etc/udev/rules.d
@test -s /usr/bin/systemd-run && \
install -m 755 -d $(DESTDIR)$(SYSTEMDDIR)/system && \
cp systemd/$(PROGN)-reboot.service $(DESTDIR)$(SYSTEMDDIR)/system
install: setup
@test -s /etc/$(PROGN)/profile || \
cp /etc/$(PROGN)/samples/group_keys /etc/$(PROGN)/profile
@test -s /etc/$(PROGN)/reboot || \
cp /etc/$(PROGN)/samples/all_off /etc/$(PROGN)/reboot
@udevadm control --reload-rules
@test -s /usr/bin/systemd-run && \
systemctl daemon-reload && \
systemctl enable $(PROGN)-reboot
我 "solved" 通过删除最后的 @test 部分并调用 rc.local 文件中的脚本 (raspbian jessie lite) 启动自动引导的问题。我删除 makefile 的最后一部分的原因是因为当我进行安装时,它会启动程序以设置默认设置,但我在代码中删除了该部分并且安装冻结。