亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? makefile

?? linux 0.11 內(nèi)核源碼。kernel-011-src.tar
??
字號:
## if you want the ram-disk device, define this to be the # 如果你要使用RAM 盤設(shè)備的話,就# size in blocks. # 定義塊的大小。#RAMDISK = #-DRAMDISK=512AS86 =as86 -0 -a # 8086 匯編編譯器和連接器,見列表后的介紹。后帶的參數(shù)含義分別LD86 =ld86 -0 # 是:-0 生成8086 目標(biāo)程序;-a 生成與gas 和gld 部分兼容的代碼。AS =gas # GNU 匯編編譯器和連接器,見列表后的介紹。LD =gldLDFLAGS =-s -x -M # GNU 連接器gld 運行時用到的選項。含義是:-s 輸出文件中省略所# 有的符號信息;-x 刪除所有局部符號;-M 表示需要在標(biāo)準(zhǔn)輸出設(shè)備# (顯示器)上打印連接映象(link map),是指由連接程序產(chǎn)生的一種# 內(nèi)存地址映象,其中列出了程序段裝入到內(nèi)存中的位置信息。具體# 來講有如下信息:head main kernel mm fs libbootsect setup systemBuild 工具內(nèi)核映象文件Image2.8 linux/Makefile 文件# ? 目標(biāo)文件及符號信息映射到內(nèi)存中的位置;# ? 公共符號如何放置;# ? 連接中包含的所有文件成員及其引用的符號。CC =gcc $(RAMDISK) # gcc 是GNU C 程序編譯器。對于UNIX 類的腳本(script)程序而言,# 在引用定義的標(biāo)識符時,需在前面加上$符號并用括號括住標(biāo)識符。CFLAGS =-Wall -O -fstrength-reduce -fomit-frame-pointer \-fcombine-regs -mstring-insns # gcc 的選項。前一行最后的'\'符號表示下一行是續(xù)行。# 選項含義為:-Wall 打印所有警告信息;-O 對代碼進(jìn)行優(yōu)化;# -fstrength-reduce 優(yōu)化循環(huán)語句;-mstring-insns 是# Linus 自己為gcc 增加的選項,可以去掉。CPP =cpp -nostdinc -Iinclude # cpp 是gcc 的前(預(yù))處理程序。-nostdinc -Iinclude 的含# 義是不要搜索標(biāo)準(zhǔn)的頭文件目錄中的文件,而是使用-I# 選項指定的目錄或者是在當(dāng)前目錄里搜索頭文件。## ROOT_DEV specifies the default root-device when making the image.# This can be either FLOPPY, /dev/xxxx or empty, in which case the# default of /dev/hd6 is used by 'build'.#ROOT_DEV=/dev/hd6 # ROOT_DEV 指定在創(chuàng)建內(nèi)核映像(image)文件時所使用的默認(rèn)根文件系統(tǒng)所# 在的設(shè)備,這可以是軟盤(FLOPPY)、/dev/xxxx 或者干脆空著,空著時# build 程序(在tools/目錄中)就使用默認(rèn)值/dev/hd6。ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o # kernel 目錄、mm 目錄和fs 目錄所產(chǎn)生的目標(biāo)代# 碼文件。為了方便引用在這里將它們用# ARCHIVES(歸檔文件)標(biāo)識符表示。DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a # 塊和字符設(shè)備庫文件。.a 表# 示該文件是個歸檔文件,也即包含有許多可執(zhí)行二進(jìn)制代碼子程# 序集合的庫文件,通常是用GNU 的ar 程序生成。ar 是GNU 的二進(jìn)制# 文件處理程序,用于創(chuàng)建、修改以及從歸檔文件中抽取文件。MATH =kernel/math/math.a # 數(shù)學(xué)運算庫文件。LIBS =lib/lib.a # 由lib/目錄中的文件所編譯生成的通用庫文件。.c.s: # make 老式的隱式后綴規(guī)則。該行指示make 利用下面的命令將所有的# .c 文件編譯生成.s 匯編程序。':'表示下面是該規(guī)則的命令。$(CC) $(CFLAGS) \-nostdinc -Iinclude -S -o $*.s $< # 指使gcc 采用前面CFLAGS 所指定的選項以及# 僅使用include/目錄中的頭文件,在適當(dāng)?shù)鼐幾g后不進(jìn)行匯編就# 停止(-S),從而產(chǎn)生與輸入的各個C 文件對應(yīng)的匯編語言形式的# 代碼文件。默認(rèn)情況下所產(chǎn)生的匯編程序文件是原C 文件名去掉.c# 而加上.s 后綴。-o 表示其后是輸出文件的形式。其中$*.s(或$@)# 是自動目標(biāo)變量,$<代表第一個先決條件,這里即是符合條件# *.c 的文件。.s.o: # 表示將所有.s 匯編程序文件編譯成.o 目標(biāo)文件。下一條是實# 現(xiàn)該操作的具體命令。$(AS) -c -o $*.o $< # 使用gas 編譯器將匯編程序編譯成.o 目標(biāo)文件。-c 表示只編譯# 或匯編,但不進(jìn)行連接操作。.c.o: # 類似上面,*.c 文件-??*.o 目標(biāo)文件。$(CC) $(CFLAGS) \-nostdinc -Iinclude -c -o $*.o $< # 使用gcc 將C 語言文件編譯成目標(biāo)文件但不連接。all: Image # all 表示創(chuàng)建Makefile 所知的最頂層的目標(biāo)。這里即是image 文件。2.8 linux/Makefile 文件Image: boot/bootsect boot/setup tools/system tools/build # 說明目標(biāo)(Image 文件)是由# 分號后面的4 個元素產(chǎn)生,分別是boot/目錄中的bootsect 和# setup 文件、tools/目錄中的system 和build 文件。tools/build boot/bootsect boot/setup tools/system $(ROOT_DEV) > Imagesync # 這兩行是執(zhí)行的命令。第一行表示使用tools 目錄下的build 工具# 程序(下面會說明如何生成)將bootsect、setup 和system 文件# 以$(ROOT_DEV)為根文件系統(tǒng)設(shè)備組裝成內(nèi)核映像文件Image。# 第二行的sync 同步命令是迫使緩沖塊數(shù)據(jù)立即寫盤并更新超級塊。disk: Image # 表示disk 這個目標(biāo)要由Image 產(chǎn)生。dd bs=8192 if=Image of=/dev/PS0 # dd 為UNIX 標(biāo)準(zhǔn)命令:復(fù)制一個文件,根據(jù)選項# 進(jìn)行轉(zhuǎn)換和格式化。bs=表示一次讀/寫的字節(jié)數(shù)。# if=表示輸入的文件,of=表示輸出到的文件。# 這里/dev/PS0 是指第一個軟盤驅(qū)動器(設(shè)備文件)。tools/build: tools/build.c # 由tools 目錄下的build.c 程序生成執(zhí)行程序build。$(CC) $(CFLAGS) \-o tools/build tools/build.c # 編譯生成執(zhí)行程序build 的命令。boot/head.o: boot/head.s # 利用上面給出的.s.o 規(guī)則生成head.o 目標(biāo)文件。tools/system: boot/head.o init/main.o \$(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) # 表示tools 目錄中的system 文件# 要由分號右邊所列的元素生成。$(LD) $(LDFLAGS) boot/head.o init/main.o \$(ARCHIVES) \$(DRIVERS) \$(MATH) \$(LIBS) \-o tools/system > System.map # 生成system 的命令。最后的 > System.map 表示# gld 需要將連接映象重定向存放在System.map 文件中。# 關(guān)于System.map 文件的用途參見注釋后的說明。kernel/math/math.a: # 數(shù)學(xué)協(xié)處理函數(shù)文件math.a 由下一行上的命令實現(xiàn)。(cd kernel/math; make) # 進(jìn)入kernel/math/目錄;運行make 工具程序。# 下面從66--82 行的含義與此處的類似。kernel/blk_drv/blk_drv.a: # 塊設(shè)備函數(shù)文件blk_drv.a(cd kernel/blk_drv; make)kernel/chr_drv/chr_drv.a: # 字符設(shè)備函數(shù)文件chr_drv.a(cd kernel/chr_drv; make)kernel/kernel.o: # 內(nèi)核目標(biāo)模塊kernel.o(cd kernel; make)mm/mm.o: # 內(nèi)存管理模塊mm.o(cd mm; make)fs/fs.o: # 文件系統(tǒng)目標(biāo)模塊fs.o(cd fs; make)lib/lib.a: # 庫函數(shù)lib.a2.8 linux/Makefile 文件(cd lib; make)boot/setup: boot/setup.s # 這里開始的三行是使用8086 匯編和連接器$(AS86) -o boot/setup.o boot/setup.s # 對setup.s 文件進(jìn)行編譯生成setup 文件。$(LD86) -s -o boot/setup boot/setup.o # -s 選項表示要去除目標(biāo)文件中的符號信息。boot/bootsect: boot/bootsect.s # 同上。生成bootsect.o 磁盤引導(dǎo)塊。$(AS86) -o boot/bootsect.o boot/bootsect.s$(LD86) -s -o boot/bootsect boot/bootsect.otmp.s: boot/bootsect.s tools/system # 從92--95 這四行的作用是在bootsect.s 程序開頭添加# 一行有關(guān)system 文件長度信息。方法是首先生成含有“SYSSIZE = system 文件實際長度”# 一行信息的tmp.s 文件,然后將bootsect.s 文件添加在其后。取得system 長度的方法是:# 首先利用命令ls 對system 文件進(jìn)行長列表顯示,用grep 命令取得列表行上文件字節(jié)數(shù)字段# 信息,并定向保存在tmp.s 臨時文件中。cut 命令用于剪切字符串,tr 用于去除行尾的回車符。# 其中:(實際長度 + 15)/16 用于獲得用‘節(jié)’表示的長度信息。1 節(jié) = 16 字節(jié)。(echo -n "SYSSIZE = (";ls -l tools/system | grep system \| cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.scat boot/bootsect.s >> tmp.sclean: # 當(dāng)執(zhí)行'make clean'時,就會執(zhí)行98--103 行上的命令,去除所有編譯連接生成的文件。# 'rm'是文件刪除命令,選項-f 含義是忽略不存在的文件,并且不顯示刪除信息。rm -f Image System.map tmp_make core boot/bootsect boot/setuprm -f init/*.o tools/system tools/build boot/*.o(cd mm;make clean) # 進(jìn)入mm/目錄;執(zhí)行該目錄Makefile 文件中的clean 規(guī)則。(cd fs;make clean)(cd kernel;make clean)(cd lib;make clean)backup: clean # 該規(guī)則將首先執(zhí)行上面的clean 規(guī)則,然后對linux/目錄進(jìn)行壓縮,生成# backup.Z 壓縮文件。'cd .. '表示退到linux/的上一級(父)目錄;# 'tar cf - linux'表示對linux/目錄執(zhí)行tar 歸檔程序。-cf 表示需要創(chuàng)建# 新的歸檔文件 '| compress -'表示將tar 程序的執(zhí)行通過管道操作('|')# 傳遞給壓縮程序compress,并將壓縮程序的輸出存成backup.Z 文件。(cd .. ; tar cf - linux | compress - > backup.Z)sync # 迫使緩沖塊數(shù)據(jù)立即寫盤并更新磁盤超級塊。dep:# 該目標(biāo)或規(guī)則用于各文件之間的依賴關(guān)系。創(chuàng)建的這些依賴關(guān)系是為了給make 用來確定是否需要要# 重建一個目標(biāo)對象的。比如當(dāng)某個頭文件被改動過后,make 就通過生成的依賴關(guān)系,重新編譯與該# 頭文件有關(guān)的所有*.c 文件。具體方法如下:# 使用字符串編輯程序sed 對Makefile 文件(這里即是自己)進(jìn)行處理,輸出為刪除Makefile# 文件中'### Dependencies'行后面的所有行(下面從118 開始的行),并生成tmp_make# 臨時文件(也即110 行的作用)。然后對init/目錄下的每一個C 文件(其實只有一個文件# main.c)執(zhí)行g(shù)cc 預(yù)處理操作,-M 標(biāo)志告訴預(yù)處理程序輸出描述每個目標(biāo)文件相關(guān)性的規(guī)則,# 并且這些規(guī)則符合make 語法。對于每一個源文件,預(yù)處理程序輸出一個make 規(guī)則,其結(jié)果# 形式是相應(yīng)源程序文件的目標(biāo)文件名加上其依賴關(guān)系--該源文件中包含的所有頭文件列表。# 111 行中的$$i 實際上是$($i)的意思。這里$i 是這句前面的shell 變量的值。# 然后把預(yù)處理結(jié)果都添加到臨時文件tmp_make 中,然后將該臨時文件復(fù)制成新的Makefile 文件。sed '/\#\#\# Dependencies/q' < Makefile > tmp_make(for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_makecp tmp_make Makefile(cd fs; make dep) # 對fs/目錄下的Makefile 文件也作同樣的處理。2.8 linux/Makefile 文件- 30 -(cd kernel; make dep)(cd mm; make dep)### Dependencies:init/main.o : init/main.c include/unistd.h include/sys/stat.h \include/sys/types.h include/sys/times.h include/sys/utsname.h \include/utime.h include/time.h include/linux/tty.h include/termios.h \include/linux/sched.h include/linux/head.h include/linux/fs.h \include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \include/stddef.h include/stdarg.h include/fcntl.h

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品12区| 国产麻豆日韩欧美久久| 久久色中文字幕| 一区二区三区中文免费| 亚洲欧美激情一区二区| 亚洲精品成人天堂一二三| 六月丁香综合在线视频| 91视频国产资源| 欧美精品第1页| 久久精品亚洲精品国产欧美kt∨| 亚洲摸摸操操av| 在线观看亚洲专区| 国产亚洲一区二区三区| 国产成人欧美日韩在线电影| 国产精品少妇自拍| 日韩电影在线观看网站| 99热精品国产| 91精品国产日韩91久久久久久| 日韩欧美国产三级| 亚洲综合丝袜美腿| 懂色av中文一区二区三区| 日韩午夜激情av| 夜夜嗨av一区二区三区网页| 在线播放日韩导航| 国产一区二区女| 一色桃子久久精品亚洲| 日韩激情视频网站| 成人18视频在线播放| 欧美激情一区二区| 国产精品系列在线观看| 精品久久久久99| 男女男精品网站| 欧美日韩国产精选| 亚洲国产欧美在线| 97se亚洲国产综合自在线不卡 | 亚洲一区二区三区小说| 欧美精品日韩一区| 丰满放荡岳乱妇91ww| 亚洲图片欧美色图| 国产婷婷色一区二区三区| 色综合久久久久| 18成人在线观看| 欧美不卡一区二区| 在线观看91精品国产入口| 久久99国内精品| 久久婷婷国产综合国色天香| 在线精品亚洲一区二区不卡| 精品一区二区免费| 午夜精品福利视频网站| 欧美精三区欧美精三区| 成人av资源下载| 美女免费视频一区二区| 精品久久久久久久久久久久久久久| 色综合激情五月| 成人黄色777网| 韩国欧美国产1区| 国产日韩欧美精品在线| 色综合久久天天| 国产福利精品一区二区| 老司机午夜精品99久久| 亚洲一区二区欧美激情| 亚洲欧洲精品一区二区三区 | 91福利精品第一导航| 亚洲风情在线资源站| 亚洲色图清纯唯美| 欧美日韩国产综合一区二区三区| 91在线观看下载| 成人v精品蜜桃久久一区| 国产在线视频一区二区三区| 蜜臀久久99精品久久久久久9| 亚洲线精品一区二区三区| 中文字幕五月欧美| 中文字幕一区二区三区四区不卡 | 97久久超碰国产精品电影| 国产成人精品免费| 国产一区二区免费在线| 精品一区二区精品| 日本视频一区二区| 日日摸夜夜添夜夜添精品视频| 亚洲一区二区三区精品在线| 亚洲综合一区二区| 亚洲成人av一区| 欧美韩国日本综合| 国产欧美一区二区在线观看| 久久久噜噜噜久久中文字幕色伊伊| 色狠狠色狠狠综合| 日本二三区不卡| 在线免费视频一区二区| 亚洲精品免费在线| 视频一区二区中文字幕| 26uuu国产在线精品一区二区| 不卡视频在线看| 综合激情网...| 中文字幕在线播放不卡一区| 自拍偷拍国产亚洲| 一区二区三区av电影| 亚洲一区精品在线| 琪琪一区二区三区| 黄网站免费久久| 成人免费视频一区二区| 亚洲影院理伦片| 天堂va蜜桃一区二区三区| 美女免费视频一区| 高清av一区二区| 91国偷自产一区二区三区成为亚洲经典| 欧美性猛交一区二区三区精品| 高清不卡一二三区| 在线视频一区二区三| 欧美一区二区日韩一区二区| 久久久国产一区二区三区四区小说| 中文字幕一区二区三区在线观看| 亚洲高清在线精品| 国产麻豆日韩欧美久久| 在线看国产一区| 精品国产一区二区三区四区四| 日韩欧美国产综合一区| 国产精品亚洲第一区在线暖暖韩国 | 国产亚洲美州欧州综合国| 国产一区二区伦理| 色综合久久天天| 日韩视频中午一区| 亚洲精选免费视频| 美女mm1313爽爽久久久蜜臀| av在线综合网| 欧美一级欧美三级| **欧美大码日韩| 青椒成人免费视频| 91原创在线视频| 精品欧美黑人一区二区三区| 亚洲欧美精品午睡沙发| 黄网站免费久久| 欧美精品 日韩| 国产精品久久久久久久裸模| 久久精品欧美日韩精品| 午夜精品aaa| 91视频国产资源| 久久精品在线观看| 日韩高清欧美激情| 91免费在线看| 精品国产一区二区三区久久影院| 亚洲一区免费在线观看| 国产另类ts人妖一区二区| 在线欧美一区二区| 国产成人a级片| 欧美日韩高清影院| 国产精品国产自产拍高清av| 久久99最新地址| 欧美日韩亚洲国产综合| 在线观看免费一区| 中文字幕免费在线观看视频一区| 婷婷丁香激情综合| 日本精品一级二级| 亚洲欧洲成人自拍| 国产精品1区2区| 精品国产制服丝袜高跟| 三级在线观看一区二区| 欧美在线|欧美| 亚洲精品一二三| 一本色道a无线码一区v| 国产精品理论片在线观看| 国产69精品一区二区亚洲孕妇| 精品成人a区在线观看| 青草av.久久免费一区| 欧美男生操女生| 欧美性生活一区| 一区二区三区日韩欧美| 99国产精品视频免费观看| 国产女人水真多18毛片18精品视频| 国产乱人伦精品一区二区在线观看 | 欧美在线免费播放| 一区二区三区在线看| 色欧美乱欧美15图片| 一区二区三区四区在线免费观看| 色综合久久88色综合天天6| 亚洲美女偷拍久久| 欧美性视频一区二区三区| 一片黄亚洲嫩模| 欧美三级欧美一级| 日韩国产精品久久久| 日韩一级黄色片| 日本不卡123| 久久蜜桃一区二区| 国产激情精品久久久第一区二区| 国产亚洲制服色| 丁香天五香天堂综合| 国产精品高潮呻吟| 在线观看欧美精品| 毛片不卡一区二区| 久久综合狠狠综合久久综合88| 国产福利不卡视频| 亚洲欧美精品午睡沙发| 欧美另类变人与禽xxxxx| 毛片一区二区三区| 欧美激情一区二区三区在线| 色噜噜久久综合| 免费在线欧美视频| 欧美国产一区二区| 欧美影视一区在线| 久久99热这里只有精品| 国产精品嫩草99a|