我正在學習makefile的創建過程。sed在makefile中,用法
當前的目標是掃描$(SOURCEDIR)
爲.c
文件並創建(根據.c
文件路徑中的/path/file.c
的格式莉莎)一個不錯的$(VPATH)
所以我不需要在一個使用遞歸的makefile(又名疼痛。 )。
大氣壓我堅持這一點,在那裏$(SOURCETREE)
將是空的$(ECHO)
SOURCES := $(shell find $(SOURCEDIR) -name '*.c')
SOURCETREE := $(dir $(SOURCES))
SOURCETREE := $(shell $(ECHO) $(SOURCETREE) | $(SED) -e "s/[[:space:]]/\n/g" | uniq | $(SED) -e "s/\n/[[:space:]]/g");
也許我只是不明白這一點(再遲到了:/)
感謝您的幫助。
注:在bash shell它完美的作品在我的Linux針線(我相應的更換thevariables) 注:我沒有SED親,所以請你做SED的巫術解釋一下,謝謝
我通常更喜歡把'tr'換成'sed'換行到/從空間轉換...'tr'''\ n''更短,IMO更清晰。現在,這不會處理選項卡,但你的輸入不會有他們(除非你有一些*文件名*,在這種情況下,你不希望他們轉換...)。 – dmckee 2010-09-27 03:53:58