黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

Linux下使用autoconf和automake生成Makefile原理詳解

瀏覽:7日期:2024-04-20 18:12:44

作為Linux下的程序開發(fā)人員,一定都遇到過Makefile,用make命令來編譯自己寫的程序確實(shí)是很方便。一般情況下,大家都是手工寫一個簡單Makefile,如果要想寫出一個符合自由軟件慣例的Makefile就不那么容易了. 在本文中,將介紹如何使用autoconf和automake兩個工具來幫助我們自動地生成符合自由軟件慣例的Makefile,這樣就可以象常見的GNU程序一樣,只要使用“./configure”,“make”,“make instal”就可以把程序安裝到Linux系統(tǒng)中去了。這將特別適合想做開放源代碼軟件的程序開發(fā)人員,又或如果你只是自己寫些小的Toy程序,那么這個文章對你也會有很大的幫助。

一、Makefile介紹

Makefile是用于自動編譯和鏈接的,一個工程有很多文件組成,每一個文件的改變都會導(dǎo)致工程的重新鏈接,但是不是所有的文件都需要重新編譯,Makefile中紀(jì)錄有文件的信息,在make時會決定在鏈接的時候需要重新編譯哪些文件。

Makefile的宗旨就是:讓編譯器知道要編譯一個文件需要依賴其他的哪些文件。當(dāng)那些依賴文件有了改變,編譯器會自動的發(fā)現(xiàn)最終的生成文件已經(jīng)過時,而重新編譯相應(yīng)的模塊。

Makefile的基本結(jié)構(gòu)不是很復(fù)雜,但當(dāng)一個程序開發(fā)人員開始寫Makefile時,經(jīng)常會懷疑自己寫的是否符合慣例,而且自己寫的Makefile經(jīng)常和自己的開發(fā)環(huán)境相關(guān)聯(lián),當(dāng)系統(tǒng)環(huán)境變量或路徑發(fā)生了變化后,Makefile可能還要跟著修改。這樣就造成了手工書寫Makefile的諸多問題,automake恰好能很好地幫助我們解決這些問題。

使用automake,程序開發(fā)人員只需要寫一些簡單的含有預(yù)定義宏的文件,由autoconf根據(jù)一個宏文件生成configure,由automake根據(jù)另一個宏文件生成Makefile.in,再使用configure依據(jù)Makefile.in來生成一個符合慣例的Makefile。下面我們將詳細(xì)介紹Makefile的automake生成方法。

二、使用的環(huán)境

本文所提到的程序是基于Linux發(fā)行版本:Fedora Core release 1,它包含了我們要用到的autoconf,automake。

三、從helloworld入手

我們從大家最常使用的例子程序helloworld開始。

下面的過程如果簡單地說來就是:

新建三個文件:

helloworld.cconfigure.inMakefile.am

然后依次執(zhí)行:

autoscan; aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld;

就可以看到Makefile被產(chǎn)生出來,而且可以將helloworld.c編譯通過。很簡單吧,幾條命令就可以做出一個符合慣例的Makefile,感覺如何呀?,F(xiàn)在開始介紹詳細(xì)的過程:

1、建目錄

在你的工作目錄下建一個helloworld目錄,我們用它來存放helloworld程序及相關(guān)文件,如在/home/my/build下:

$ mkdir helloword$ cd helloworld2、 helloworld.c

然后用你自己最喜歡的編輯器寫一個hellowrold.c文件,如命令:vi helloworld.c。使用下面的代碼作為helloworld.c的內(nèi)容。

int main(int argc, char** argv){ printf('Hello, Linux World! '); return 0;}

完成后保存退出。現(xiàn)在在helloworld目錄下就應(yīng)該有一個你自己寫的helloworld.c了。

3、生成configure

我們使用autoscan命令來幫助我們根據(jù)目錄下的源代碼生成一個configure.in的模板文件。

命令:

$ autoscan$ lsconfigure.scan helloworld.c

執(zhí)行后在hellowrold目錄下會生成一個文件:configure.scan,我們可以拿它作為configure.in的藍(lán)本。

4,生成configure.in

現(xiàn)在將configure.scan改名為configure.in,并且編輯它,按下面的內(nèi)容修改,去掉無關(guān)的語句:

Code============================configure.in內(nèi)容開始=========================================# -*- Autoconf -*-# Process this file with autoconf to produce a configure script.AC_INIT(helloworld.c)AM_INIT_AUTOMAKE(helloworld, 1.0)# Checks for programs.AC_PROG_CC# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT(Makefile)============================configure.in內(nèi)容結(jié)束=========================================5 執(zhí)行aclocal和autoconf

然后執(zhí)行命令aclocal和autoconf,分別會產(chǎn)生aclocal.m4及configure兩個文件:

$ aclocal$lsaclocal.m4 configure.in helloworld.c$ autoconf$ lsaclocal.m4 autom4te.cache configure configure.in helloworld.c

大家可以看到configure.in內(nèi)容是一些宏定義,這些宏經(jīng)autoconf處理后會變成檢查系統(tǒng)特性、環(huán)境變量、軟件必須的參數(shù)的shell腳本。

autoconf 是用來生成自動配置軟件源代碼腳本(configure)的工具。configure腳本能獨(dú)立于autoconf運(yùn)行,且在運(yùn)行的過程中,不需要用戶的干預(yù)。

要生成configure文件,你必須告訴autoconf如何找到你所用的宏。方式是使用aclocal程序來生成你的aclocal.m4。

aclocal根據(jù)configure.in文件的內(nèi)容,自動生成aclocal.m4文件。aclocal是一個perl 腳本程序,它的定義是:“aclocal - create aclocal.m4 by scanning configure.ac”。

autoconf從configure.in這個列舉編譯軟件時所需要各種參數(shù)的模板文件中創(chuàng)建configure。

autoconf需要GNU m4宏處理器來處理aclocal.m4,生成configure腳本。

m4是一個宏處理器。將輸入拷貝到輸出,同時將宏展開。宏可以是內(nèi)嵌的,也可以是用戶定義的。除了可以展開宏,m4還有一些內(nèi)建的函數(shù),用來引用文件,執(zhí)行命令,整數(shù)運(yùn)算,文本操作,循環(huán)等。m4既可以作為編譯器的前端,也可以單獨(dú)作為一個宏處理器.

6、新建Makefile.am

新建Makefile.am文件,命令:$ vi Makefile.am

內(nèi)容如下:

AUTOMAKE_OPTIONS=foreignbin_PROGRAMS=helloworldhelloworld_SOURCES=helloworld.c

automake會根據(jù)你寫的Makefile.am來自動生成Makefile.in。Makefile.am中定義的宏和目標(biāo),會指導(dǎo)automake生成指定的代碼。例如,宏bin_PROGRAMS將導(dǎo)致編譯和連接的目標(biāo)被生成。

7、運(yùn)行automake

命令:

$ automake --add-missingconfigure.in: installing `./install-sh’configure.in: installing `./mkinstalldirs’configure.in: installing `./missing’Makefile.am: installing `./depcomp’

automake會根據(jù)Makefile.am文件產(chǎn)生一些文件,包含最重要的Makefile.in。

8、執(zhí)行configure生成Makefile

$ ./configurechecking for a BSD-compatible install /usr/bin/install -cchecking whether build environment is sane yeschecking for gawk gawkchecking whether make sets $(MAKE) yeschecking for gcc gccchecking for C compiler default output a.outchecking whether the C compiler works yeschecking whether we are cross compiling nochecking for suffix of executableschecking for suffix of object files ochecking whether we are using the GNU C compiler yeschecking whether gcc accepts -g yeschecking for gcc option to accept ANSI C none neededchecking for style of include used by make GNUchecking dependency style of gcc gcc3configure: creating ./config.statusconfig.status: creating Makefileconfig.status: executing depfiles commands$ ls -l Makefile-rw-rw-r-- 1 yutao yutao 15035 Oct 15 10:40 Makefile

你可以看到,此時Makefile已經(jīng)產(chǎn)生出來了。

9、使用Makefile編譯代碼

$ makeif gcc -DPACKAGE_NAME='' -DPACKAGE_TARNAME='' -DPACKAGE_VERSION='' -DPACKAGE_STRING='' -DPACKAGE_BUGREPORT='' -DPACKAGE='helloworld' -DVERSION='1.0'-I. -I. -g -O2 -MT helloworld.o -MD -MP -MF '.deps/helloworld.Tpo'-c -o helloworld.o `test -f ’helloworld.c’ || echo ’./’`helloworld.c;then mv -f '.deps/helloworld.Tpo' '.deps/helloworld.Po';else rm -f '.deps/helloworld.Tpo'; exit 1;figcc -g -O2 -o helloworld helloworld.o10, 運(yùn)行helloworld

$ ./helloworldHello, Linux World!

這樣helloworld就編譯出來了,你如果按上面的步驟來做的話,應(yīng)該也會很容易地編譯出正確的helloworld文件。你還可以試著使用一些其他的make命令,如make clean,make install,make dist,看看它們會給你什么樣的效果。感覺如何?自己也能寫出這么專業(yè)的Makefile,老板一定會對你刮目相看。

四、深入淺出

針對上面提到的各個命令,我們再做些詳細(xì)的介紹。

1、 autoscan

autoscan是用來掃描源代碼目錄生成configure.scan文件的。autoscan可以用目錄名做為參數(shù),但如果你不使用參數(shù)的話,那么autoscan將認(rèn)為使用的是當(dāng)前目錄。autoscan將掃描你所指定目錄中的源文件,并創(chuàng)建configure.scan文件。

2、 configure.scan

configure.scan包含了系統(tǒng)配置的基本選項(xiàng),里面都是一些宏定義。我們需要將它改名為configure.in

3、 aclocal

aclocal是一個perl 腳本程序。aclocal根據(jù)configure.in文件的內(nèi)容,自動生成aclocal.m4文件。aclocal的定義是:“aclocal - create aclocal.m4 by scanning configure.ac”。

4、 autoconf

使用autoconf,根據(jù)configure.in和aclocal.m4來產(chǎn)生configure文件。configure是一個腳本,它能設(shè)置源程序來適應(yīng)各種不同的操作系統(tǒng)平臺,并且根據(jù)不同的系統(tǒng)來產(chǎn)生合適的Makefile,從而可以使你的源代碼能在不同的操作系統(tǒng)平臺上被編譯出來。

configure.in文件的內(nèi)容是一些宏,這些宏經(jīng)過autoconf 處理后會變成檢查系統(tǒng)特性、環(huán)境變量、軟件必須的參數(shù)的shell腳本。configure.in文件中的宏的順序并沒有規(guī)定,但是你必須在所有宏的最前面和最后面分別加上AC_INIT宏和AC_OUTPUT宏。

在configure.ini中:

#號表示注釋,這個宏后面的內(nèi)容將被忽略。

AC_INIT(FILE) 這個宏用來檢查源代碼所在的路徑。

AM_INIT_AUTOMAKE(PACKAGE, VERSION) 這個宏是必須的,它描述了我們將要生成的軟件包的名字及其版本號:PACKAGE是軟件包的名字,VERSION是版本號。當(dāng)你使用make dist命令時,它會給你生成一個類似helloworld-1.0.tar.gz的軟件發(fā)行包,其中就有對應(yīng)的軟件包的名字和版本號。

AC_PROG_CC這個宏將檢查系統(tǒng)所用的C編譯器。

AC_OUTPUT(FILE)這個宏是我們要輸出的Makefile的名字。

我們在使用automake時,實(shí)際上還需要用到其他的一些宏,但我們可以用aclocal 來幫我們自動產(chǎn)生。執(zhí)行aclocal后我們會得到aclocal.m4文件。

產(chǎn)生了configure.in和aclocal.m4 兩個宏文件后,我們就可以使用autoconf來產(chǎn)生configure文件了。

5、 Makefile.am

Makefile.am是用來生成Makefile.in的,需要你手工書寫。Makefile.am中定義了一些內(nèi)容:

AUTOMAKE_OPTIONS這個是automake的選項(xiàng)。在執(zhí)行automake時,它會檢查目錄下是否存在標(biāo)準(zhǔn)GNU軟件包中應(yīng)具備的各種文件,例如AUTHORS、ChangeLog、NEWS等文件。我們將其設(shè)置成foreign時,automake會改用一般軟件包的標(biāo)準(zhǔn)來檢查。

bin_PROGRAMS這個是指定我們所要產(chǎn)生的可執(zhí)行文件的文件名。如果你要產(chǎn)生多個可執(zhí)行文件,那么在各個名字間用空格隔開。

helloworld_SOURCES這個是指定產(chǎn)生“helloworld”時所需要的源代碼。如果它用到了多個源文件,那么請使用空格符號將它們隔開。比如需要helloworld.h,helloworld.c那么請寫成helloworld_SOURCES= helloworld.h helloworld.c。

如果你在bin_PROGRAMS定義了多個可執(zhí)行文件,則對應(yīng)每個可執(zhí)行文件都要定義相對的filename_SOURCES。

6、 automake

我們使用automake,根據(jù)configure.in和Makefile.am來產(chǎn)生Makefile.in。

選項(xiàng)--add-missing的定義是“add missing standard files to package”,它會讓automake加入一個標(biāo)準(zhǔn)的軟件包所必須的一些文件。

我們用automake產(chǎn)生出來的Makefile.in文件是符合GNU Makefile慣例的,接下來我們只要執(zhí)行configure這個shell 腳本就可以產(chǎn)生合適的Makefile 文件了。

7、 Makefile

在符合GNU Makefiel慣例的Makefile中,包含了一些基本的預(yù)先定義的操作:

make根據(jù)Makefile編譯源代碼,連接,生成目標(biāo)文件,可執(zhí)行文件。

make clean清除上次的make命令所產(chǎn)生的object文件(后綴為“.o”的文件)及可執(zhí)行文件。

make install將編譯成功的可執(zhí)行文件安裝到系統(tǒng)目錄中,一般為/usr/local/bin目錄。

make dist產(chǎn)生發(fā)布軟件包文件(即distribution package)。這個命令將會將可執(zhí)行文件及相關(guān)文件打包成一個tar.gz壓縮的文件用來作為發(fā)布軟件的軟件包。它會在當(dāng)前目錄下生成一個名字類似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我們在configure.in中定義的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。

make distcheck生成發(fā)布軟件包并對其進(jìn)行測試檢查,以確定發(fā)布包的正確性。這個操作將自動把壓縮包文件解開,然后執(zhí)行configure命令,并且執(zhí)行make,來確認(rèn)編譯不出現(xiàn)錯誤,最后提示你軟件包已經(jīng)準(zhǔn)備好,可以發(fā)布了。make distclean類似make clean,但同時也將configure生成的文件全部刪除掉,包括Makefile。

五、過程圖示

Linux下使用autoconf和automake生成Makefile原理詳解

六、結(jié)束語

通過上面的介紹,你應(yīng)該可以很容易地生成一個你自己的符合GNU慣例的Makefile文件及對應(yīng)的項(xiàng)目文件。如果你想寫出更復(fù)雜的且符合慣例的Makefile,你可以參考一些開放代碼的項(xiàng)目中的configure.in和Makefile.am文件,比如:嵌入式數(shù)據(jù)庫sqlite,單元測試cppunit。

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 欧美成人精品在线观看 | 亚洲国产精品久久久久 | 欧美日韩麻豆 | 免费看成人毛片 | jlzzjlzz亚洲女人 | 又黄又爽又猛1000部a片 | 日日摸日日 | 人妻少妇av无码一区二区 | 国产999精品久久久影片官网 | 深夜视频在线观看免费 | 欧美寡妇性猛交 | 中文字幕一区二区三区久久蜜桃 | 亚洲精品av一二三区无码 | 成人免费视频在线观看 | 久久无码中文字幕免费影院蜜桃 | 久久亚洲精品无码aⅴ大香 人人妻人人玩人人澡人人爽 | 久久精品噜噜噜成人88aⅴ | 欧美精品一区二区三区四区 | 久久精品a一国产成人免费网站 | 日韩国产成人在线 | 国产91福利| 99精品国产一区二区三区麻豆 | 国产丰满麻豆videossexhd 无码少妇一区二区三区免费 | 捆绑凌虐一区二区三区 | 激情女主播| 能在线观看的av | 国产福利免费在线观看 | 午夜国内精品a一区二区桃色 | 岛国av免费在线观看 | 中文无码久久精品 | 亚洲免费在线观看 | 色妹av | 国产福利姬喷水福利在线观看 | 久久久免费精品 | 日韩精品在线一区 | 最新国产在线视频 | 天天做天天摸天天爽天天爱 | mm31美女爽爽爽爱做视频vr | 在线观看深夜视频 | 中文字幕日本精品一区二区三区 | 狂野欧美性猛交xxⅹ李丽珍 | 正在播放国产真实哭都没用 | 国产特级全黄一级97毛片 | 久久人人爽人人爽人人片av麻烦 | 少妇色视频 | 国产精品毛片a∨一区二区三区 | 秋霞午夜鲁丝一区二区老狼 | 日本免费高清 | play在线海量a v视频播放 | 日日摸天天做天天添天天欢 | 午夜免费学生在线观看av | 美女诱惑一区二区 | 青青艹在线观看 | 欧洲做受高潮免费看 | 久久91精品 | 私拍在线 | 国产一级特黄视频 | 日韩一区二区三区视频在线 | 精品国产乱码久久久久久1区2区 | xxxxxxxx黄色片| 日韩精品毛片无码一区到三区 | 精品人伦一区二区三区蜜桃免费 | 欧美日韩成人 | 91丨九色丨91啦蝌蚪老版 | 亚洲资源在线播放 | 椎名空在线播放 | 国产精品国产三级国产专播品爱网 | 亚洲另类伦春色综合图片 | 五月天在线播放 | 亚洲午夜天堂吃瓜在线 | 香港三日本8a三级少妇三级99 | 182tv在线观看免费午夜免费线路 | 又粗又爽又猛高潮的在线视频 | 在线一区二区视频 | 亚洲aⅴ天堂av天堂无码麻豆 | 夜天干天干啦天干天天爽 | 萌白酱国产一区二区 | 婷婷激情网站 | 亚洲在线观看免费 | 欧美成人黄色小说 | 精品国产一区二区三区四区vr | 一边捏奶头一边高潮视频 | 天堂аⅴ在线地址8 | 午夜寂寞少妇aaa片毛片 | 日本3级网站 | 美丽姑娘国语版在线播放 | 日本一级淫片免费啪啪3 | 最黄一级片| 国产精品99久久久久的智能播放 | 深爱婷婷| 国产精品久久久久久久久绿色 | 超碰最新在线 | 国产一级淫片a按摩推澡按摩 | 成年人视频网址 | 各种少妇正面着bbw撒尿视频 | 深夜福利国产 | 国产黑色丝袜在线视频 | 日韩免费在线播放 | 亚洲欧美日韩在线不卡 | 日本乱淫a∨片 | 性一交一乱一乱一乱视频 | 无码人妻精品一二三区免费 | 中文字幕亚洲图片 | ass亚洲日本嫩体私拍ass | www.99热| 欧美黄在线观看 | 在线麻豆视频 | 秋霞影院午夜 | 拔插拔插海外华人永久免费 | 中文人妻熟女乱又乱精品 | 日本一二三不卡视频 | 四虎在线网址 | 91超碰免费在线 | 婷婷色婷婷| 免费av网站在线看 | 国产精品对白交换视频 | 亚洲综合伊人久久 | 日韩精品无码一本二本三本色 | 伊人av超碰久久久麻豆 | 中字av在线 | 国产偷国产偷亚洲高清人 | 夜夜高潮夜夜爽夜夜爱爱 | 另类亚洲色图 | 东北少妇不戴套对白第一次 | 日本人做爰大片免费网站 | 九九热国产在线 | 影音先锋在线视频 | 欧美成人一区二免费视频软件 | 中国白嫩丰满人妻videos | 天天色综合合 | 欧美成人做爰猛烈床戏 | 人妻尝试又大又粗久久 | 亚洲精品欧美 | 樱桃国产成人精品视频 | 午夜成人亚洲理伦片在线观看 | 天天射天天干天天色 | 国产精品1区2区3区4区 | 98视频精品全部国产 | 女人解开奶罩喂男人吃奶 | 欧美经典一区二区三区 | 日韩欧美国产一区二区 | 日韩亚洲欧美精品综合 | 丰满少妇理论片 | 国产精品无码一区二区在线观一 | 国产亚洲精品成人av久久ww | 人人做人人爱人人爽 | 亚洲欧美一级久久精品国产特黄 | 超碰在线公开 | 国产超碰人人模人人爽人人添 | 神马久久网 | 蜜臀av在线播放一区二区三区 | 久久婷婷激情综合色综合俺也去 | 五月天激情丁香 | 杨思敏全身裸体毛片看 | 最新中文字幕免费视频 | 国产乱码一区二区三区 | 女女互磨互喷水高潮les呻吟 | 日韩欧美天堂 | julia一区| 免费日韩av | 自拍偷拍在线播放 | 西方裸体在线观看 | 啪啪免费视频网站 | 亚洲国产精品成人天堂 | 欧美精品久久久久久久久免 | 日产欧产美韩系列久久99 | 精品欧美色视频网站在线观看 | 亚洲春色综合另类网蜜桃 | 久草在线最新视频 | www.色综合| 国产精品国产精品国产专区蜜臀ah | 国产精品精品久久久久久 | 日韩理论视频 | 91亚洲国产成人久久精品麻豆 | 免费成人进口网站 | 黄色网战入口 | 国产精品成人va在线观看 | 欧美黑人添添高潮a片www | av在线一区二区三区 | 精品无码一区二区三区电影 | 免费特级黄毛片 | 精品国产一区二区三区麻豆仙踪林 | 一级毛片黄 | 日韩色小说 | 成人p站在线观看 | 日本公妇乱淫hd | 青青草手机在线 | 四虎wwwaa884成人精品视频 | 国产伦精品一区二区三区网站 | 亚洲国产成人欧美激情 | 婷婷丁香五月激情综合 | 成人综合婷婷国产精品久久蜜臀 | 日韩一级生活片 | 中日韩中文字幕 | 丁香婷婷综合激情五月色 | 久久疯狂做爰流白浆xxxⅹ | 婷婷综合另类小说色区 | 午夜影院激情av | 欧美特黄一级大片 | 国精产品一品二品国精在线观看 | 国产精品国产三级国产aⅴ入口 | 国产免费又色又爽粗视频 | 成人免费视频视频在线观看 免费 | 夜夜嗨av一区二区三区网页 | 亚洲欧美字幕 | 国产乱乱 | 熟女丰满老熟女熟妇 | 77777_亚洲午夜久久多人 | 天堂在线亚洲 | 91精品啪在线观看国产商店 | 美女福利视频一区 | 成人无码视频在线观看网站 | 精品一区二区三区免费视频 | 久久精品免费播放 | 毛茸茸日本熟妇高潮 | 久久久成人网 | 香港曰本韩国三级网站 | 欧美色哟哟 | 婷婷国产一区二区三区 | 99国内精品久久久久久久 | 国产精品久久精品三级 | 日本饥渴人妻欲求不满 | 亚洲精品偷拍 | 成人无码视频在线观看网站 | 杂技xxx裸体xxxx欧美 | av片网站| 国产乱淫a∨片免费观看 | 亚洲精品久久久久久久久久久久久久 | 亚洲精品少妇 | 精品视频一二三 | 成人免费毛片嘿嘿连载视频 | av中文字幕免费在线观看 | 精品少妇爆乳无码av无码专区 | 奇米影视奇奇米色狠狠色777 | 亚洲成人av免费在线观看 | 欧美午夜aaaaaa免费视频 | 性饥渴艳妇性色生活片在线播放 | 国产浮力第一页草草影院 | 人人爽人人爱 | 精品国产99久久久久久宅男i | 九九激情视频 | 第一区免费在线观看 | 欧美视频一区二区三区四区 | 性欧美色图 | 一女两夫做爰3p高h文 | 国产精品久久久久999 | 亚洲激情自拍 | 亚洲国产精品va在线看黑人动漫 | 久久99精品国产麻豆蜜芽 | 看av的网址| 中文字幕第12页 | www.夜色| 蜜臀av免费一区二区三区 | 狠狠草视频 | 一区二区午夜 | 少妇人妻偷人精品视频 | 成人免费xxxxxx视频 | 91久久国产婷婷一区二区 | 天天躁日日躁狠狠躁精品推荐 | 夜夜嗨国产精品 | 性调教学院高h学校 | 欧美色综合网站 | 中文一级片 | 9色porny自拍视频一区二区 | 久久精品久久久久观看99水蜜桃 | 爱爱一区二区三区 | sm捆绑一区二区三区 | 国产精品无套粉嫩白浆在线 | 久久久久久久久久久av | 久久精品黄aa片一区二区三区 | 青青青草网站免费视频在线观看 | 久久人妻天天av | 精品国产福利在线 | 性生交大片免费视频网站 | 超碰人人爱人人 | 欧美一区二区影院 | 欧美经典一区二区三区 | 97精品国产 | 欧美人成在线 | 亚洲日韩国产中文其他 | 伊人夜夜 | 日日摸日日添日日碰9学生露脸 | 亚洲欧美在线视频 | 91亚洲国产成人精品性色 | 六姐妹免费在线观看 | 69午夜免费福利 | 久操视频免费在线观看 | 蜜臀av性久久久久蜜臀aⅴ | 四虎影库| 日日日操操操 | 黄色一级视屏 | 国产喷白浆一区二区三区 | 久草成人网 | 国产在线视频一区二区董小宛性色 | 性猛交富婆xxxx乱大 | 国内精自线一二三四在线看 | 精品视频入口 | 国产精品爽爽久久久久久 | 亚洲成人黄色影院 | 67194成人手机在线 | 国产女人爽到高潮a毛片 | 午夜一区二区国产好的精华液 | 哪里可以看免费毛片 | 无码乱人伦一区二区亚洲一 | 精品久久久久成人码免费动漫 | 日本三级黄色大片 | 美女视频黄的全免费视频网站 | 牛牛精品一区二区 | 波多野结衣a级片 | 亚洲精品国精品久久99热一 | 国内精品久久久久影视老司机 | 无码人妻精品一区二区三区不卡 | 成人免费高清视频 | 欧美大片在线看 | 55夜色66夜色国产精品视频 | 亚州中文字幕蜜桃视频 | 国产超碰人人爽人人做人人爱 | 激情综合色五月六月婷婷 | 蜜桃精品噜噜噜成人av | 91原创视频在线观看 | 精品国产成人一区二区 | 激情射精爽到偷偷c视频无码 | 日欧一片内射va在线影院 | 台湾佬成人中娱网222vvvv | 欧日韩一区二区三区 | 国产情侣呻吟对白高潮 | 精品国产乱码久久久久久牛牛 | 欧美日韩一级大片 | 精品久久久久久久久久软件 | 日韩精品亚洲人成在线观看 | 久久99精品国产麻豆宅宅 | 看欧美一级片 | 日韩国精品一区二区a片 | tushy欧美激情在线观看 | 天堂在线成人 | 欧美成人免费网站 | 日日爱视频 | 日本三级带日本三级带66 | 亚洲精品国产精品国自产 | 久久久久久久久91 | 中文字幕第一页亚洲 | 国产无人区码一码二码三mba | 亚洲国产中文字幕在线视频综合 | 亚洲欧洲日韩一区二区三区 | 国产美女在线播放 | 午夜精品久久久久久99热小说 | 久久特黄视频 | 黄色激情在线观看 | 国产真实乱人偷精品视频 | 亚洲最大的网站 | 夜夜爽妓女8888888视频 | 精品久久久久久久免费人妻 | 免费一级日韩欧美性大片 | 亚洲第一成年人网站 | 中文字幕三级视频 | 国产日韩欧美在线观看视频 | 国产精品一二三四五区 | 欧美一区二区三区四区五区 | 香蕉av777xxx色综合一区 | 91亚洲欧美 | 黄色自拍视频 | 国产日韩中文字幕 | av在线地址 | 999zyz玖玖资源站在线观看 | 成人av网站在线 | 亚洲一区二区中文字幕 | 成人三一级一片aaa 成人涩涩 | 亚洲精品无码午夜福利中文字幕 | 国产91www| 久草国产在线 | 日韩性色 | 亚洲精品一区二区三区高潮 | 黑人一区二区三区四区五区 | 日本少妇喷水 | 国产乱码卡一卡2卡三卡四 国产精品国产三级国产专区53 | 精品人妻系列无码一区二区三区 | 69精品久久久久久久 | 美女黄在线观看 | 四虎国产精品成人永久免费影视 | 免费成人在线视频网站 | ⅹ一art唯美在线观看 | 欧美肥妇毛多水多bbxx | 欧美变态口味重另类在线视频 | 色狠狠久久aa北条麻妃 | 青青青国产视频 | av黄色免费 | 好紧好爽再进去一点在线视频 | 一区二区三区中文字幕 | av在线网址大全 | 大屁股熟女一区二区三区 | 国产精品九九视频 | 国产黄色在线网站 | 亚洲激情av在线 | 久久国产精品福利一区二区三区 | 中文字幕av久久爽一区 | 免费人成视频网站在线观看18 | 18涩涩午夜精品www | 天天做天天爱夜夜爽 | 上床视频在线观看 | 奇米影视7777久久精品 | 久久精品一区二区三区中文字幕 | 99热这里只有精品3 99热这里只有精品4 | 96超碰在线 | 日韩你懂的 | 天干天干天啪啪夜爽爽99 | 欧美亚洲国产成人一区二区三区 | 国产精品久久一区性色av图片 | 午夜dj在线观看免费视频 | 成人交性视频免费看 | 天下第一社区视频www日本 | 成人动漫在线观看视频 | 国产另类视频 | 永久免费不卡在线观看黄网站 | 污网站免费观看 | 欧美aaaaaa| 爱看av在线入口 | 老司机午夜精品视频资源 | 特黄做受又粗又大又硬老头 | 国内精品视频在线 | 国产无线一二三四区手机 | 精品欧美一区二区精品久久久 | 中文字幕久久久久人妻中出 | 久久久精品久久久久久96 | 欧美黄色性生活 | 色偷偷噜噜噜亚洲男人 | 啦啦啦中文在线视频免费观看 | 免费中文字幕视频 | 免费福利视频在线观看 | 麻豆精品久久久久久久99蜜桃 | 老子影院午夜精品无码 | 五月天久久综合 | 美女嘘嘘嘘aaaaaaaa级 | 91网站在线免费观看 | 18禁肉肉无遮挡无码网站 | 亚洲wwww| 99精品久久久久久久 | 99久久精品国产系列 | 福利视频一二三区 | 三a级做爰| av首页在线观看 | 波多野结衣在线观看一区二区三区 | 2020最新无码福利视频 | 国产视频首页 | 精品一区二区三区免费视频 | 国模福利视频 | 在线成人福利 | 久草国产在线视频 | 欧美成人手机视频 | 搞av网| 亚洲精品视频国产 | 免费人成视频在线观看视频 | av黄色软件 | 国产精品v一区二区三区 | 四虎看黄 | 成人h片在线观看 | 国产毛片久久久久久美女视频 | 色网在线免费观看 | 欧美日本韩国在线 | 国产成人精品av久久 | 久久夜色av | 性色av无码不卡中文字幕 | av一二三| 99在线观看精品视频 | 91精品国产91久久久久久久久 | 日本高清三区 | 91精品综合久久久久久 | 欧美黄色一区 | 毛片黄色一级 | 欧美成人午夜激情 | 亚洲男人的天堂在线播放 | 亚洲日韩久久综合中文字幕 | 一级淫片a| 男人用嘴添女人下身免费视频 | 555www成人网| 二宫光在线播放88av | 国产黄a三级三级三级av在线看 | 日韩成人高清视频在线观看 | 久久尤物 | 免费特级黄毛片 | 狠狠艹狠狠干 | 亚洲国产精品va在线看黑人 | 亚洲加勒比久久88色综合 | 性高潮网站 | 国产免费一级视频 | 国产一区亚洲二区三区 | 国产精品乱码一区二区三区四川人 | 国产日韩中文字幕 | 精品国产免费一区二区三区 | 狠狠色视频 | 亚洲色成人网站www永久男男 | 婷婷综合少妇啪啪喷水动态小说 | 国产女同玩人妖 | 亚洲の无码国产の无码影院 | 乡下小少妇xxxxx性开教 | n0659极腔濑亚美莉在线播放播放 | 精品国产乱码久久久久久三级人 | 亚洲tv久久 | 婷婷色一区二区三区 | 国产精品视频在线播放 | 久久泄欲网 | 天天拍夜夜操 | 国产精品毛片在线完整版 | 亚洲精品一区二区三区高潮 | 丰满饥渴的少妇hd | 色一情一乱一伦一视频免费看 | 欧美激情一区二区三区p站 欧美激情一区二区三区蜜桃视频 | 久草热在线 | 久久影视网 | 亚洲人成网站免费播放 | 亚洲一级视频在线观看 | 国产成人三级在线视频 | 亚洲国产成人久久综合 | 拔插拔插海外华人永久免费 | 日韩和欧美一区二区三区 | 国产激情无码一区二区 | 日韩一区免费 | 懂色av一区二区三区在线播放 | 白峰美羽在线播放 | 天堂欧美城网站网址 | 不卡无码人妻一区二区三区 | 国产成人欧美一区二区三区的 | 播放毛片 | 国产成人剧情av麻豆果冻 | 波多野结衣一区二区三区高清 | 国产精品久久久久久久久电影网 | 漂亮人妻被中出中文字幕久久 | 黄色精品一区二区 | 国产精品无码无在线观看 | 国产精品久久久久久免费免熟 | 久久99久久久 | aaa级片 | 免费无码黄动漫在线观看 | 国产成人无码av片在线观看不卡 | 丰满少妇xbxb毛片日本视频 | 毛片无遮挡高清免费观看 | 亚洲免费成人 | 小伸进91动漫 | jvid福利写真一区二区三区 | 精品视频一区在线观看 | 色综合久久久无码中文字幕波多 | 日韩在线免费视频观看 | 久久久久久国产 | 亚洲91精品 | 91字幕网| 亚洲日本网站 | 九色porny丨精品自拍 | 亚洲自拍网站 | 精品国产日韩亚洲一区 | 午夜三级影院 | 亚洲日韩av在线观看 | 鲁一鲁一鲁一鲁一av | 国产丝袜美女 | 91青青青| 亚洲免费观看av | 黄色av网站免费 | 亚洲丶国产丶欧美一区二区三区 | 国产亚洲美女精品久久久2020 | 久久婷婷久久一区二区三区 | √最新版天堂资源在线 | 青草青草久热精品视频在线观看 | 国产精品无码免费播放 | 一本到不卡 | 少妇做爰xxxⅹ性视频 | 久久免费看视频 | 中文字幕一区二区三区乱码 | 国产剧情久久久 | 国产另类视频 | 超碰一区二区 | 日韩人妻不卡一区二区三区 | 77777亚洲午夜久久多人 | 在线免费av观看 | 日韩 欧美 动漫 国产 制服 | 亚洲一区二区免费视频 | 欧美激情国产精品 | 欧美精品一二三 | 欧美乱妇狂野欧美在线视频 | 少妇搡bbbb搡bbbb | 黄色高潮视频 | 国产精品99久久久久久久久 | 少妇一边呻吟一边说使劲视频 | 国产真实乱 | 韩国美女福利视频 | 亚洲一区视频在线 | 亚洲 国产 日韩 欧美 | 在线观看欧美 | 国产精品久久久久久久久鸭 | 美国毛片av| 国产乱子经典视频在线观看 | 偷拍一区二区三区在线婷婷 | 久久精品国产亚洲精品 | 尤物av无码色av无码 | 99精品久久久久久 | 一二区免费视频 | 国产自在自拍 | 人人妻一区二区三区 | 噼里啪啦国语版在线观看 | 99re在线视频免费观看 | 黄色网av| 欧美中文字幕第一页 | 黄色视频毛片 | 一二三四区在线 | 久久99精品久久久久久园产越南 | 欧美激情视频网址 | 粉嫩精品国产色综合久久不8 | 午夜精品久久久久 | 国产又色又爽又黄刺激视频 | 牛牛影视一区二区三区免费看 | 91秘密入口| 欧美精品乱码视频一二专区 | 国产男女在线 | 在线免费观看av网址 | 国产午夜亚洲精品不卡 | 粉嫩av.com| 国产成人免费高清激情视频 | 毛片免费全部无码播放 |