12
我有一個文件名列表:如何從GNU make中的單詞列表中刪除不同的擴展名?
FILES := a.b c.d e.f
,我想刪除的所有字的擴展名(後綴)來獲得:
a c e
什麼是做到這一點的最好方法是什麼?
我能想出是「欺騙」與殼牌的最佳:
$(shell for f in $(INS_NODIR); do echo -n "$${f%.*} "; done)
,但我很驚訝有不僅用make內置功能這樣做的更多的「內置」的方式。
件事我想:
patsubst
。它似乎只能有一個單一的通配符,其他人正在處理從字面上,我想做類似%.%, %
尋找
notsufix
功能。我感到驚訝的是,這並不存在,因爲
dir
功能有notdir
對口,但suffix
功能恰好提取擴展不具備notsuffix
對應
tnx ... I已經看到該頁面,瀏覽了所有函數,但我認爲'basename'會和POSIX實用程序一樣(在最後一個'/'之後留下任何內容),以及今天爲基本名稱想到的最常見的定義思想 –