ディレクトリ構成

-APP
  |
  +--src
  |   |
  |   +--*.c
  |
  +--include
  |   |
  |   +--*.h
  |
  +--Makefile
  |
  +--app

Makefile

APPNAME=app
###########################################################################
# Which compiler
CC=gcc
FC=g77
###########################################################################
# Where to install
INSTDIR=~/
###########################################################################
# Where are include files kept
INCLUDE=-I./include -I/usr/include/libxml2
###########################################################################
# Compile option
CFLAGS=-g -Wall
#CFLAGS=-g

SRC:=$(wildcard ./src/*.c)
OBJ:=$(SRC:.c=.o)
###########################################################################
# Control Script
all: clean compile
clean:
    rm -f ./$(APPNAME)
    rm -f ./src/*.o
###########################################################################
# Body
compile: $(OBJ)
    $(CC) $(OBJ) -o $(APPNAME)

    # .so を作るとき
    # $(CC) $(OBJ) -shared -o $(APPNAME)

    # ./lib にある libmath.a にリンクするとき
    # $(CC) $(OBJ) -L./lib -lmath -o $(APPNAME)

%.o : %.c
    $(CC) $(INCLUDE) $(CFLAGS) -c $< -o $@

まさか、21世紀になって Makefile を書くことになるとは思わなかった


Computer


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2011-04-17 (日) 23:06:23 (2059d)
ISBN10
ISBN13
9784061426061