#=============================================
#    ARTemis (Graphic Editor for FM-TOWNS)
#       (C) MATSUUCHI Ryosuke 1992,1993,1994
#
#              makefile
#=============================================

# High C, 386ASM, 拡張ライブラリＩ, JGAWK, 386.EXE が必要です

# JGAWK テキスト処理ツール。
#       メニュー定義ファイル .MEN をもとに メニュー構造体定義 .MD を
#       自動生成するために用いる。

# 386.EXE   .EXP 実行ファイルを、パス検索により捜し出して実行するツール。
#           このメイクファイル中の
#                 386 hcd386p 〜
#           という行を、
#                 run386 e:\develop\bin\hcd386p 〜
#           のように書き換えれば、この 386.EXE は不要になる。

#------------------------------------------------------------------
#                      ローカル情報について
#------------------------------------------------------------------

# 松内はこのメイクファイルを使用する際、コンパイル時のローカル情報
# を環境変数にて定義しています。
#
# 環境変数名  意味                                 定義例
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#   RAMD      RAM ディスクのドライブ               d:
#   LIB       High C ライブラリがあるディレクトリ  e:\develop\small
#   USRLIB    私製ライブラリがあるディレクトリ     e:\develop\origlib\lib
#
# 私製ライブラリというのは、ARTemis の場合、松内の作成した usrlib.lib を
# 指します。

# あなたの環境でこのメイクファイルを利用するには、上の３つの環境変数
# を定義するか、あるいは次の３行の左端の「#」を削除するかしてください。

# RAMD   = d:
# LIB    = e:\develop\small
# USRLIB = e:\develop\origlib\lib

#------------------------------------------------------------------
#                      置き換え文字列の定義
#------------------------------------------------------------------

lnkdir = $(RAMD)
C_OPTION = -noprofile -on Quiet -off 387 -off Floating_point -tmpi1 $(RAMD)\1.tmp -tmpi2 $(RAMD)\2.tmp

#------------------------------------------------------------------
#                     generation-rule の定義
#------------------------------------------------------------------

.SUFFIXES: .obj .c .asm .men .md

.md.c :
	touch $*.c

.men.md :
	jgawk -f menumake.awk $*.men

.asm.obj :
	386asm -nolist $*

.c.obj :
	386 hcd386p $* $(C_OPTION)


OBJS =	artemis.obj sub.obj plt16.obj subgrp.obj menu.obj pict.obj \
	setup.obj mag.obj smooth.obj \
	filemenu.obj plt.obj copy.obj cmdline.obj spray.obj pen.obj \
	geasm.obj saveload.obj pattern.obj effect.obj cmdview.obj \
	sub2.obj undo.obj cmdexit.obj goshi.obj dispman.obj imageman.obj \
	arealist.obj rotate.obj colchg.obj mask.obj cmdmask.obj \
	colspace.obj mainmenu.obj

HEADERS =	AREALIST.H COLSPACE.H COPY.H DECIMAL.H DISPMAN.H FILEMENU.H \
		GE.H GEASM.H IMAGEMAN.H MAINMENU.H MASK.H MATH2.H MENU.H \
		PEN.H PICT.H PLT.H PLT16.H SPRAY.H SUB.H SUB2.H SUBGRP.H

MENUDEFS =	CMDEXIT.MD CMDMASK.MD COLBAR.MD COLCHG.MD COLSPACE.MD \
		FILEMENU.MD MAINMENU.MD PATTERN.MD PEN.MD SAVELOAD.MD \
		SETUP.MD SUB2.MD

MENUFILES = mainmenu.c setup.c pen.c colspace.c colchg.c cmdmask.c \
		pattern.c filemenu.c cmdexit.c sub2.c saveload.c 

#------------------------------------------------------------------
#                             依存関係
#------------------------------------------------------------------

artemis.exp : $(RAMD)first.tmp $(OBJS) $(RAMD)a.lnk
	386 386linkp @a.lnk

mainmenu.c : mainmenu.md colbar.md
setup.c : setup.md
pen.c : pen.md
colspace.c : colspace.md
colchg.c : colchg.md
cmdmask.c : cmdmask.md
pattern.c : pattern.md
filemenu.c : filemenu.md
cmdexit.c : cmdexit.md
sub2.c : sub2.md
saveload.c : saveload.md

$(RAMD)a.lnk : $(OBJS)
	type ${$&} >$(RAMD)a.lnk
	echo -nomap -pack -stack 150000 -exe artemis.exp -nosym >>$(RAMD)a.lnk
	echo -lib $(USRLIB)\usrlib >>$(RAMD)a.lnk
	echo $(LIB)\hce $(LIB)\na $(LIB)\ptoc >>$(RAMD)a.lnk
	echo $(LIB)\tbios $(LIB)\snd $(LIB)\fmcfrb >>$(RAMD)a.lnk
	echo $(LIB)\tifflib $(LIB)\t_os >>$(RAMD)a.lnk

$(RAMD)first.tmp : $(HEADERS)
	touch $(RAMD)first.tmp

# [end]
