日韩av色在线_av不卡在线观看_亚洲国产精品第一页_在线看日本不卡_色成人综合网_国产丝袜在线视频_国产精成人品localhost_国产91富婆露脸刺激对白_韩国视频一区_国产精品人成电影

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > linux make命令安裝詳解

linux make命令安裝詳解 時(shí)間:2018-08-16      來源:未知

對(duì)于GNU Make或許很多Windows開發(fā)的程序員并不是很了解,因?yàn)閃indows中的很多集成開發(fā)環(huán)境(IDE)都幫我們做了這件事。但是作為一個(gè)專業(yè)從事Linux嵌入式開發(fā)的程序員就必須要了解GNU Make,會(huì)不會(huì)使用GNU Make從一定角度上反應(yīng)了一個(gè)人是否具備大型工程能力。本文主要圍繞Make命令展開,介紹Linux下Make的使用以及Makefile的語(yǔ)法和使用Make進(jìn)行源碼安裝。

一、什么是GNU Make

GNU Make是一個(gè)控制從程序的源文件中生成程序的可執(zhí)行文件和其他非源文件的工具。

Make可以從一個(gè)名為Makefile的文件中獲得如何構(gòu)建程序的知識(shí),該文件列出了每個(gè)非源文件以及如何從其他文件計(jì)算它。當(dāng)你編寫一個(gè)程序時(shí),你應(yīng)該為它編寫一個(gè)Makefile文件,這樣就可以使用Make來編譯和安裝這個(gè)程序。

二、如何獲取Make

Make可以在GNU的主要FTP服務(wù)器上找到:http : //ftp.gnu.org/gnu/make/ (通過HTTP)和 ftp://ftp.gnu.org/gnu/make/ (通過FTP)。它也可以在GNU鏡像列表上找到; 請(qǐng)盡可能GNU的鏡像列表。

三、為什么需要Make

任何一種技能或知識(shí)都是源之于某種社會(huì)需求,那為什么要用Make呢?當(dāng)項(xiàng)目源文件很少的時(shí)候,我們也許還可以手動(dòng)使用gcc命令來進(jìn)行編譯,但是當(dāng)項(xiàng)目發(fā)展到一個(gè)龐大的規(guī)模時(shí),再手動(dòng)敲gcc命令去編譯就變得不可能的事情。所以呢,在這樣的歷史背景下,就出現(xiàn)了一位大牛(斯圖亞特·費(fèi)爾德曼),在1977年貝爾實(shí)驗(yàn)室制作了這樣一個(gè)軟件,它的名字就叫做Make。所以實(shí)際開發(fā)中,我們?cè)诰幾g大型項(xiàng)目的時(shí)候往往會(huì)使用Make進(jìn)行編譯,為此我們還需要了解Make軟件所依賴的Makefile規(guī)則文件。

四、Makefile

Makefile 文件需要按照某種語(yǔ)法進(jìn)行編寫,文件中需要說明如何編譯各個(gè)源文件并連接生成可執(zhí)行文件,并要求定義源文件之間的依賴關(guān)系。Makefile的語(yǔ)法還是略微有些復(fù)雜,因篇幅有限,本文只能簡(jiǎn)述Makefile的編寫原則。

(1)Makefile的組成部分

Makefile包含五個(gè)東西:顯示規(guī)則,隱式規(guī)則,變量定義,文件指示,注釋。

<1>顯式規(guī)則,顯式規(guī)則說明了,如何生成一個(gè)或多的的目標(biāo)文件。這是由Makefile的書寫者明顯指出,要生成的文件,文件的依賴文件,生成的命令。

<2>隱式規(guī)則,由于我們的make有自動(dòng)推導(dǎo)的功能,所以隱晦的規(guī)則可以讓我們比較粗糙地簡(jiǎn)略地書寫Makefile,這是由make所支持的。

<3>變量的定義,在Makefile中我們要定義一系列的變量,變量一般都是字符串,這個(gè)有點(diǎn)你C語(yǔ)言中的宏,當(dāng)Makefile被執(zhí)行時(shí),其中的變量都會(huì)被擴(kuò)展到相應(yīng)的引用位置上。

<4>文件指示,其包括了三個(gè)部分,一個(gè)是在一個(gè)Makefile中引用另一個(gè)Makefile,就像C語(yǔ)言中的include一樣;另一個(gè)是指根據(jù)某些情況指定Makefile中的有效部分,就像C語(yǔ)言中的預(yù)編譯#if一樣;還有就是定義一個(gè)多行的命令。有關(guān)這一部分的內(nèi)容,我會(huì)在后續(xù)的部分中講述。

<5>注釋,Makefile中只有行注釋,和UNIX的Shell腳本一樣,其注釋是用“#”字符,這個(gè)就像C/C++中的“//”一樣。如果你要在你的Makefile中使用“#”字符,可以用反斜框進(jìn)行轉(zhuǎn)義,如:“/#”。

(2) Makefile的規(guī)則

我們先來粗略地看一看Makefile的規(guī)則。

target... : prerequisites ...

command

...

...

target也就是一個(gè)目標(biāo)文件,可以是Object File,也可以是執(zhí)行文件。還可以是一個(gè)標(biāo)簽(Label),對(duì)于標(biāo)簽這種特性,在后續(xù)的“偽目標(biāo)”章節(jié)中會(huì)有敘述。

prerequisites就是,要生成那個(gè)target所需要的文件或是目標(biāo)。

command也就是make需要執(zhí)行的命令。(一定要以Tab鍵作為開頭)

這是一個(gè)文件的依賴關(guān)系,也就是說,target這一個(gè)或多個(gè)的目標(biāo)文件依賴于prerequisites中的文件,其生成規(guī)則定義在command中。說白一點(diǎn)就是說,prerequisites中如果有一個(gè)以上的文件比target文件要新的話,command所定義的命令就會(huì)被執(zhí)行。這就是Makefile的規(guī)則。也就是Makefile中核心的內(nèi)容。

(3)Makefile之模式規(guī)則

模式規(guī)則其實(shí)也是普通規(guī)則,但它使用了如%這樣的通配符。如下面的例子:
Linux make

此規(guī)則描述了一個(gè).o文件如何由對(duì)應(yīng)的.c文件創(chuàng)建。規(guī)則的命令行中使用了自動(dòng)化變量“$<”和“$@”,其中自動(dòng)化變量“$<”代表規(guī)則的依賴,“$@”代表規(guī)則的目標(biāo)。此規(guī)則在執(zhí)行時(shí),命令行中的自動(dòng)化變量將根據(jù)實(shí)際的目標(biāo)和依賴文件取對(duì)應(yīng)值。

其含義是,字指出了從所有的.c文件生成相應(yīng)的.o文件的規(guī)則。如果要生成的目標(biāo)是”a.o b.o”,那么 %.c”就是”a.c b.c”。

在模式規(guī)則中,目標(biāo)的定義需要有“%”字符。“%”定義對(duì)文件名的匹配,表示任意長(zhǎng)度的非空字符串。在依賴目標(biāo)中同樣可以使用“%”,只是依賴目標(biāo)中“%”的取值,取決于其目標(biāo)。

注意:模式規(guī)則中“%”的展開和變量與函數(shù)的展開是有區(qū)別的,“%”的展開發(fā)生在變量和函數(shù)的展開之后。變量和函數(shù)的展開發(fā)生在make載入Makefile時(shí),而“%”的展開則發(fā)生在運(yùn)行時(shí)。

<1> 自動(dòng)化變量

自動(dòng)化變量只應(yīng)出現(xiàn)在規(guī)則的命令中。

變量 含義
$@ 表示規(guī)則中的所有目標(biāo)文件的集合。在模式規(guī)則中如果有多個(gè)目標(biāo),“$@”就是匹配于目標(biāo)中模式定義的集合
$% 僅當(dāng)目標(biāo)是函數(shù)庫(kù)文件時(shí),表示規(guī)則中的目標(biāo)成員名,如果目標(biāo)不是函數(shù)庫(kù)文件(UNIX下是.a,Windows是.lib),其值為空。
$< 依賴目標(biāo)中的第一個(gè)目標(biāo)名字,如果依賴目標(biāo)是以模式(即”%“)定義的,則”$<”是符合模式的一系列的文件集
$? 所有比目標(biāo)新的依賴目標(biāo)的集合,以空格分隔
$^ 所有依賴目標(biāo)的集合,以空格分隔。如如果在依賴目標(biāo)中有多個(gè)重復(fù)的,則自動(dòng)去除重復(fù)的依賴目標(biāo),只保留一份
$+ 同”$^”,也是所有依賴目標(biāo)的集合,只是它不去除重復(fù)的依賴目標(biāo)。
$* 目標(biāo)模式中“%”及其之前的部分
$(@D) “$@”的目錄部分(不以斜杠作為結(jié)尾),如果”$@”中沒有包含斜杠,其值為“.”(當(dāng)前目錄)
$(@F) “$@”的文件部分,相當(dāng)于函數(shù)”$(notdir $@)”
$(*D) 同”$(@D)”,取文件的目錄部分
$(*F) 同”$(@F)”,取文件部分,但不取后綴名
$(%D) 函數(shù)包文件成員的目錄部分
$(%F) 函數(shù)包文件成員的文件名部分
$(<D) 依賴目標(biāo)中的第一個(gè)目標(biāo)的目錄部分
$(<F) 依賴目標(biāo)中的第一個(gè)目標(biāo)的文件名部分
$(^D) 所有依賴目標(biāo)文件中目錄部分(無相同的)
$(^F) 所有依賴目標(biāo)文件中文件名部分(無相同的)
$(+D) 所有依賴目標(biāo)文件中的目錄部分(可以有相同的)
$(+F) 所有依賴目標(biāo)文件中的文件名部分(可以有相同的)
$(?D) 所有被更新文件的目錄部分
$(?F) 所有被更新文件的文件名部分

<2>$VAR和$$VAR的區(qū)別:

makefile文件中的規(guī)則絕大部分都是使用shell命令來實(shí)現(xiàn)的,這里就涉及到了變量的使用,包括makefile中的變量和shell命令范疇內(nèi)的變量。在makefile的規(guī)則命令行中使用$var就是在命令中引用makefile的變量,這里僅僅是讀取makefile的變量然后擴(kuò)展開,將其值作為參數(shù)傳給了一個(gè)shell命令;而$$var是在訪問一個(gè)shell命令內(nèi)定義的變量,而非makefile的變量。如果某規(guī)則有n個(gè)shell命令行構(gòu)成,而相互之間沒有用';'和'\'連接起來的話,就是相互之間沒有關(guān)聯(lián)的shell命令,相互之間也不能變量共享。

(4)Makefile之偽目標(biāo)

使用其原因一:避免和同名文件沖突

在現(xiàn)實(shí)中難免存在所定義的目標(biāo)與所存在的目標(biāo)是同名的,采用Makefile如何處理這種情況呢?Makefile中的假目標(biāo)(phony target)可以解決這個(gè)問題。

假目標(biāo)可以使用.PHONY關(guān)鍵字進(jìn)行聲明,對(duì)于假目標(biāo),可以想象,因?yàn)椴灰蕾囉谀澄募,make該目標(biāo)的時(shí)候,其所在規(guī)則的命令都會(huì)被執(zhí)行。

如果編寫一個(gè)規(guī)則,并不產(chǎn)生目標(biāo)文件,則其命令在每次make 該目標(biāo)時(shí)都執(zhí)行。

例如:

clean:

rm *.o temp

因?yàn)?quot;rm"命令并不產(chǎn)生"clean"文件,則每次執(zhí)行"make clean"的時(shí)候,該命令都會(huì)執(zhí)行。如果目錄中出現(xiàn)了"clean"文件,則規(guī)則失效了:沒有依賴文件,文件"clean"始終是新的,命令永遠(yuǎn)不會(huì)執(zhí)行;為避免這個(gè)問題,可使用".PHONY"指明該目標(biāo)。如:

.PHONY : clean

這樣執(zhí)行"make clean"會(huì)無視"clean"文件存在與否。

已知phony 目標(biāo)并非是由其它文件生成的實(shí)際文件,make 會(huì)跳過隱含規(guī)則搜索。這就是聲明phony 目標(biāo)會(huì)改善性能的原因,即使你并不擔(dān)心實(shí)際文件存在與否。

完整的例子如下:

.PHONY : clean

clean :

rm *.o temp

使用其原因二:提高執(zhí)行make的效率

當(dāng)一個(gè)目標(biāo)被聲明為偽目標(biāo)后,make在執(zhí)行此規(guī)則時(shí)不會(huì)試圖去查找隱含規(guī)則來創(chuàng)建這個(gè)目標(biāo)。這樣也提高了make的執(zhí)行效率,同時(shí)我們也不用擔(dān)心由于目標(biāo)和文件名重名而使我們的期望失敗。

(5)Makefile的賦值

[=]和[:=]符號(hào)的區(qū)別。

=

可以先使用后定義,這就導(dǎo)致makefile在全部展開后才能決定變量的值。

有可能出現(xiàn)循環(huán)遞歸,無法暫開的問題。

:=

必須先定義然后再使用,在當(dāng)前的位置就可以決定變量的值。

?=

相當(dāng)于選擇疑問句,如果前面的變量沒被賦值,那就做賦值操作

+=

相當(dāng)于遞加操作

(6)Makefile之執(zhí)行過程

1. 依次讀取變量“MAKEFILES”定義的makefile文件列表

2. 讀取工作目錄下的makefile文件(根據(jù)命名的查找順序“GNUmakefile”,“makefile”,“Makefile”,首先找到那個(gè)就讀取那個(gè))

3. 依次讀取工作目錄makefile文件中使用指示符“include”包含的文件

4. 查找重建所有已讀取的makefile文件的規(guī)則(如果存在一個(gè)目標(biāo)是當(dāng)前讀取的某一個(gè)makefile文件,則執(zhí)行此規(guī)則重建此makefile文件,完成以后從第一步開始重新執(zhí)行)

5. 初始化變量值并展開那些需要立即展開的變量和函數(shù)并根據(jù)預(yù)設(shè)條件確定執(zhí)行分支

6. 根據(jù)“終極目標(biāo)”以及其他目標(biāo)的依賴關(guān)系建立依賴關(guān)系鏈表

7. 執(zhí)行除“終極目標(biāo)”以外的所有的目標(biāo)的規(guī)則(規(guī)則中如果依賴文件中任一個(gè)文件的時(shí)間戳比目標(biāo)文件新,則使用規(guī)則所定義的命令重建目標(biāo)文件)

8. 執(zhí)行“終極目標(biāo)”所在的規(guī)則

五、使用Make進(jìn)行源碼安裝

(1)正常的編譯安裝/卸載:

源碼的安裝一般由3個(gè)步驟組成:配置(configure)、編譯(make)、安裝(make install)。

configure文件是一個(gè)可執(zhí)行的腳本文件,它有很多選項(xiàng),在待安裝的源碼目錄下使用命令./configure –help可以輸出詳細(xì)的選項(xiàng)列表。

其中--prefix選項(xiàng)是配置安裝目錄,如果不配置該選項(xiàng),安裝后可執(zhí)行文件默認(rèn)放在/usr /local/bin,庫(kù)文件默認(rèn)放在/usr/local/lib,配置文件默認(rèn)放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。

如果配置了--prefix,如:

$ ./configure --prefix=/usr/local/test

安裝后的所有資源文件都會(huì)被放在/usr/local/test目錄中,不會(huì)分散到其他目錄。

使用--prefix選項(xiàng)的另一個(gè)好處是方便卸載軟件或移植軟件;當(dāng)某個(gè)安裝的軟件不再需要時(shí),只須簡(jiǎn)單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈;而移植軟件只需拷貝整個(gè)目錄到另外一個(gè)機(jī)器即可(相同的操作系統(tǒng)下)。

當(dāng)然要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是Makefile文件有uninstall命令(nodejs的源碼包里有uninstall命令,測(cè)試版本v0.10.35)。

(2)卸載:

如果沒有配置--prefix選項(xiàng),源碼包也沒有提供make uninstall,則可以通過以下方式可以完整卸載:

找一個(gè)臨時(shí)目錄重新安裝一遍,如:

$ ./configure --prefix=/tmp/to_remove && make install

然后遍歷/tmp/to_remove的文件,刪除對(duì)應(yīng)安裝位置的文件即可(因?yàn)?tmp/to_remove里的目錄結(jié)構(gòu)就是沒有配置--prefix選項(xiàng)時(shí)的目錄結(jié)構(gòu))。

當(dāng)下載了源碼就可以按照此種方法,就可以進(jìn)行軟件的安裝和卸載。

六、總結(jié)

關(guān)于Makefile的用法,我們今天就討論到這里,對(duì)于一個(gè)Linux程序員來說Makefile的作用和重要。對(duì)于程序的編譯以及程序員對(duì)項(xiàng)目的了解有很大的幫助。

上一篇:大型程序管理神器之CMake

下一篇:Android串口調(diào)試助手實(shí)現(xiàn)

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

在线观看欧美| 欧美视频1区| 国产精品久久久久久9999| 黄频在线免费观看| 校园春色亚洲| 中文字幕乱码亚洲精品一区| 日本伊人精品一区二区三区介绍 | 2021国产精品视频| 亚洲一二三精品| 你懂的视频在线观看| 久色婷婷小香蕉久久| 欧美一级淫片aaaaaaa视频| 国产三级av在线播放| 欧美12一14sex性hd| 久久99国产精品成人| 国产精品视频公开费视频| 国产精品第9页| 性欧美1819sex性高清| 欧美日韩精品国产| 日韩网站在线免费观看| 国产视频播放| 在线欧美福利| 国产mv久久久| 国产高清视频免费| 自拍偷拍精品| 欧美成人精品激情在线观看| 日本三级视频在线| 日韩精品视频一区二区三区| 精品播放一区二区| 国产精品久久久视频| 一个人www视频在线免费观看| 精品国产乱码久久久久久婷婷 | caopo在线| 午夜久久久久久电影| 麻豆一区二区三区视频| 色吊丝在线永久观看最新版本| 中文字幕精品一区| 国产v片免费观看| 在线播放的av| 亚洲国产色一区| 日本少妇激三级做爰在线| 国产盗摄在线观看| 欧美精品日韩精品| 人妻熟人中文字幕一区二区| 欧美人体一区二区三区| 精品国产免费人成在线观看| 91精品久久久久久久久久久久| 欧美日韩成人影院| 亚洲天堂日韩电影| 中文字幕第2页| 一区二区视频欧美| 久久99影院| 第四色亚洲色图| 国产精品高潮呻吟| 91视频福利网| 99精品在免费线偷拍| 久久九九亚洲综合| 日韩在线观看视频一区| 国模无码大尺度一区二区三区| 日韩一区免费观看| 中文在线а天堂av| 欧美挠脚心视频网站| 日本一区二区三区免费视频| 午夜精品一区二区三区国产 | 亚洲jjzzjjzz在线观看| 亚洲卡通欧美制服中文| 最近中文字幕无免费| 久久爱.com| 欧美亚洲另类视频| 人与牲动交xxxxbbbb高清| 久久精品一二三| 黄色av电影网站| 日韩精品一区二区三区中文字幕| 97国产在线视频| 国产成人精品久久一区二区小说| 久久久影院官网| 香蕉久久久久久av成人| 一区二区三区国产好| 成人欧美在线观看| 丁香在线视频| 免费美女久久99| 国产成人三级视频| 国产精品视频一区视频二区 | h网站在线观看| 国产成人综合自拍| 国产又粗又爽又黄的视频| 97国产在线| 欧美日韩美女在线观看| 美女把尿口扒开让男人桶在线观看| 免费在线观看成人| 国产三级生活片| 免费看av成人| 欧美日韩一区二区三区在线观看免| 在线资源av| 精品国产露脸精彩对白 | 天天综合天天做| 激情久久久久| 日本免费黄视频| 色悠久久久久综合先锋影音下载 | 国产激情视频一区二区三区欧美| 免费黄色在线视频| 日韩精品乱码av一区二区| 成人羞羞国产免费网站| 国产精品国产| 国产自产在线视频| 久久99国产成人小视频| 亚洲三区视频| 日韩一区二区三区免费| 亚洲一区二区三区sesese| 有色激情视频免费在线| 亚洲欧美国产视频| 久久精品成人欧美大片免费| 一色桃子久久精品亚洲| 久久夜靖品2区| 国产欧美一区二区精品久导航 | 国产女主播av| **欧美日韩在线| 久久久精品国产一区二区三区| 北岛玲日韩精品一区二区三区| 日韩视频欧美视频| 午夜电影福利网| 日韩在线观看网址| 绯色av一区二区| 国产一区二区调教| 国产少妇在线观看| 婷婷久久综合九色综合绿巨人| 亚洲无码精品在线观看| 亚洲成a人片在线不卡一二三区 | 性少妇bbw张开| 大美女一区二区三区| 国产精品久久久久久久妇| 国产精品久久福利| 日本精品一二区| 日韩一区二区三区四区| 激情综合丁香| 2018国产精品视频| 九色porny丨首页入口在线| 欧美一区二区三区在线播放| 久久大胆人体视频| 日本久久久久久久久久| kk眼镜猥琐国模调教系列一区二区| 在线观看免费高清视频| 69久久夜色精品国产69蝌蚪网| 夜色av.com| 成人在线中文字幕| 在线视频亚洲欧美中文| 黄色片子免费看| 久久天堂av综合合色蜜桃网| 五十路亲子中出中文字幕| 精品中文字幕久久久久久| 国产小视频在线播放| 亚洲精品国产系列| 国产精品分类| 最近中文字幕在线观看| 精品久久久久一区| 91精品久久久久久粉嫩| 欧美交换配乱吟粗大25p| 视频一区视频二区中文| 国产裸体永久免费无遮挡| 亚洲成人精品视频| 蜜芽在线免费观看| 99热成人精品热久久66| 不卡av在线免费观看| 性xxxx视频播放免费| 欧美国产日本在线| 全国精品免费看| 91嫩草|国产丨精品入口| 欧美夫妻性生活| 成人在线免费电影| 人妻内射一区二区在线视频| 国产**成人网毛片九色 | 亚洲黄色一级大片| 久久伊人精品一区二区三区| 久热在线观看视频| 中文字幕人妻一区二区三区| 亚洲一区二区三区四区在线观看| 男人j桶女人的网站| 欧美精品亚洲精品| 美女在线观看视频一区二区| 亚洲在线天堂| 97视频在线观看亚洲| 精品中文一区| 日本天堂网在线| 在线亚洲男人天堂| 欧美爱爱视频| 91精品国产自产| 欧美疯狂性受xxxxx喷水图片| 国产高清一区二区三区视频| 亚洲天堂网站在线| 精品国产成人在线| 91精选在线| a天堂中文字幕| 亚洲第一综合天堂另类专| 视频在线日韩| av激情在线观看| 亚洲欧美激情一区| 嫩草国产精品入口| 国产美女www| 国产精品91一区| 男人的j进女人的j一区| 91九色论坛| 亚洲自拍偷拍一区二区三区| 91麻豆福利精品推荐| 国模精品一区二区| 日韩精品视频一区二区| 日韩欧美一区二区三区在线| 欧洲精品久久久久毛片完整版| 欧美bbbbbbbbbbbb精品| 97在线视频精品| 一本一本久久| 天天看天天干| 欧美伦理片在线看| 精品美女被调教视频大全网站| 精品欧美视频| 黄色污污视频软件| 97欧洲一区二区精品免费| 不卡的av网站| 调教视频免费在线观看| 91激情视频在线观看| 美女国内精品自产拍在线播放| 一区二区影院| 天天插天天色| 免费黄色a级片| 欧美成人性生活| 久久亚洲视频| 天堂在线中文字幕| 黄色激情小视频| 欧美在线激情网| 国产福利一区二区| 色图在线观看| 无码aⅴ精品一区二区三区| 91在线精品观看| 亚洲人成网站精品片在线观看| 日韩一区二区三区在线免费观看| 亚洲不卡免费视频| 日韩人妻一区二区三区蜜桃视频| 欧美日韩国产高清一区二区三区| 久久福利综合| y4480在线8影院| 国产中文字幕久久| 51精品国产人成在线观看 | 日本熟女一区二区| 欧美激情论坛| 欧美一个色资源| 日本免费在线视频不卡一不卡二| 国产午夜精品一区理论片| 日韩欧美国产另类| 韩日视频在线观看| 亚洲人午夜精品免费| 丁香天五香天堂综合| 欧美激情啪啪| a√在线视频| 久久精品视频久久| 日韩欧美综合一区| 午夜精品亚洲| 好吊日视频在线观看| 亚洲精品视频网| 欧洲在线免费视频| 成人精品aaaa网站| 91麻豆精品国产综合久久久久久| 久久久久欧美精品| 成人欧美大片| 灌醉mj刚成年的大学平面模特| 青青青手机在线视频| 亚洲图片小说在线| 日韩中文字幕在线观看| 国产精品久久久久影院色老大 | 动漫一区二区在线| 欧美日韩精品二区第二页| 麻豆成人91精品二区三区| 国产综合av| 国产美女特级嫩嫩嫩bbb片 | xxx在线播放| 日本一区免费| 色综合色综合久久综合频道88| 亚洲精品中文在线| 免播放器亚洲| 成人知道污网站| av资源网在线观看| 91视频导航| 一级黄色av片| asian性开放少妇pics| 一区二区三区视频在线播放| 午夜精品久久久久久久99热浪潮 | 成人av在线看| 亚洲欧美伊人| 欧洲美女精品免费观看视频| 九色国产在线观看| 国产porny蝌蚪视频| 波多野结衣日韩| 成人午夜剧场视频网站| av日韩一区二区三区| 国产精品久久久久久久小唯西川| 久久久国产精品x99av | 91看片淫黄大片一级在线观看| 美女免费免费看网站| 高h震动喷水双性1v1| 欧美日韩在线观看成人| 6080国产精品| 黄页网站在线观看视频| 久久av二区| 国产精品久久色| 日韩亚洲第一页| 欧美一区二区三区免费视频 | 天堂在线一区二区| 欧美xxav| 欧美色图婷婷| 久久亚洲精品中文字幕| 成人免费高清| 亚洲成人av在线影院| 99.玖玖.com| 丝瓜app色版网站观看| 天天干天天干天天干| 草草草在线视频| 国产精品一二三在线观看| 久久久久se| 国产精品日韩一区二区| 国产精品十八以下禁看| 欧美一级大片在线观看| 欧美肥婆姓交大片| 欧美韩日一区二区| 九九热r在线视频精品| 国产一区二区三区欧美| 日韩一区和二区| 91久久精品一区二区| 精品久久香蕉国产线看观看亚洲 | 亚洲最大视频网| 日韩成人精品视频在线观看| 日本日本19xxxⅹhd乱影响| av片在线免费| 成人免费在线网| 久久99久久久久久| 91成人在线观看喷潮教学| 中国一级黄色录像| 黄色www在线观看| 亚洲色婷婷久久精品av蜜桃| 国产精品自拍合集| 精品人妻少妇一区二区| 免费看国产曰批40分钟| 久久综合久久色| 色呦色呦色精品| 2018国产精品| 国产一级久久久久毛片精品| 天堂av免费在线| 国产精品.www| 97成人免费视频| 国产综合无码一区二区色蜜蜜| 野外做受又硬又粗又大视频√| 亚洲熟妇无码另类久久久| 88av.com| av在线天堂网| 777777国产7777777| 黄色av一区二区| 五月婷婷一区二区三区| 被陌生人带去卫生间啪到腿软| 午夜免费啪视频观看视频| 欧美尤物美女在线| 亚洲影视资源| 欧美综合视频| 久久久久免费| 国产精品麻豆久久久| 日韩欧美有码在线| 日韩国产高清视频在线| 久久久久久久香蕉网| 丁香五月网久久综合| 99爱视频在线| 91ts人妖另类精品系列| 无码人妻久久一区二区三区| 久久综合香蕉| 一二三四社区在线视频| 欧美舌奴丨vk视频| 综合在线一区| 国产人妖乱国产精品人妖| 欧美高清视频一二三区| 高清欧美性猛交xxxx| 欧美一区二区三区电影在线观看| 欧美日韩激情视频在线观看| av电影在线不卡| 国产高清免费观看| 毛片一级免费一级| 亚洲综合在线电影| 欧美不卡视频| 国产精品毛片a∨一区二区三区| 欧美成人精品二区三区99精品| 日本一区二区不卡| 国产精品人人妻人人爽人人牛| 国产aaa免费视频| 先锋资源在线视频| 99久久久国产精品无码网爆| 污网站在线播放| 亚洲激情久久| 在线亚洲一区观看| 国产成人精品在线| 日韩av片免费观看| 性欧美8khd高清极品| 欧美日韩伦理片| 欧美国产极品| 国产午夜亚洲精品理论片色戒| 伊人久久精品视频| 亚洲黄色网址在线观看|