<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://mochiuwiki.e2.valueserver.jp/index.php?action=history&amp;feed=atom&amp;title=%E8%A8%AD%E5%AE%9A_-_Makefile</id>
	<title>設定 - Makefile - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://mochiuwiki.e2.valueserver.jp/index.php?action=history&amp;feed=atom&amp;title=%E8%A8%AD%E5%AE%9A_-_Makefile"/>
	<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;action=history"/>
	<updated>2026-07-01T01:08:06Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=13378&amp;oldid=prev</id>
		<title>2025年11月6日 (木) 21:07にWikiによる</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=13378&amp;oldid=prev"/>
		<updated>2025-11-06T21:07:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;amp;diff=13378&amp;amp;oldid=7137&quot;&gt;差分を表示&lt;/a&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=7137&amp;oldid=prev</id>
		<title>Wiki: /* Makefileの実行オプション */</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=7137&amp;oldid=prev"/>
		<updated>2023-04-13T11:33:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Makefileの実行オプション&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年4月13日 (木) 20:33時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l131&quot;&gt;131行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;131行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CentOS&lt;/del&gt;]][[カテゴリ:SUSE]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RHEL&lt;/ins&gt;]][[カテゴリ:SUSE]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mochiuwiki:diff:1.41:old-2282:rev-7137:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2282&amp;oldid=prev</id>
		<title>Wiki: /* Makfileの記述方法 */</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2282&amp;oldid=prev"/>
		<updated>2020-10-20T08:23:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Makfileの記述方法&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020年10月20日 (火) 17:23時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l45&quot;&gt;45行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;45行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  $(OBJS): $(SRCS)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  $(OBJS): $(SRCS)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         $(CC) $(CFLAGS) $(INCDIR) -c $(SRCS)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         $(CC) $(CFLAGS) $(INCDIR) -c $(SRCS)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # (xx) インストールディレクトリ&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; DEST     = /usr/local/bin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # (xx) &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; LDFLAGS  = -L/usr/local/lib&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # (11) make allコマンドを実行することにより、make cleanコマンドとmakeコマンドを実行する。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # (11) make allコマンドを実行することにより、make cleanコマンドとmakeコマンドを実行する。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mochiuwiki:diff:1.41:old-2281:rev-2282:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2281&amp;oldid=prev</id>
		<title>Wiki: /* Makefileとは = */</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2281&amp;oldid=prev"/>
		<updated>2020-10-20T08:00:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Makefileとは =&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020年10月20日 (火) 17:00時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;3行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;3行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Makefileとは ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= Makefileとは ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Makefileとは、C/C++のコンパイルに必要なコマンド、ソースコード、オプション、依存関係等を定義したファイルのことである。&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Makefileとは、C/C++のコンパイルに必要なコマンド、ソースコード、オプション、依存関係等を定義したファイルのことである。&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;コマンドを実行することにより、Makefileを使用してコンパイルを実行する。&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;コマンドを実行することにより、Makefileを使用してコンパイルを実行する。&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mochiuwiki:diff:1.41:old-2280:rev-2281:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2280&amp;oldid=prev</id>
		<title>Wiki: ページの作成:「== 概要 == C/C++で記述されたソースコードにおいて、コンパイルする時の定義を記述するMakefileについて記載する。&lt;br&gt; &lt;br&gt;&lt;br&gt;  = M…」</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=%E8%A8%AD%E5%AE%9A_-_Makefile&amp;diff=2280&amp;oldid=prev"/>
		<updated>2020-10-20T08:00:33Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「== 概要 == C/C++で記述されたソースコードにおいて、コンパイルする時の定義を記述するMakefileについて記載する。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  = M…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 概要 ==&lt;br /&gt;
C/C++で記述されたソースコードにおいて、コンパイルする時の定義を記述するMakefileについて記載する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Makefileとは ==&lt;br /&gt;
Makefileとは、C/C++のコンパイルに必要なコマンド、ソースコード、オプション、依存関係等を定義したファイルのことである。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;コマンドを実行することにより、Makefileを使用してコンパイルを実行する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Makefileのメリットは、以下の通りである。&amp;lt;br&amp;gt;&lt;br /&gt;
* コンパイルの手間が減り、ミスも少なくなる。(特に、大規模なプロジェクトであるほど恩恵は大きい)&lt;br /&gt;
* 共通のMakefileを用意することで、開発者間でコンパイルの定義が統一できる。&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Makfileの記述方法 ==&lt;br /&gt;
以下の例では、C/C++で記述されたソースコードをコンパイルするためのMakeifleを記述している。&amp;lt;br&amp;gt;&lt;br /&gt;
 # (1) コンパイラの指定(フルパスを記述してもよい)&lt;br /&gt;
 CC  = g++&lt;br /&gt;
 &lt;br /&gt;
 # (2) コンパイルオプション&lt;br /&gt;
 CFLAGS    =&lt;br /&gt;
 &lt;br /&gt;
 # (3) 実行ファイル名&lt;br /&gt;
 TARGET  = Sample&lt;br /&gt;
 &lt;br /&gt;
 # (4) コンパイル対象のソースコード&lt;br /&gt;
 SRCS    = Sample.cpp&lt;br /&gt;
 &lt;br /&gt;
 # (5) オブジェクトファイル名&lt;br /&gt;
 OBJS    = $(SRCS:.cpp=.o)&lt;br /&gt;
 &lt;br /&gt;
 # (6) インクルードファイルのあるディレクトリパス&lt;br /&gt;
 INCDIR  = -I../inc&lt;br /&gt;
 &lt;br /&gt;
 # (7) ライブラリファイルのあるディレクトリパス&lt;br /&gt;
 LIBDIR  = &lt;br /&gt;
 &lt;br /&gt;
 # (8) 追加するライブラリファイル&lt;br /&gt;
 LIBS    = &lt;br /&gt;
 &lt;br /&gt;
 # (9) ターゲットファイル生成&lt;br /&gt;
 $(TARGET): $(OBJS)&lt;br /&gt;
        $(CC) -o $@ $^ $(LIBDIR) $(LIBS)&lt;br /&gt;
 &lt;br /&gt;
 # (10) オブジェクトファイル生成&lt;br /&gt;
 $(OBJS): $(SRCS)&lt;br /&gt;
        $(CC) $(CFLAGS) $(INCDIR) -c $(SRCS)&lt;br /&gt;
 &lt;br /&gt;
 # (11) make allコマンドを実行することにより、make cleanコマンドとmakeコマンドを実行する。&lt;br /&gt;
 all: clean $(OBJS) $(TARGET)&lt;br /&gt;
 &lt;br /&gt;
 # (12) .oファイル、実行ファイル、.dファイルを削除する。&lt;br /&gt;
 clean:&lt;br /&gt;
        -rm -f $(OBJS) $(TARGET) *.d&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
上記の例において、3つのブロックに分けて説明する。&amp;lt;br&amp;gt;&lt;br /&gt;
# Makefileに必要な情報&lt;br /&gt;
# ターゲットの生成&lt;br /&gt;
# Makefileの実行オプション&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Makefileに必要な情報 ====&lt;br /&gt;
Makefileに必要な情報を記載する。(コンパイルの下準備)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 1. コンパイラ : CC&lt;br /&gt;
::: 使用するコンパイラを記載する。&lt;br /&gt;
::: ただし、上記の例では、C++をコンパイルするため、g++としている。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 2. コンパイルオプション : CFLAGS&lt;br /&gt;
::: コンパイルに使用するオプションを記述する。&lt;br /&gt;
::: 使用できる機能やコンパイル時に出力される警告等を制御することができる。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 3. 実行ファイル名 : TARGET&lt;br /&gt;
::: 実行ファイル名を決める。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 4. コンパイル対象のソースコード : SRCS&lt;br /&gt;
::: コンパイル対象のソースコードを指定する。&lt;br /&gt;
::: ソースファイルが複数ある場合は、以下のように、複数指定する。&lt;br /&gt;
::: &amp;lt;code&amp;gt;SRCS    = hoge1.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
::: &amp;lt;code&amp;gt;SRCS    += hoge2.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
::: &amp;lt;code&amp;gt;SRCS    += hoge3.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
: 5. オブジェクトファイル名 : OBJS&lt;br /&gt;
::: オブジェクトファイルの名称を定義します。&lt;br /&gt;
::: ソースファイル名と同一のオブジェクトファイルを作成することが多い。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 6. インクルードファイルのあるディレクトリパス : INCDIR&lt;br /&gt;
::: 参照するインクルードファイルが存在するパスを指定する。&lt;br /&gt;
::: なお、インクルードファイル名は不要である。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 7. ライブラリファイルのあるディレクトリパス : LIBDIR&lt;br /&gt;
::: 参照するライブラリファイルが存在するパスを指定する。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 8. 追加するライブラリファイル : LIBS&lt;br /&gt;
::: 参照するライブラリファイル名を指定する。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ターゲットの生成 ====&lt;br /&gt;
Makefileにおけるターゲットとは、TARGETとOBJSのことを指す。&amp;lt;br&amp;gt;&lt;br /&gt;
上記のセクションで示した情報を形成して、オブジェクトファイルと実行ファイルの生成ルールを記述する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 9. ターゲットファイル生成&lt;br /&gt;
::: 以下の2行の構成は、ターゲットファイルの生成ルールを記述している。&lt;br /&gt;
::: &amp;lt;code&amp;gt;$(TARGET): $(OBJS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:::     &amp;lt;code&amp;gt;$(CC) -o $@ $^ $(LIBDIR) $(LIBS)&amp;lt;/code&amp;gt;&lt;br /&gt;
::: 1行目は、&amp;lt;code&amp;gt;$(TARGET): $(OBJS)&amp;lt;/code&amp;gt;と記述して、TARGETがOBJSに依存することを示している。&lt;br /&gt;
::: 2行目は、コマンド行であり、リンク対象のライブラリを指定する。&lt;br /&gt;
::: 上記の例では、リンクするライブラリを指定しないため、OBJSとの依存関係のみ管理することになる。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 10. オブジェクトファイル生成&lt;br /&gt;
::: TARGETが依存するOBJSの生成ルールを指定する。&lt;br /&gt;
::: オブジェクトファイルは、ソースと機械語の中間ファイルに当たるため、ソースコードに依存する。&lt;br /&gt;
::: 基本的な記載ルールは、上記のターゲットファイルの生成と同じである。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====  Makefileの実行オプション ====&lt;br /&gt;
上記の&amp;lt;u&amp;gt;&amp;quot;Makefileに必要な情報&amp;quot;&amp;lt;/u&amp;gt;と&amp;lt;u&amp;gt;&amp;quot;ターゲットの生成&amp;quot;&amp;lt;/u&amp;gt;のみでコンパイル可能であるが、&amp;lt;br&amp;gt;&lt;br /&gt;
ここでは、&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;コマンドのルールを自由に定義することができる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
この設定を使用することにより、効率良くコンパイルできるようになる。&amp;lt;br&amp;gt;&lt;br /&gt;
以下に示す2つは、よく使用される設定である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 11. make allコマンドを実行することで、make cleanコマンドとmakeコマンドを実行する。&lt;br /&gt;
::: 上記の例では、make allコマンドを実行するだけで、前のビルド時に生成したファイルを削除した上で、再ビルドを実行する。&lt;br /&gt;
::: &amp;lt;br&amp;gt;&lt;br /&gt;
: 12. .oファイル、実行ファイル、.dファイルを削除する。&lt;br /&gt;
::: ビルドで生成したファイルを削除する。&lt;br /&gt;
::: 上記の例において、削除対象は、オブジェクトファイル、実行ファイル、そしてデフォルトで生成される依存関係ファイルを削除している。&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
[[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:CentOS]][[カテゴリ:SUSE]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>