製作乙個遍歷當前子目錄的Makefile

2021-08-22 17:22:45 字數 947 閱讀 9947

要對子目錄執行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...