2017-05-04 15 views
0

C++のmakefileの理解に問題があります。 makefileは再起動時にプログラムの起動を有効にしています。私が望むのは、起動時と再起動時にプログラムを起動できるようにすることです。私はまた、ホスト名を追加したい(これはプログラムが必要とするパラメータなので)。私が試した何C++ makefile install:起動時にプログラムを起動してリブートする

  • がラインに$(シェルのホスト名)を追加prognのために$(シェルのホスト名)を追加します。cpは/ etc/... @Test -sリブート

私はこれらの行を理解し、トラブルを抱えているので、しかし、それだけで推測ます。..

はメイクファイルの一部をインストールします。 0

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 
+0

@コマンドを削除すると、端末で実行されているコマンドが表示されます。したがって、何が起こっているのかを簡単に見て、デバッグすることができます。 – sycko

+0

Makefileによるプログラム開始の設定は、CまたはC++とは関係ありません。これらのタグを削除すると思います。 – Gerhardh

+0

@Gerhardh:makefileはCプログラムのためのものですが、あなたが扱っているmakefileの種類を知っておくと便利だと思いました – Janoshh

答えて

0

最後の@test部分を削除し、rc.localファイル(raspbian jessie lite)でスクリプトを呼び出すことによって、起動によって自動ブートの問題を "解決"しました。私がmakefileの最後の部分を削除したのは、インストールしたときにデフォルトの設定を行うためにプログラムを起動するので、コード内のその部分を削除してインストールが凍結したからです。

関連する問題