Makefile erzeugt kein Binary

A

Andrea

Routinier
Hallo,

ich hab ein Makefile, das sieht so aus:

Code:
CC = gcc

LDLIBS = -lm -lGL -lGLU -lglut
CFLAGS = -Wall -O2

s: a.o m.o b.o d.c

a.o: a.h a.c

m.o: m.h m.c

b.o: b.h b.c
[\code]

Wenn ich das jetzt mit make aufrufe, werden a.o, m.o und b.o erstellt, s allerdings nicht. 

Für ein anderes Programm habe ich fast das gleiche Makefile, das funktioniert dort, hier finde ich den Fehler allerdings nicht.

Danke schonmal,
Andrea
 
Hi!

Das soll auf diese Art auch funzen? Das kenn nur anders. Ich würde es so machen:
Code:
CC = gcc
LD = ld

LDLIBS = -lm -lGL -lGLU -lglut
CFLAGS = -Wall -O2

TARGET   = s
OBJECTS  = a.o m.o b.o d.o

# linkeranweisung
all: ${OBJECTS}
   ${LD} ${LDLIBS} -o ${TARGET} ${OBJECTS} 

# kompilieranweisungen
a.o: a.c
   ${CC} ${CFLAGS} -c a.c
 
m.o: m.c
   ${CC} ${CFLAGS} -c m.c

b.o: b.c
   ${CC} ${CFLAGS} -c b.c

d.o: d.c
   ${CC} ${CFLAGS} -c d.c

Mit 'make all' sollte es dann kompiliert werden können.
 
Also, ich hab 4 mal fast das gleiche Programm, bei zweien funktioniert es, bei zweien nicht.

Ich hab jetzt auch die Variante mit $(CC)... drunter schreiben genommen, damit geht es.
 

Ähnliche Themen

Samba 3.6.25 - OpenLDAP Setup

Nginx als Reverse Proxy für Nextcloud und Emby

PATH wird nicht richtig durchsucht

Linkerproblem mit MXE

Debian 7: PHPMyAdmin (Apache2) funktioniert nicht

Zurück
Oben