Dateiname ohne Erweiterung in Makefile abrufen

9

Mein Makefile sieht so aus:

%Vor%

$* arbeitet jedoch innerhalb von .asm.o , ist jedoch innerhalb von all leer. Wie würde ich den gcc-Ausgabedateinamen auf den Dateinamen der Objektdatei ohne any -Erweiterung setzen?

Ich möchte zum Beispiel Folgendes ausführen (nachdem die Datei .o von nasm generiert wurde)

%Vor%     
Anirudh Ramanathan 21.12.2012, 19:17
quelle

2 Antworten

6

Ich denke, du suchst

%Vor%

Ihr Versuch würde ein Ziel all definieren, das von allen Objektdateien abhing, als ob sie alle enthielten; Ich nehme an, dass Sie wirklich wollen, dass jede Objektdatei unabhängig ist und dass das all -Ziel davon abhängt, dass sie alle gemacht werden.

(Technisch könnten Sie jetzt $* verwenden, weil es in diesem Fall identisch mit $@ ist, aber das ist nur unklar.)

Dies ist im großen und ganzen isomorph zu Ihrer vorhandenen Regel nasm , außer wenn kein Suffix vorhanden ist, können Sie die Suffixsyntax nicht verwenden. Mit anderen Worten, Ihre Regel entspricht

%Vor%

Der einzige verbleibende Unterschied ist die .PHONY -Deklaration, die nur dokumentiert, dass all kein Dateiname ist.

    
tripleee 21.12.2012, 19:26
quelle
-1
%Vor%

Nehmen wir an, Sie möchten .o von test.o

entfernen %Vor%

ergibt $VAR mit "test"

Weitere Funktionen finden Sie hier

    
Hendrik Frans 06.10.2017 01:09
quelle

Tags und Links