#
# @(#)Makefile (jumon)
# GNU make 用
#
# make の方法
# ・make
# リリース用の正式版を作成
# ・make mode=debug
# デバッグ用に作成
# ・make clean
# make で作成した全てのファイルを削除
# ・make install
# 規定の場所にインストール (実機用のみ)
#
# バージョン
version = 0x0920
# リリース用をデフォルトにする
mode =
# ソースの依存関係ファイル (自動生成)
DEPS = Dependencies
DEPENDENCIES_OUTPUT := $(DEPS)
# アプリケーション標準ルール
include ../../etc/makerules
#----------------------------------------------------------------------
# 作成対象
TARGET = jumon
APPID = 0x8100 0xC001 0x8032
# ソースファイルのサーチパス
S = ../src
VPATH = $(S)
# ヘッダファイルのディレクトリ追加
HEADER := $(S) $(HEADER)
# ソースファイル
SRC = main.c args.c setcmd.c setpar.c
# データボックスソースファイル
#DBSRC = dbox.c
SRC += $(DBSRC)
WC_SRC = $(filter %.C, $(SRC))
# オブジェクトファイル
OBJ = $(addsuffix .o, $(basename $(SRC)))
# コンパイルオプション
ifneq ($(mode), debug)
CFLAGS += -Wall
endif
#----------------------------------------------------------------------
.PHONY: all clean install
INST = $(addprefix $(TARGET), .bz .map)
NOINST = $(addprefix $(TARGET), .out .fsn .dbx .form)
all: $(INST)
$(TARGET).out: $(OBJ)
$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)
clean:
$(RM) $(OBJ)
$(RM) $(WC_SRC:%.C=%.c) $(DBSRC)
$(RM) $(INST) $(NOINST) *.lst $(DEPS)
install: $(INST:%=$(EXE_INSTALLDIR)/%)
$(EXE_INSTALLDIR)/$(TARGET).out: $(EXE_INSTALLDIR)/%: %
$(EXE_INSTALL_STRIP)
# 原紙
# (作成アプリケーションと基本文章編集の実行機能付箋を付ける例)
# form.tad に実身の初期内容を用意しておくこと。
FORM_NAME = 呪文用紙
$(TARGET).form: $(TARGET).fsn txed.fsn print.fsn ../src/form.tad
$(MKBTF) -o$@ -a19 -t$(FORM_NAME) \
1.0.../src/form.tad \
8.0.txed.fsn \
8.0.print.fsn \
8.0.$(TARGET).fsn
GENSHI = 0x8001.0.0x800c
# 圧縮アーカイブ
#
$(TARGET).bz: $(NOINST)
$(CP) $(TARGET).out _t
$(STRIP) _t
$(MKBTF) -o$@ -a0x8003 -c -t$(TARGET) \
9.0x163._t \
10.0.$(TARGET).dbx \
7.$(version).$(TARGET).fsn \
@0.0.$(GENSHI).$(TARGET).form
$(RM) _t
## $(MKBTF) の引数:
## -a0x8003 アプリケーション登録可能
## -a0x0003 アプリケーション登録不可
## -f0x40 小物として登録
## 原紙タイプのアプリケーションの場合は
## @0.0.$(GENSHI).$(TARGET).form
## を付加すること。
# ソースの依存関係
$(WC_SRC:%.C=%.c):
$(DBSRC):
ifdef DEPENDENCIES_OUTPUT
$(DEPS): ; touch $(DEPS)
else
$(DEPS): $(SRC) ; $(MAKEDEPS) $@ $?
endif
include $(DEPS)