#navi(contents-page-name): No such page: その他

Makefileのサンプル

本資料は、ヘッダーファイル、Cソースファイルの各依存関係を記したMakefileのサンプルになります。

c-top.html is not found or not readable.

Cサンプルソースなどの説明

本資料で使用しているCサンプルソース、ヘッダーファイルは以下の通りです。
main.cからsub1.c, sub2.cの関数を呼び出します。
また、sub1.h, sub2.hも用意してあります。

#ref(): File not found: "01.gif" at page "その他/依存関係を記したMakefileのサンプル"

main.c

sub1.c, sub2.c の呼び出し元となる main.c は以下の通りです。

&ref(): File not found: "main.c" at page "その他/依存関係を記したMakefileのサンプル"; (改行コードLF)

#include <stdio.h>
#include "sub1.h"
#include "sub2.h"

int main(void)
{
    sub1_func();
    sub2_func();

    return 0;
}

sub1.c, sub1.h

main.cから呼び出されるsub1_func()のサンプルソースとヘッダーファイルです。

sub1.h

&ref(): File not found: "sub1.h" at page "その他/依存関係を記したMakefileのサンプル"; (改行コードLF)

#ifndef __SUB1_H__
#define __SUB1_H__

extern void sub1_func(void);

#endif

sub1.c

&ref(): File not found: "sub1.c" at page "その他/依存関係を記したMakefileのサンプル"; (改行コードLF)

#include <stdio.h>
#include "sub1.h"

void sub1_func(void)
{
    printf("HELLO!\n");
}

sub2.c, sub2.h

main.cから呼び出されるsub2_func()のサンプルソースとヘッダーファイルです。

sub2.h

&ref(): File not found: "sub2.h" at page "その他/依存関係を記したMakefileのサンプル"; (改行コードLF)

#ifndef __SUB2_H__
#define __SUB2_H__

extern void sub2_func(void);

#endif

sub2.c

&ref(): File not found: "sub2.c" at page "その他/依存関係を記したMakefileのサンプル"; (改行コードLF)

#include <stdio.h>
#include "sub2.h"

void sub2_func(void)
{
    printf("BYE!\n");
}

サンプルMakeファイル

以下に上記のCサンプルソース、ヘッダーファイルの依存関係を記したMakefileを記します。

&ref(): File not found: "Makefile" at page "その他/依存関係を記した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を簡単に説明します。

Makeしてみる

以下に端末から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のサンプルでした。

c-btm.html is not found or not readable.

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS