Ho una lista di nomi di file:Come rimuovere rimuovere estensioni diverse da un elenco di parole in GNU make?
FILES := a.b c.d e.f
e voglio rimuovere le estensioni (suffissi) di tutte le parole di ottenere:
a c e
qual è il modo migliore per farlo?
il meglio che potevo venire con era "barare" con le coperture:
$(shell for f in $(INS_NODIR); do echo -n "$${f%.*} "; done)
ma sono sorpreso che non c'era un modo più "built-in" di fare questo solo con le funzioni built-in make .
cosa ho provato:
patsubst
. Sembra che possa avere solo un singolo carattere jolly, altri essere trattati letteralmente e mi piacerebbe fare qualcosa come%.%, %
cercare una funzione
notsufix
.Mi ha sorpreso che questo non esiste, dal momento che la funzione
dir
hanotdir
controparte, ma la funzionesuffix
che estrae esattamente le estensioni non avere unnotsuffix
controparte
tnx ... I Avevo visto quella pagina, sfogliato tutte le funzioni, ma supponevo che 'basename 'avrebbe fatto lo stesso dell'utilità POSIX (lasciare tutto ciò che viene dopo l'ultimo'/') e quale è l'idea di definizione più comune che mi viene in mente per basename oggi –