Probleme mit GNU Make

Direkte Linux-Programmierung, POSIX
Antworten
gizno82
Beiträge: 46
Registriert: Sa Dez 19, 2009 4:03 pm

Probleme mit GNU Make

Beitrag von gizno82 » Mi Dez 12, 2012 6:22 pm

Hallo liebe Proggen Gemeinde,

Ich versuche gerade SDL unter Debian zum laufen zu bekommen.
Ich möchte GNU Make zum linken, compilieren, etc. nutzen.

Ich habe alles nach einem Tutorial schritt für Schritt gemacht.

http://compsci.ca/v3/viewtopic.php?t=10411

Wenn ich in der Linux Konsole make eingebe spuckt mir GNU Make folgendes aus:

makefile:44: *** missing separator (Meinten Sie TAB anstelle von 8 Leerzeichen?).

ich beschäftige mich das erste mal mit Makefiles und habe gelesen, dass jede neue Zeile mit einem Tab anfangen muss.
In Zeile 44 meines Makefiles ist aber ein Tab am Zeilenanfang.

Wäre nett wenn mir jemand helfen könnte.

Hier mal mein Makefile:

Code: Alles auswählen


#
#   Default make file
#

########
#   Directories
S_DIR=source
B_DIR=build

########
#   Output
EXEC=$(B_DIR)/SDL_test.exec
   
# default build settings
##  debug setup
CC_OPTS=-c -pipe -Wall -Wno-switch -ggdb -g3 
LN_OPTS=
CC=g++
##  release setup
#C_OPTS=-c -pipe
#LN_OPTS=
#CC=g++

######## maybe change here
#       SDL options
CC_SDL=-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
LN_SDL=-L/usr/lib -lSDL

########
#   This is the default action
all:Build


########
#   Object list
#
OBJ = $(B_DIR)/main.o

########
#   Objects
	$(B_DIR)/main.o : $(S_DIR)/main.cpp $(S_DIR)/global.h
	$(CC) $(CC_OPTS) -o $(B_DIR)/main.o $(S_DIR)/main.cpp $(CC_SDL)

########
#   Main build rule     
Build : $(OBJ) Makefile
	$(CC) $(LN_OPTS) -o $(EXEC) $(OBJ) $(LN_SDL)


clean:
	rm -f $(B_DIR)/* 
Danke für eure Hilfe

Gruß Gizno

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Probleme mit GNU Make

Beitrag von fat-lobyte » Mi Dez 12, 2012 9:38 pm

Hallo.
Die Fehlermeldung sagt dir schon ganz genau was verkehrt ist: "Meinten Sie TAB anstelle von 8 Leerzeichen?"

Die meisten Editoren sind für Code so eingestellt, dass sie jedes TAB durch 2,4 oder 8 Leerzeichen ersetzen. In Quellcode ist das OK oder sogar erwünscht, allerdings braucht GNU Make tatsächlich einen "echten" Tab (\t). Die Frage ist nun, wie du den da reinbekommst.

Das hängt von deinem Editor ab (es gibt sogar welche die Klug genug sind, in Makefiles Tabs statt leerzeichen zu verwenden).
Du kannst aber auf jeden Fall einstellen, dass du in deinem Editor tatsächlich Tabs (und keine Spaces) haben willst. Nach dem Bearbeiten des Makefiles nicht vergessen alles wieder zurückzustellen.

Ich mach das so: ich schreibe das Ursprungsmakefile mit den Tabs als Tabs einstellungen, und speichere es ab. Dann stelle ich den Editor auf Tabs als Spaces.
Wenn ich das Makefile bearbeite, vergesse ich das meist und bekomme eine Fehlermeldung. Daraufhin kopiere ich mir ein "echtes" Tab (mit Ctrl-C) und füge es an der richtigen Stelle ein.
Haters gonna hate, potatoes gonna potate.

gizno82
Beiträge: 46
Registriert: Sa Dez 19, 2009 4:03 pm

Re: Probleme mit GNU Make

Beitrag von gizno82 » Do Dez 13, 2012 5:02 pm

Das Problem ist, dass mein Editor (Gedit) shcon entsprechend eingestellt ist und in Zeile 44 auch nichts steht.
Was für einen Editor nutzt Du zum erstellen von Makefiles ?
Gibt es unter Linux ein Tool, dass die Formatierung "Makefile Kompatibel" macht ?

Danke für die Hilfe

Grüße

Gizno

Benutzeravatar
deung
Beiträge: 21
Registriert: So Dez 09, 2012 2:59 pm
Wohnort: Hinter dien 7 Bergen bei den 7 Zwergen

Re: Probleme mit GNU Make

Beitrag von deung » Do Dez 13, 2012 9:21 pm

Also ich nutze gedit oder geany. Ist eigentlich egal was von Beiden. Man kann eigentlich jedem Editor so einstellen, dass er Leerzeichen statt Tabulatoren macht und umgekehrt. Man kann sogar sagen wieviele Leerzeilen ein Tabulator entspricht.
Gibt es unter Linux ein Tool, dass die Formatierung "Makefile Kompatibel" macht ?
Ich würde sagen alles nur eine Frage der Einstellung und der Gestaltung der Makefiles.
Was mich angeht benutzte ich auch gedit für die Makefiles

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Probleme mit GNU Make

Beitrag von fat-lobyte » Do Dez 13, 2012 10:22 pm

Kannst du deine Datei mal an deinen Post anhängen, damit man mal ganz genau schauen kann was da tatsächlich in Zeile 44 steht? Ich glaube die Forensoftware spielt mir da einen Streich.
Haters gonna hate, potatoes gonna potate.

gizno82
Beiträge: 46
Registriert: Sa Dez 19, 2009 4:03 pm

Re: Probleme mit GNU Make

Beitrag von gizno82 » Do Dez 13, 2012 10:46 pm

Danke für alles, finde ich echt super das Du mir hilfst.
Im Anhang befindet sich mein makefile.
entferne das .txt wieder hab zum hochladen noch die .txt Dateiendung an gehängt, da die Foren software probleme macht, wenn man eine Datei ohne Dateiendung hochladen möchte.
Gibt es ein gutes makefile tutorial ?

Grüße gizno
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Probleme mit GNU Make

Beitrag von fat-lobyte » Fr Dez 14, 2012 12:09 am

So, im Endeffekt wars die Zeile 42.

Schau mal genau da hin: du hast eine Regel in Zeile 41, und ein "Rezept" in Zeile 42. Diese ist aber nicht eingerückt! Rezeptzeilen müssen immer eingerückt werden.

Übrigens bin ich mir ziemlich sicher, dass deine Einrückungen noch immer aus Leerzeichen bestehen, und nicht aus Tabulatoren (siehe Zeilen 48 und 52).
Danke für alles, finde ich echt super das Du mir hilfst.
Kein Problem, entgegen anderslautenden Gerüchten helfe ich gerne ;-)
Gibt es ein gutes makefile tutorial ?
Wie du Google verwendest wirst du wahrscheinlich wissen, aber empfehlen kann ich dir leider keines. Ich habs "on the go" gelernt, und dabei immer wieder in der offiziellen Anleitung nachgekuckt. Für Einsteiger ist die wahrscheinlich nicht so hilfreich.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Fisherman
Beiträge: 84
Registriert: Mi Jun 06, 2012 4:53 am
Wohnort: 127.0.0.1

Re: Probleme mit GNU Make

Beitrag von Fisherman » Fr Dez 14, 2012 11:25 am

Gibt es ein gutes makefile tutorial ?
Makefile YT
There is no place like 127.0.0.1

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Probleme mit GNU Make

Beitrag von Xin » Fr Dez 14, 2012 6:38 pm

gizno82 hat geschrieben:Gibt es ein gutes makefile tutorial ?
Lokal nur ein kleines: Makefiles
Wenn Du dazu Fragen hast, kann ich es entsprechend erweitern.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten