その他/依存関係を記したMakefileのサンプル
の編集
Top
/
その他
/
依存関係を記したMakefileのサンプル
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * Makefileのサンプル [#d68be360] 本資料は、ヘッダーファイル、Cソースファイルの各依存関係を記したMakefileのサンプルになります。 #htmlinsertpcsp(c-top.html,c-sp.html) #contents * Cサンプルソースなどの説明 [#bae7f9f8] 本資料で使用しているCサンプルソース、ヘッダーファイルは以下の通りです。~ main.cからsub1.c, sub2.cの関数を呼び出します。~ また、sub1.h, sub2.hも用意してあります。 #ref(01.gif) ** main.c [#r2c159d5] sub1.c, sub2.c の呼び出し元となる main.c は以下の通りです。 &ref(main.c); (改行コードLF) #include <stdio.h> #include "sub1.h" #include "sub2.h" int main(void) { sub1_func(); sub2_func(); return 0; } ** sub1.c, sub1.h [#m70342e7] main.cから呼び出されるsub1_func()のサンプルソースとヘッダーファイルです。 *** sub1.h [#w6f2d549] &ref(sub1.h); (改行コードLF) #ifndef __SUB1_H__ #define __SUB1_H__ extern void sub1_func(void); #endif *** sub1.c [#i8fba2a3] &ref(sub1.c); (改行コードLF) #include <stdio.h> #include "sub1.h" void sub1_func(void) { printf("HELLO!\n"); } ** sub2.c, sub2.h [#jebfe7b6] main.cから呼び出されるsub2_func()のサンプルソースとヘッダーファイルです。 *** sub2.h [#j829e0bf] &ref(sub2.h); (改行コードLF) #ifndef __SUB2_H__ #define __SUB2_H__ extern void sub2_func(void); #endif *** sub2.c [#q3104846] &ref(sub2.c); (改行コードLF) #include <stdio.h> #include "sub2.h" void sub2_func(void) { printf("BYE!\n"); } * サンプルMakeファイル [#x84101d0] 以下に上記のCサンプルソース、ヘッダーファイルの依存関係を記したMakefileを記します。 &ref(Makefile); (改行コードLF) # # Sample Makefile # CC = gcc CFLAGS=-O OBJS = main.o sub1.o sub2.o TARGET = sample sample: main.o sub1.o sub2.o $(CC) $(CFLAGS) $(OBJS) -o $(TARGET) main.o: main.c $(CC) -c main.c sub1.o: sub1.c sub1.h $(CC) -c sub1.c sub2.o: sub2.c sub2.h $(CC) -c sub2.c clean: rm -f $(OBJS) $(TARGET) 上記のMakefileを簡単に説明します。~ - CC~ コンパイラを指定しています。この場合はgccです。 - OBJS~ コンパイルにて出力されるオブジェクトファイル名を指定しています。 - TARGET~ 実行ファイル名を指定しています。 -sample~ 実行ファイルに依存するオブジェクトファイルを指定しています。~ またコンパイルし実行ファイルを出力する構文を指定してあります。 -main.o~ main.oのファイルに依存するソースファイルを指定しています。 -sub1.o~ sub1.oのファイルに依存するソースファイルを指定しています。 -sub2.o~ sub2.oのファイルに依存するソースファイルを指定しています。 -clean~ make cleanによりオブジェクトファイルおよび実行ファイルを削除します。 * Makeしてみる [#z17ab4e0] 以下に端末からmakeして実行した時のオペレーションを記します。 $ make gcc -c main.c gcc -c sub1.c gcc -c sub2.c gcc -O main.o sub1.o sub2.o -o sample $ ./sample HELLO! BYE! $ make clean rm -f main.o sub1.o sub2.o sample 以上、Makefileのサンプルでした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
タイムスタンプを変更しない
#navi(../) * Makefileのサンプル [#d68be360] 本資料は、ヘッダーファイル、Cソースファイルの各依存関係を記したMakefileのサンプルになります。 #htmlinsertpcsp(c-top.html,c-sp.html) #contents * Cサンプルソースなどの説明 [#bae7f9f8] 本資料で使用しているCサンプルソース、ヘッダーファイルは以下の通りです。~ main.cからsub1.c, sub2.cの関数を呼び出します。~ また、sub1.h, sub2.hも用意してあります。 #ref(01.gif) ** main.c [#r2c159d5] sub1.c, sub2.c の呼び出し元となる main.c は以下の通りです。 &ref(main.c); (改行コードLF) #include <stdio.h> #include "sub1.h" #include "sub2.h" int main(void) { sub1_func(); sub2_func(); return 0; } ** sub1.c, sub1.h [#m70342e7] main.cから呼び出されるsub1_func()のサンプルソースとヘッダーファイルです。 *** sub1.h [#w6f2d549] &ref(sub1.h); (改行コードLF) #ifndef __SUB1_H__ #define __SUB1_H__ extern void sub1_func(void); #endif *** sub1.c [#i8fba2a3] &ref(sub1.c); (改行コードLF) #include <stdio.h> #include "sub1.h" void sub1_func(void) { printf("HELLO!\n"); } ** sub2.c, sub2.h [#jebfe7b6] main.cから呼び出されるsub2_func()のサンプルソースとヘッダーファイルです。 *** sub2.h [#j829e0bf] &ref(sub2.h); (改行コードLF) #ifndef __SUB2_H__ #define __SUB2_H__ extern void sub2_func(void); #endif *** sub2.c [#q3104846] &ref(sub2.c); (改行コードLF) #include <stdio.h> #include "sub2.h" void sub2_func(void) { printf("BYE!\n"); } * サンプルMakeファイル [#x84101d0] 以下に上記のCサンプルソース、ヘッダーファイルの依存関係を記したMakefileを記します。 &ref(Makefile); (改行コードLF) # # Sample Makefile # CC = gcc CFLAGS=-O OBJS = main.o sub1.o sub2.o TARGET = sample sample: main.o sub1.o sub2.o $(CC) $(CFLAGS) $(OBJS) -o $(TARGET) main.o: main.c $(CC) -c main.c sub1.o: sub1.c sub1.h $(CC) -c sub1.c sub2.o: sub2.c sub2.h $(CC) -c sub2.c clean: rm -f $(OBJS) $(TARGET) 上記のMakefileを簡単に説明します。~ - CC~ コンパイラを指定しています。この場合はgccです。 - OBJS~ コンパイルにて出力されるオブジェクトファイル名を指定しています。 - TARGET~ 実行ファイル名を指定しています。 -sample~ 実行ファイルに依存するオブジェクトファイルを指定しています。~ またコンパイルし実行ファイルを出力する構文を指定してあります。 -main.o~ main.oのファイルに依存するソースファイルを指定しています。 -sub1.o~ sub1.oのファイルに依存するソースファイルを指定しています。 -sub2.o~ sub2.oのファイルに依存するソースファイルを指定しています。 -clean~ make cleanによりオブジェクトファイルおよび実行ファイルを削除します。 * Makeしてみる [#z17ab4e0] 以下に端末からmakeして実行した時のオペレーションを記します。 $ make gcc -c main.c gcc -c sub1.c gcc -c sub2.c gcc -O main.o sub1.o sub2.o -o sample $ ./sample HELLO! BYE! $ make clean rm -f main.o sub1.o sub2.o sample 以上、Makefileのサンプルでした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
テキスト整形のルールを表示する
添付ファイル:
01.gif
490件
[
詳細
]
Makefile
445件
[
詳細
]
main.c
409件
[
詳細
]
sub1.c
430件
[
詳細
]
sub1.h
397件
[
詳細
]
sub2.c
421件
[
詳細
]
sub2.h
419件
[
詳細
]