mood-indigo.org - Das unabhängige Silicon Graphics User Forum

Irix => Programmieren, Kompilieren => Thema gestartet von: chrisindy am 22. September 2005, 17:08:25

Titel: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: chrisindy am 22. September 2005, 17:08:25
Hi,
Versuche gerade "drqueue", ein dist.rendering-server für blender und andere zu kompilieren. Zunächst bekam ich die Fehlermeldung:
..
make: file `Makefile' line 21: Must be a separator (: or ::) for rules (bu39)
..
Worauf ich etwas recherchierte und einige Angaben gefunden haben, die auf die Nutzung von gmake in diesem Falle hinweisen.

Also habe ich die aktuelle Gmake-ver. (sgi.freeware) installiert und bekomme nun folgende Meldung:

Makefile:63: *** commands commence before first target.  Stop.

Die Makefile enthält in Z. 63 folgendes:

 ifeq ($(systype),CYGWIN_NT-5.1)
      CFLAGS = -DCOMM_REPORT -Wall -I. -D__CYGWIN -g -O2
     CPPFLAGS = -D__CPLUSPLUS -DCOMM_REPORT -Wall -I. -D__CYGWIN -g -O2
      MAKE = make
      UIFLAGS += -e _mainCRTStartup -mwindows
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: Jasper am 22. September 2005, 20:26:01
Schau mal, ob die Zeilen mit einem Tabulator beginnen (böse ist bei allem ausser Kommandos in Targets...)
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: chrisindy am 23. September 2005, 23:28:56
Es befinden sich leider keine Tabulatoren am beginn der beschriebenen Zeilen =/

Grüße
Chris
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: Jasper am 24. September 2005, 00:40:29
Prinzipiell könntest Du die betroffenen Zeilen auch komplett löschen oder mit # auskommentieren, es sei denn, DU kompilierst grad mit der Cygwin. Eigentlich kann ich so auf Anhieb sonst kein Problem erkennen, ist aber auch schon eine Weile her, dass ich ds letzte Mal intensiver mit Makefiles zu tun hatte. Davor taucht auch kein Tab auf, oder? Evtl. auch mal die Einrückung entsorgen, auch wenn sie eigentlich erlaubt sein sollte, sofern sie nur aus Leerzeichen besteht...
Die Variable MAKE hast Du auf gmake an der relevanten Stelle geändert, wie im drqueue Forum beschrieben?
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: chrisindy am 24. September 2005, 15:06:26
tja - also soweit habe ich mal alle leerzeichen weggenommen und es ergab sich auch keine änderung. =/ Alle make=make stellen sind mit make=gmake ersetzt worden.

Grüße
Chris
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: Jasper am 24. September 2005, 20:13:28
Leider schreibst Du nicht, welche Version du compilieren möchtest, ich hab mir jetzt mal die Version 0.62 irgendwas besorgt, dort sind im Makefile jede Menge Tabs an unmöglichen Stellen verstreut, auch schon vor Zeile 63 (in der allerdings auch was anderes steht als bei Dir...) :-(
Falls nötig, kann ich Dir die gefixte Version gerne  mailen, ist aber nicht schwer zu beheben. Prinzipiell dürfen (und müssen!) Tabulatoren nur zu Beginn von Kommandozeilen, d.h. Befehlen, die für ein Target gelten, stehen, alles andere muss raus. Ein Target sieht so oder ähnlich aus:

foo.o: foo.c ...
[TABULATOR]gcc -o ...
[TABULATOR]irgendwas anderes

HTH

JM
Titel: Re: gmake: Makefile:63: *** commands commence before first target. Stop.
Beitrag von: chrisindy am 27. September 2005, 22:25:10
hi, es lag daran, dass das system nicht als IRIX64 definiert war. =/

Grüße
Chris
(P.s. die Fehler gehen weiter, siehe nächster Threat)