Enviar pesquisa
Carregar
これだけMakefile (Basics of makefile)
•
Transferir como PPTX, PDF
•
0 gostou
•
327 visualizações
S
seichi23
Seguir
ざっくりこのくらいのこと知っとけば
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 9
Baixar agora
Recomendados
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Programming school 09
Programming school 09
Masato Nakajima
研究生のためのC++ no.7
研究生のためのC++ no.7
Tomohiro Namba
Cost of ovs receiving process
Cost of ovs receiving process
Takuya ASADA
ret2libc
ret2libc
sounakano
難しそうで難しくない少し難しいClojure並行処理
難しそうで難しくない少し難しいClojure並行処理
Naoyuki Kakuda
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
Recomendados
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Programming school 09
Programming school 09
Masato Nakajima
研究生のためのC++ no.7
研究生のためのC++ no.7
Tomohiro Namba
Cost of ovs receiving process
Cost of ovs receiving process
Takuya ASADA
ret2libc
ret2libc
sounakano
難しそうで難しくない少し難しいClojure並行処理
難しそうで難しくない少し難しいClojure並行処理
Naoyuki Kakuda
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
ParliamentでGeoSPARQL
ParliamentでGeoSPARQL
Teppei Inaba
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
shigeki_ohtsu
高速化のポイント
高速化のポイント
ryos36
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
Yuuki Namikawa
高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ
DADA246
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
Yosuke Onoue
Miyazaki.js vol.1 スコープの話
Miyazaki.js vol.1 スコープの話
Nobuhiro Nakashima
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方
Kazuki Ohta
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
nakamura001
Tarantubeでメッセージキューを使い倒す
Tarantubeでメッセージキューを使い倒す
Masashi Umezawa
20130215 fluentd esper_2
20130215 fluentd esper_2
Ogibayashi
Http
Http
Net Kanayan
チートシート
チートシート
Tsutomu Takeuchi
ret2dl resolve
ret2dl resolve
sounakano
131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation
Takayuki Nuimura
Python と私の事情
Python と私の事情
tsudaa
Varnishのログの眺め方
Varnishのログの眺め方
Iwana Chan
Git 実践入門
Git 実践入門
Yasutaka Kanzaki
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
Iwana Chan
Mais conteúdo relacionado
Mais procurados
ParliamentでGeoSPARQL
ParliamentでGeoSPARQL
Teppei Inaba
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
shigeki_ohtsu
高速化のポイント
高速化のポイント
ryos36
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
Yuuki Namikawa
高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ
DADA246
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
Yosuke Onoue
Miyazaki.js vol.1 スコープの話
Miyazaki.js vol.1 スコープの話
Nobuhiro Nakashima
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方
Kazuki Ohta
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
nakamura001
Tarantubeでメッセージキューを使い倒す
Tarantubeでメッセージキューを使い倒す
Masashi Umezawa
20130215 fluentd esper_2
20130215 fluentd esper_2
Ogibayashi
Http
Http
Net Kanayan
チートシート
チートシート
Tsutomu Takeuchi
ret2dl resolve
ret2dl resolve
sounakano
131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation
Takayuki Nuimura
Python と私の事情
Python と私の事情
tsudaa
Varnishのログの眺め方
Varnishのログの眺め方
Iwana Chan
Git 実践入門
Git 実践入門
Yasutaka Kanzaki
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
Iwana Chan
Mais procurados
(20)
ParliamentでGeoSPARQL
ParliamentでGeoSPARQL
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
高速化のポイント
高速化のポイント
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
高度に最適化された移植可能なメモリマネージャ
高度に最適化された移植可能なメモリマネージャ
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
Miyazaki.js vol.1 スコープの話
Miyazaki.js vol.1 スコープの話
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Google Perf Tools (tcmalloc) の使い方
Google Perf Tools (tcmalloc) の使い方
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
Tarantubeでメッセージキューを使い倒す
Tarantubeでメッセージキューを使い倒す
20130215 fluentd esper_2
20130215 fluentd esper_2
Http
Http
チートシート
チートシート
ret2dl resolve
ret2dl resolve
131101 foss4 g_tokyo_grass_shell_presentation
131101 foss4 g_tokyo_grass_shell_presentation
Python と私の事情
Python と私の事情
Varnishのログの眺め方
Varnishのログの眺め方
Git 実践入門
Git 実践入門
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
これだけMakefile (Basics of makefile)
1.
Makefile キホンのキ
2.
Makefile の基本ルール ターゲットファイル:依存ファイル1 依存ファイル2
… →Tab→実行コマンド ① 「ターゲットファイル」とすべての「依存ファイル」のタイムスタンプ を比較して ② 依存ファイルのいずれかが新しくなっていたら ③ 下に書かれているコマンドを実行する ※注意※ 実行コマンド行の先頭は必ずTabを使うこと(Spaceでは動作しない)
3.
Makefile の例 hello:hello.cpp →Tab→g++ -Wall
hello.cpp –o hello ① 実行ファイル hello とソースファイル hello.cpp のタイムスタンプを 比較して ② hello.cpp が新しくなっていたら ③ g++ … -o hello を実行する
4.
Makefile の例 (2) clean: →Tab→rm
–rf *.o ① clean というファイルがないので ② とにかく ③ rm … を実行する ※ cf. 例(6):.PHONY
5.
Makefile の例 (3) CC
= g++ CFLAGS = -g -Wall all: sample1 sample2 sample1: sample1.cpp $(CC) $(CFLAGS) -o sample1 sample1.cpp sample2: sample2.cpp $(CC) $(CFLAGS) -o sample2 sample2.cpp コマンドラインで make と打てば、 Makefile の最初のターゲットを実行する(上記ではmake all と同)
6.
Makefile の例 (4)
分割コンパイル CC = g++ CFLAGS = -g -Wall all: main.o sub.o $(CC) $(CFLAGS) -o main main.o sub.o main.o: main.cpp $(CC) $(CFLAGS) -o main.o -c main.cpp sub.o: sub.cpp sub.h $(CC) $(CFLAGS) -o sub.o -c sub.cpp コマンドラインで make と打てば、 変更された *.cpp, *.h に対するターゲットの *.o がコンパイルされ、 その *.o をリンクするための make all が実行される
7.
Makefile の例 (5)
サフィックスルール、自動変数 CC = g++ CFLAGS = -g -Wall .cpp.o: $(CC) $(CFLAGS) -o $@ -c $< all: main.o sub.o $(CC) $(CFLAGS) -o main main.o sub.o sub.o: sub.h
8.
Makefile の例 (6) CC
= $(CXX) CXXFLAGS += -g -Wall all: server client server: server.o socket.o client: client.o socket.o socket.o: socket.h clean: $(RM) *.o .PHONY: all clean サフィックスルールを理解していれば、 Makefile は最低限の差分だけ記述すればいい
9.
以上ここまで
Baixar agora