Probleme mit Makefile.am

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Probleme mit Makefile.am

Beitrag von Payne_of_Death » 01.07.2007 14:39:17

Hallo,

Make weigert sich mein Programm zu compilieren weil
"Makefile:648: *** missing separator. Schluss."

In Anderen Sources hab ich dieses Steuerzeichen gefunden \^M
aber wie geb ich das in vim ein?

Vielen Dank
Das System was mich zu Fall bringt muss erst mal geboren werden.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 02.07.2007 02:54:03

ganz zu Fuss:
Die enthaltende Datei mit ">>" an das Makefile ankleben.
Dann den entsprechenden Teil mit copy+paste (mcedit) an die entsprechende Stelle befördern.

Oder den Oktalcode eingeben, vim hat dazu bestimmt eine Möglichkeit.
Den Code sollte

Code: Alles auswählen

hexdump -b DATEI
ausgeben.
Erzeugen kannst Du das Zeichen zBsp mit

Code: Alles auswählen

echo -e "\NNN"
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 02.07.2007 08:33:00

Payne_of_Death hat geschrieben: Make weigert sich mein Programm zu compilieren weil
"Makefile:648: *** missing separator. Schluss."
Du hast anscheinend einen Formatierungsfehler in deinem Makefile ( Makefile.am )
Hier ein Beispiel:
Wenn vor dem "echo" ein Tablulator steht funktioniert es:

Code: Alles auswählen

gms@gms4:~$ cat Makefile
quelle:

ziel: quelle
        echo erstelle ziel aus quelle
gms@gms4:~$ make
make: Für das Ziel »quelle« ist nichts zu tun.
Wird der Tabulator durch Blanks ersetzt, kommt folgende Fehlermeldung:

Code: Alles auswählen

gms@gms4:~$ cat Makefile
quelle:

ziel: quelle
    echo erstelle ziel aus quelle
gms@gms4:~$ make
Makefile:4: *** missing separator.  Schluss.
Payne_of_Death hat geschrieben: In Anderen Sources hab ich dieses Steuerzeichen gefunden \^M
Das erste Zeichen ist ein Backslash ( unter C/C++ bedeutet daß, das die Zeile fortgesetzt wird ), mit ^M wird zumeist das Carriage Return dargestellt.
In Textdateien, die unter DOS bzw Windows erzeugt wurden, wird ein Zeilenumbruch von 0x0D0A verwendet, unter Unix wird jedoch ein Zeilenumbruch von 0x0A verwendet. Daher zeigen Texteditoren, die keine Unterstützung für DOS/Windows Dateien bieten, dieses zusätzliche 0x0D Zeichen an ( der alte vi z.B. als ^M )

Gruß
gms

Clio

Beitrag von Clio » 02.07.2007 15:40:31

@gms

Danke, wieder was gelernt.....

Antworten