2017-05-04 2 views
0

C++ makefile을 이해하는 데 문제가 있습니다. makefile은 재부팅시 프로그램 시작을 가능하게합니다. 내가 원하는 것은 부팅 및 재부팅시 프로그램을 시작할 수 있도록하는 것입니다. 또한 호스트 이름을 추가하려고합니다 (프로그램에 필요한 매개 변수이기 때문에).C++ makefile install : 부팅 할 때 프로그램을 시작하고 다시 부팅하십시오.

내가 시도하는 것 : CP/등/... @Test -s 재부팅에 :

  • 추가 $ (쉘 호스트 이름)
  • 이 라인에 $ (쉘 호스트 이름)을 추가 PROGN하기

    :

나는이 선을 이해하는 데 문제가 있기 때문에, 그것은 단지 추측됩니다 ..

은 메이크 파일의 일부를 설치 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

@ 명령을 제거하면 터미널에서 make가 실행중인 명령을 볼 수 있습니다. 따라서 진행중인 작업을 쉽게보고 디버그 (또는 변경 사항을 확인) 할 수 있습니다. – sycko

+0

Makefile을 통한 프로그램 시작 구성은 C 또는 C++과 관련이 없습니다. 이러한 태그를 제거하는 방법에 대해 생각해보십시오. – Gerhardh

+0

@Gerhardh : makefile은 C 프로그램을위한 것인데, 당신이 다루는 makefile의 종류를 아는 것이 편리하다고 생각했습니다. – Janoshh

답변

0

마지막 @test 부분을 제거하고 rc.local 파일 (raspbian jessie lite)에서 스크립트를 호출하여 시작에 의한 자동 부팅 문제를 "해결했습니다". 내가 makefile의 마지막 부분을 삭제 한 이유는 설치를했을 때 기본 설정을하기 위해 프로그램을 부팅 할 것이기 때문에 코드에서 그 부분을 삭제하고 설치가 멈췄 기 때문입니다.

관련 문제