2017-03-24 5 views
0

Ich habe eine make-Datei, die den Fehler zurückgibt: make: Nichts zu tun für `Makefile.rb ', wenn ich versuche zu laufen. Hier ist mein Makefile:Qemu Makefile Fehler make: Nichts für 'Makefile.rb' zu tun

SDKDIR=./sdk 

help: 

    @echo "Makefile for Building Dev Operating System." 

    @echo "Usage: make [ all | clean | help | build | run] " 

    @echo "" 

    @echo 

all: 

    @echo "Building Kernel" 

    make -C ./kernel 

    @echo "Building SDK" 

    make -C ./sdk 

    @echo "Building Userland" 

    make -C ./userland 


build: 

    zip -r devos-$(VERSION).zip ./ 

run: 

    @echo "Running Dev Operating System." 

    cd ./sdk && sudo bash ./diskimage.sh 

    cd ./sdk && ./qemu.sh 

clean: 

    make -C ./kernel clean 

    make -C ./userland clean 

Ich benutze Qemu für MacOS Serria auf Homebrew.

+0

Sie können 'make' nicht allein ausführen, sonst ist dies nicht das Makefile, das Sie verwenden. Bitte zeigen Sie den genauen Befehl, den Sie aufgerufen haben, und die genaue Ausgabe, die Sie erhalten haben (ausschneiden und einfügen). – MadScientist

+0

cd/* myusername * – isaa6

+0

make makefile.rb – isaa6

Antwort

1

Sie sagen, dass der Name Ihres Makefiles Makefile.rb ist?

Das ist nicht wie Sie make auf einem Makefile ausführen. Alle Nicht-Option-Argumente, die an make übergeben werden, gelten als Ziele, die make versuchen sollten; Deshalb sagt make, wenn Sie sagen: make Makefile.rb make, dass es nichts zu tun gibt, um dieses Ziel zu erstellen: Die Datei existiert bereits und sie hat keine Voraussetzungen, daher kann sie nicht veraltet sein.

Normalerweise, wenn make startet, liest es Makefiles im aktuellen Verzeichnis mit dem Namen Makefile oder makefile oder GNUmakefile. Wenn Sie es eine andere Make-Datei analysieren mögen, verwenden Sie die Option -f:

make -f Makefile.rb 

Sie können die GNU make manual oder die man-Seite mit man make lesen, um zu erfahren, wie machen zu laufen.