SlideShare a Scribd company logo
1 of 64
Download to read offline
2012/12/1 Mozilla 勉強会@東京 8th




ね?簡単でしょ?
 Makefile.in
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




⾃⼰紹介
・名前:アベヒロキ (@hATrayflood)
・URL:rayflood.org/diary-temp/
・職業:⾃宅サーバ管理者
・勤務先:株式会社からくりもの


                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




今回は
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Makefile
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




の話                             by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




※実質NSEG26の続き


                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




  訂正                           by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




ビルドに必要なもの
・Visual C++ 2010 Express
・DirectX SDK June 2010
・Mozilla Build 1.6.1

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




現時点(firefox-20)で
ビルドに必要なもの

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Visual Studio 2010
に加え

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Visual Studio 2008
が必要になりました

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




mozilla/python/psutil
のビルドに必要です
(python⾃体が2008で
 ビルドされてる)
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




これから始める⼈は
2008 Expressをどぞー

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




おさらい
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




               ビルド
               ⼿順              by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




start-msvc10.bat
hg clone
 http://hg.mozilla.org/
 mozilla-central/

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




※30分くらいかかります
※1GBくらい必要です
会場ではやるなよ!
絶対だぞ!!
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




cd mozilla-central
make -f client.mk build
 > build.log 2>&1

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




標準の設定でビルドできます
ログは全部保存すべき
※1時間以上かかります
Core2 1.2GHzで7時間

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




帰ったら
トライしてね☆
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




本題                             by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




ツール                            by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




autoconf-2.13
と gnu make
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




ant?
cmake?
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




知らん
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




      主な登
      場⼈物                      by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Makefile
jar.mn
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




各フォルダにあります
Makefile.inから
Makefileを作成します
jar.mnはオプション
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Makefile.inが更新されると
make実⾏時にMakefileも
更新してから実⾏します

                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




なのでMakefile.in
を書き間違えると
とんでもないことに
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




 主なマクロ
  PROGRAM MODULE
  LIBRARY̲NAME
  CSRCS CPPSRCS
  DEFINES LIBS
  EXPORTS DIRS
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




jar.mnはchromeの
パッケージング定義
xulとかのソースですね
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




Makefileに書かなくても
あれば勝⼿にやってくれる
処理スクリプトは
config/JarMaker.py
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




jar.mnやxulソースの
処理⽅法については
@teramakoの
Preprocessorを参照
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




configure
autoconf.mk
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




ビルドの設定を⾏います
機能オプションや最適化
オプションの選択、ツール
のパスなど
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




mozilla/config/autoconf.mk.in
から objdir/config/autoconf.mk
を作成し、configureの結果を保存
各フォルダ内のMakefileから
includeします


                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




configureも
configure.inから
autoconfで作成
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




*.inはビルドの過程で
作成されるファイルの元
Makefile.inも同様
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




       主なパラメータ
        MOZ̲*
        MOZ̲ENABLE̲*
        OS̲ARCH
        ̲MSC̲VER
        GCC̲VERSION
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




config.mk
rules.mk
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




mozilla/configにあります
各フォルダのMakefileから
include
この2つでほぼすべての
ルールが設定されてます
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




主なターゲット
 $(PROGRAM)
 $(SHARED̲LIBRARY)
 export libs
 chrome Makefile
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




      全体的
      な流れ                      by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




       client.mk
       .mozconfig
       configure
       objdir/Makefile
       browser/build.mk
       toolkit-tiers.mk
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




         jemalloc
         nspr mozjs
         IDLコンパイル
         ヘッダのコピー
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




C/CPPコンパイル
xulパッケージング
xul.dllビルド
firefox.exeビルド
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




全部通ったら
make -C objdir/
 browser/installer
で配布⽤zipを作成します
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




注意                             by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




           nspr、js
           security
           は別世界
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




それぞれ独⾃の
ビルドルールを
持ってます
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




PGOは
慣れてから
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




時間は倍以上
ディスク容量は
3倍以上かかる
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




media/webrtc
でエラるかも
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




.mozconfigに
ac̲add̲options
 --disable-webrtc
を追加して逃げるのも⼿
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




補⾜                             by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




 パッチの作り⽅、
 投げ⽅については
 さねゆきくんの
 プレゼンを参照
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




まとめ                            by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




browser/devtools
とgaiaのローカライズ
協⼒者募集中
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




じゃのうて
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




  ビルドで困ったら
  主な登場⼈物を
  検索すれば
  なんとかなる
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




ね?簡単でしょ?
Makefile.in
                               by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




・リンク集
twitter @hATrayflood
http://twitter.com/hATrayflood
NSEG Vol.26 You should become a Mozillian !!
http://www.slideshare.net/hATrayflood/nseg26-you-should-become-a-mozillian
Visual Studio 2008 Express Edition SP1
http://www.microsoft.com/ja-jp/download/details.aspx?id=20682
Visual Studio 2010 Express
http://www.microsoft.com/ja-jp/dev/2010/product/express/offline.aspx
DirectX SDK June 2010
http://www.microsoft.com/en-us/download/details.aspx?id=6812
Mozilla Build 1.6.1
ftp://ftp.mozilla.org/pub/mozilla/libraries/win32/
Build Instructions - Developer Guide | MDN
https://developer.mozilla.org/en-US/docs/Developer̲Guide/Build̲Instructions
Mozilla Cross-Reference
http://mxr.mozilla.org/




                                                      by ABE Hiroki aka hATrayflood
2012/12/1 Mozilla 勉強会@東京 8th




twitter @teramako
http://twitter.com/teramako
Preprocessor
http://teramako.github.com/doc/modest-20120818/
twitter @saneyuki̲s
http://twitter.com/saneyuki̲s
そこの君、バグ報告から始めるMozillaへのcontributeのやり⽅教えてあげるからちょっと来なさい
http://www.slideshare.net/saneyuki/mozillacontribute
Mozilla Localization Team Japanese
https://l10n.mozilla.org/teams/ja
株式会社からくりもの
http://karakurimono.com/
LTTimer
http://karakurimono.biz/lttimer̲1̲1/




                                     by ABE Hiroki aka hATrayflood

More Related Content

Similar to Modest16 ね?簡単でしょ? makefile.in

Modest02 freetype2 on fx-3.6 win32
Modest02 freetype2 on fx-3.6 win32Modest02 freetype2 on fx-3.6 win32
Modest02 freetype2 on fx-3.6 win32
hATrayflood
 
Modest06 firefox 4 の l10 n について
Modest06 firefox 4 の l10 n についてModest06 firefox 4 の l10 n について
Modest06 firefox 4 の l10 n について
hATrayflood
 
Yapf2013
Yapf2013Yapf2013
Yapf2013
l_b__
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
Taku Unno
 

Similar to Modest16 ね?簡単でしょ? makefile.in (20)

Modest02 freetype2 on fx-3.6 win32
Modest02 freetype2 on fx-3.6 win32Modest02 freetype2 on fx-3.6 win32
Modest02 freetype2 on fx-3.6 win32
 
Modest06 firefox 4 の l10 n について
Modest06 firefox 4 の l10 n についてModest06 firefox 4 の l10 n について
Modest06 firefox 4 の l10 n について
 
20120907 osc-lt-docja
20120907 osc-lt-docja20120907 osc-lt-docja
20120907 osc-lt-docja
 
Introduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto ProjectIntroduce Yocto Project Japan and What want to make using Yocto Project
Introduce Yocto Project Japan and What want to make using Yocto Project
 
20120630 android ics in Yokohama
20120630 android ics in Yokohama20120630 android ics in Yokohama
20120630 android ics in Yokohama
 
Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917
 
Embedded Master2
Embedded Master2Embedded Master2
Embedded Master2
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linux
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
 
LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告LibreOffice Conference 2022 (ミラノ)参加報告
LibreOffice Conference 2022 (ミラノ)参加報告
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling report
 
Yapf2013
Yapf2013Yapf2013
Yapf2013
 
2012年4月22日 カーネル/VM探検隊
2012年4月22日 カーネル/VM探検隊2012年4月22日 カーネル/VM探検隊
2012年4月22日 カーネル/VM探検隊
 
Iot2bio2 20160521
Iot2bio2 20160521Iot2bio2 20160521
Iot2bio2 20160521
 
OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
ちょっとした冬休み準備をしよう
ちょっとした冬休み準備をしよう ちょっとした冬休み準備をしよう
ちょっとした冬休み準備をしよう
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)
 

More from hATrayflood

Nseg41 あなたの知らないjavascriptの基本
Nseg41 あなたの知らないjavascriptの基本Nseg41 あなたの知らないjavascriptの基本
Nseg41 あなたの知らないjavascriptの基本
hATrayflood
 
Nseg17 新世代firefox紹介
Nseg17 新世代firefox紹介Nseg17 新世代firefox紹介
Nseg17 新世代firefox紹介
hATrayflood
 
Nseg18 カレーとfirefox
Nseg18 カレーとfirefoxNseg18 カレーとfirefox
Nseg18 カレーとfirefox
hATrayflood
 
Nseg15 一般的じゃないpython入門
Nseg15 一般的じゃないpython入門Nseg15 一般的じゃないpython入門
Nseg15 一般的じゃないpython入門
hATrayflood
 
Modest09 j query事始め
Modest09 j query事始めModest09 j query事始め
Modest09 j query事始め
hATrayflood
 
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよModest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
hATrayflood
 
Nseg10 pcセキュリティの第一歩
Nseg10 pcセキュリティの第一歩Nseg10 pcセキュリティの第一歩
Nseg10 pcセキュリティの第一歩
hATrayflood
 
Devnaga6 高橋rf.html + printplusリリース
Devnaga6 高橋rf.html + printplusリリースDevnaga6 高橋rf.html + printplusリリース
Devnaga6 高橋rf.html + printplusリリース
hATrayflood
 
Nseg8 最近のパソコン事情について
Nseg8 最近のパソコン事情についてNseg8 最近のパソコン事情について
Nseg8 最近のパソコン事情について
hATrayflood
 
Nseg5 第17回北海道開発オフ参加報告
Nseg5 第17回北海道開発オフ参加報告Nseg5 第17回北海道開発オフ参加報告
Nseg5 第17回北海道開発オフ参加報告
hATrayflood
 
Nseg2 自宅サーバ運用について
Nseg2 自宅サーバ運用についてNseg2 自宅サーバ運用について
Nseg2 自宅サーバ運用について
hATrayflood
 
Devdo17 nsegの現状と課題
Devdo17 nsegの現状と課題Devdo17 nsegの現状と課題
Devdo17 nsegの現状と課題
hATrayflood
 
高橋Rf.html + printplus
高橋Rf.html + printplus高橋Rf.html + printplus
高橋Rf.html + printplus
hATrayflood
 

More from hATrayflood (17)

KancolleSnifferを引き継いだ話と次期バージョンについて
KancolleSnifferを引き継いだ話と次期バージョンについてKancolleSnifferを引き継いだ話と次期バージョンについて
KancolleSnifferを引き継いだ話と次期バージョンについて
 
Firefox Localization Meetup
Firefox Localization MeetupFirefox Localization Meetup
Firefox Localization Meetup
 
Nseg92 kotlin null safety
Nseg92 kotlin null safetyNseg92 kotlin null safety
Nseg92 kotlin null safety
 
Nseg57 ppaつくった話
Nseg57 ppaつくった話Nseg57 ppaつくった話
Nseg57 ppaつくった話
 
Nseg41 あなたの知らないjavascriptの基本
Nseg41 あなたの知らないjavascriptの基本Nseg41 あなたの知らないjavascriptの基本
Nseg41 あなたの知らないjavascriptの基本
 
Nseg17 新世代firefox紹介
Nseg17 新世代firefox紹介Nseg17 新世代firefox紹介
Nseg17 新世代firefox紹介
 
Nseg18 カレーとfirefox
Nseg18 カレーとfirefoxNseg18 カレーとfirefox
Nseg18 カレーとfirefox
 
Nseg15 一般的じゃないpython入門
Nseg15 一般的じゃないpython入門Nseg15 一般的じゃないpython入門
Nseg15 一般的じゃないpython入門
 
Modest09 j query事始め
Modest09 j query事始めModest09 j query事始め
Modest09 j query事始め
 
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよModest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
Modest08 core i7 2600とfirefox 4.0b9でベンチ測ってみたよ
 
Nseg10 pcセキュリティの第一歩
Nseg10 pcセキュリティの第一歩Nseg10 pcセキュリティの第一歩
Nseg10 pcセキュリティの第一歩
 
Devnaga6 高橋rf.html + printplusリリース
Devnaga6 高橋rf.html + printplusリリースDevnaga6 高橋rf.html + printplusリリース
Devnaga6 高橋rf.html + printplusリリース
 
Nseg8 最近のパソコン事情について
Nseg8 最近のパソコン事情についてNseg8 最近のパソコン事情について
Nseg8 最近のパソコン事情について
 
Nseg5 第17回北海道開発オフ参加報告
Nseg5 第17回北海道開発オフ参加報告Nseg5 第17回北海道開発オフ参加報告
Nseg5 第17回北海道開発オフ参加報告
 
Nseg2 自宅サーバ運用について
Nseg2 自宅サーバ運用についてNseg2 自宅サーバ運用について
Nseg2 自宅サーバ運用について
 
Devdo17 nsegの現状と課題
Devdo17 nsegの現状と課題Devdo17 nsegの現状と課題
Devdo17 nsegの現状と課題
 
高橋Rf.html + printplus
高橋Rf.html + printplus高橋Rf.html + printplus
高橋Rf.html + printplus
 

Modest16 ね?簡単でしょ? makefile.in