amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Problem mit Make [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

14.01.2003, 19:49 Uhr

LooZee
Posts: 12
Nutzer
Laut Anleitung müsste folgende Regel funktionieren:

%.obj: %.c
<tab> $(CC) $(CFLG) $(CINC) $< -o $@

Doch Make ignoriert das einfach und benutzt den Standard. Ich muss also umstellen auf

CFLAGS = $(CFLG) $(CINC)

Warum? Wenn ich Make mit dem Parameter -r starte (also ohne standard Regeln) wird der Compiler ganz ausgelassen und es geht mit dem Linker los. Was zum Geier soll das?

Es funktioniert weder auf Amiga noch auf Windows. Wo liegt der Fehler?


Außerdem bekomme ich beim Versuch, MiniGL 1.2 zu compilen die Meldung

makefile.vbccwos:44: ***target pattern contains no '%'. Stop.

[ - Antworten - Zitieren - Direktlink - ]

14.01.2003, 20:07 Uhr

Holger
Posts: 8116
Nutzer
Die Regel %.obj: wuerde bedeuten, dass Du aus einer Datei ohne Endung eine Datei mit der Endung obj machen willst. Wenn Du die Regel aus *.c mache *.obj definieren willst, lautet die Regel: .c.obj.
Oder komplett:

.c.obj:
<tab>$(CC) $(CFLG) $(CINC) $< -o $@

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

14.01.2003, 23:23 Uhr

LooZee
Posts: 12
Nutzer
@Holger:

Danke danke danke! Es funktioniert. Das soll einer kapieren...


Hat mal jemand MiniGL mit den enthaltenen Makefiles für vbcc compiled? Make beschwert sich über Zeile 44, die da lautet:

all: $(LIBNAME) $(DEMOS)


...edit...

Ha! Fehler gefunden. LIBNAME ist deklariert als:

LIBNAME = vlibwos:mgl.lib

Und Make mag den Doppelpunkt nicht! Ist halt ein Unix Programm... und der Doppelpunkt hat in Make eine andere Bedeutung.


Gibt's ein Make für Amiga, bei dem das funktionieren würde?


[ Dieser Beitrag wurde von LooZee am 15.01.2003 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

15.01.2003, 09:44 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Holger:
Wenn Du die Regel aus *.c mache *.obj definieren willst, lautet die Regel: .c.obj.

Die % Regel hätte eigentlich funktionieren müssen. Warum sie es nicht tut, kann ich auch nicht sagen. Ich verwende immer die "veraltete" Methode, die Du auch vorgeschlagen hast :-)

[ - Antworten - Zitieren - Direktlink - ]

15.01.2003, 09:46 Uhr

gni
Posts: 1106
Nutzer
Zitat:
LooZee:
Ha! Fehler gefunden. LIBNAME ist deklariert als:

LIBNAME = vlibwos:mgl.lib

Und Make mag den Doppelpunkt nicht! Ist halt ein Unix Programm... und der Doppelpunkt hat in Make eine andere Bedeutung.

Gibt's ein Make für Amiga, bei dem das funktionieren würde?

Was für ein Make benutzt Du denn? Es gibt im AmiNet einen Gnu-Make Port (ursprünglich von Aaron Digulla), dem der "korrekte" Umganng mit dem Doppelpunkt beigebracht wurde.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Problem mit Make [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.