要對子目錄執行make,需要在當前目錄製作乙個makefile,遍歷所有子目錄的makefile,並執行相應的make target. 以下是我用來編譯核心模組的乙個makefile
# # reference
## 需要排除的目錄
exclude_dirs := include bin
# 取得當年子目錄深度為1的所有目錄名稱
dirs := $(shell find . -maxdepth 1 -type d)
dirs := $(basename $(patsubst ./%,%,$(dirs)))
dirs := $(filter-out $(exclude_dirs),$(dirs))
# 避免clean子目錄操作同名,加上_clean_字首
subdirs := $(dirs)
clean_dirs := $(addprefix _clean_,$(subdirs) )
#.phony: subdirs $(subdirs) clean
# 執行預設make target
$(subdirs):
$(make) -c $@
subdirs: $(subdirs)
# 執行clean
$(clean_dirs):
$(make) -c $(patsubst _clean_%,%,$@) clean
clean: $(clean_dirs)
@find . /
/( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' /
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' /
-o -name '*.symtypes' /) /
-type f -print | xargs rm -f
根目錄,子目錄 and 當前目錄的區別及解析
1 代表目前所在的目錄。代表上一層目錄。代表根目錄。我們用以乙個 來說明在上圖的情況下,某檔案引用另一檔案時,所應使用的相對路徑與絕對路徑。引用者 被引用者 相對路徑 絕對路徑 ref1.htm beref1.gif subdir2 beref1.gif dir1 subdir2 beref1.gi...
C 遍歷某目錄及其子目錄下所有檔案的乙個例子
問題源於遊戲漢化,由於要對漢化文字做某一種批處理,而這些文字集中在某一目錄及其各層子目錄中,於是如何遍歷就成為了乙個問題。直接上 不過多解釋了,只看checkfiles函式就行,其他和遍歷沒關,是用來處理文字的,我懶得刪了,不用看。checkfile file.fullname 直接寫成system...
乙個File類的例子 目錄列表器
列出當前目錄的所有檔案或者資料夾or篩選出符合引數條件的檔案 檔名或者資料夾名全部匹配引數 public class dirlist else arrays.sort list,string.case insensitive order 忽略字母大小寫排序 for string diritem li...