2016-07-22 10 views
1

Ich schreibe ein Makefile, ich habe eine Liste aller Dateien (ohne src/ oder .cpp), und ich möchte diese in build/*.o konvertieren. Hier ist, was ich habe schon versucht:Makefile voranstellen und alle Elemente im Array anfügen

FILES=icxxabi list memory string 
OBJECTS=$(echo ("${build/$$FILES[@].o}")[@]) 

Also für den Eingang a dir/b c, sollte es Ausgabe:

build/a.o build/dir/b.o build/c.o 
+0

make isn 't bash. Warum ist das mit "bash" markiert? – melpomene

Antwort

1

Mit GNU Make, könnten Sie versuchen

OBJECTS=$(patsubst %, build/%.o, $(FILES)) 
+0

Viel bequemer! –

Verwandte Themen