#
#	Makefile
#
#	* Tue Dec  4 04:41:51 JST 2001 Naoyuki Sawa
#	- 쐬JnB
#	* Sat May 25 15:43:00 JST 2002 Naoyuki Sawa
#	- Cu\zpɓo[W쐬B
#	- AvP[V\zpɓo[W쐬B
#	* Tue Jul  2 12:55:00 JST 2002 Naoyuki Sawa
#	- c[̃}N`ǉB
#	- lib,srf,pex̏o̓t@C$@ŎwB
#	- DEBUGV{`́ACFLAGSłȂLDFLAGSɂ-gǉB
#	  -gw肵ȂƁANɃfobO񂪍폜Ă܂B
#	* Sat Jul 20 21:16:00 JST 2002 Naoyuki Sawa
#	- f[^Ro[gp̋Lqǉ܂B
#	* Mon Jul 22 21:10:00 JST 2002 Naoyuki Sawa
#	- f[^Ro[gp̋Lqdppcmcnvǉ܂B
#	* Mon Jul 23 04:25:00 JST 2002 Naoyuki Sawa
#	- ܂ŃCu\zpƃAvP[V\zpMakefile
#	  ʁXɊǗĂ܂Aʕclip.mkɕA
#	  قȂ镔ꂼMakefileɎc悤ɂ܂B
#	* Sun Jul 28 22:14:00 JST 2002 Naoyuki Sawa
#	- $(PROJECT).peẍˑt@C$(ICON)ǉ܂B
#	* Tue Nov 19 12:30:00 JST 2002 Naoyuki Sawa
#	- RAMΉ̂߂ɁA啝ȉs܂B
#	  ڍׂɂẮAẽRgQƂĂB
#	* Sat Feb 22 13:47:00 JST 2003 Naoyuki Sawa
#	- kt@C̒`iDATAjƃANVǉ܂B
#	  kt@C̐́umake allvōs܂A
#	  CXg[́umake installnł͍s܂B
#	  CXg[ɂ͕ʓrumake install_datvsĂB
#	* Thu Feb 27 19:08:00 JST 2003 Naoyuki Sawa
#	- APP_LDFLAGSCBclip.lib̃NwʒuǉB
#	* Tue Apr 1 19:00:00 JST 2003 Naoyuki Sawa
#	- RAM]W[̕ɑΉB
#	* Sun May 4 18:05:00 JST 2003 Naoyuki Sawa
#	- ZIPkt@C̃}NuDATAvuZIPvɕύX܂B
#	  gq⃋[Adatzip֕ύX܂B
#	- FPKt@C̒`iFPKjƃANVǉ܂B
#	* Sun Sep 15 15:33:00 JST 2003 Naoyuki Sawa
#	- S1C33pGCC3.xRpChCo(c33-pcc.exe)g߂ɁA}NPCC33`܂B
#	* Sat Nov 22 06:00:00 JST 2003 Naoyuki Sawa
#	- g[Xo͂̎gp/gpȂI邽߂́ATRACE}N`ǉ܂B
#	  g[Xo͂gpꍇ́uTRACE=1vƂĂB
#	  g[Xo͂gpȂꍇ́uTRACE=0vƂ邩A܂̓RgAEgĂB
#	* Sun May 23 10:02:00 JST 2004 Naoyuki Sawa
#	- ADPCMώg16000[Hz]ȊOɕύX邽߂́AADPCM_V}Npӂ܂B
#	  ADPCM_V}N`ĂƁAwg̃NHeBADPCMf[^쐬܂B
#	  (̕ω݂̂łBȂႭȂ肷̂ł͂܂B)
#	  ADPCM_V}N`ĂȂ΁A܂Œʂ16000[Hz]ADPCMf[^쐬܂B
#	* Sat Jul 26 06:10:00 JST 2004 Naoyuki Sawa
#	- LZHkt@C̐KƃN[AbvKǉ܂B
#	* Fri Sep 3 19:00:00 JST 2004 Naoyuki Sawa
#	- c[̏ڍ׃bZ[Wo͂}邽߂́AQUIETV{ǉ܂B
#	  QUIETV{`ƁAڍ׃bZ[Wo͂}܂B@
#	  QUIETV{`Ȃ΁A܂łǂڍ׃bZ[Wo͂܂B
#	* Mon Dec 27 12:13:00 JST 2004 Naoyuki Sawa
#	- X^bNCAEg̑啝ȕύXs܂B
#	* Wed Jun 01 20:49:00 JST 2005 Naoyuki Sawa
#	- clip.libfram.lib̕ɔAAPP_LDFLAGSύX܂B
#	* Sun Dec 18 04:21:00 JST 2005 Naoyuki Sawa
#	- make cleanŁAVisual C++̐t@C폜悤Aǉ܂B
#

#DEBUG=1
TRACE=1
QUIET=1
#CLIP=..\clip
CLIP=..

#############################################################################
#	}N`
#############################################################################

# vWFNgw肵ĂB
# vWFNg̓^[Qbgt@C̃x[XƂȂ܂B
PROJECT = joytoy

# j[ɕ\^Cgw肵ĂB
#CAPTION = $(PROJECT)
CAPTION = JoyToy

# ACRt@Cw肵ĂB
# ACRt@CȂICON̒`RgAEgĂB
#ICON = $(PROJECT).pid

# RAMɓ]郂W[񋓂ĂB
# K擪framtop.oLqĂB̑̃W[͑I\łB
# [ŏ\]
#FRAM_OBJS = framtop.o
# [ėpW[̍ő\iۂɂ͑SRAMɒû͖łj]
#FRAM_OBJS = framtop.o  \
#            framfix.o  framldir.o framdraw.o framfont.o framline.o \
#            framds11.o framds12.o framds13.o framds14.o framds15.o \
#            framds21.o framds22.o framds23.o framds24.o framds25.o \
#            frammod1.o frammod2.o
# [MP3vC[\]
#FRAM_OBJS = framtop.o frammp3.o
# [Z80G~[V\]
#FRAM_OBJS = framtop.o framz80.o framz80a.o
# [Z80()G~[V\]
#FRAM_OBJS = framtop.o framz8c.o framz8ca.o
# [AYvC[\]
#FRAM_OBJS = framtop.o framz80.o framz80a.o framay3.o
# [MOS6502G~[V\]
#FRAM_OBJS = framtop.o framm65.o framm65a.o
# [MOS6502()G~[V\]
#FRAM_OBJS = framtop.o fram65c.o fram65ca.o
# [W65C02G~[V\]
#FRAM_OBJS = framtop.o framw65.o framw65a.o
# [SIDvC[\]
#FRAM_OBJS = framtop.o framm65.o framm65a.o framsid.o frampsid.o
# [SAPvC[\]
#FRAM_OBJS = framtop.o framm65.o framm65a.o frampky.o framsap.o
# [S-SMP(SPC700)G~[V\]
#FRAM_OBJS = framtop.o framssm.o framssma.o
# [SPCvC[\]
#FRAM_OBJS = framtop.o framssm.o framssma.o framsds.o framspc.o
# [VGMvC[\]
#FRAM_OBJS = framtop.o framsn7.o framvgm.o
# [DMG-CPUG~[V\]
#FRAM_OBJS = framtop.o framdmg.o framdmga.o
# [DMG-CPU()G~[V\]
#FRAM_OBJS = framtop.o framdmc.o framdmca.o
# [GBSvC[\]
#FRAM_OBJS = framtop.o framdmg.o framdmga.o framdms.o framgbs.o
# [M6800G~[V\]
#FRAM_OBJS = framtop.o framm68.o framm68a.o
# [M62vC[\]
#FRAM_OBJS = framtop.o framm68.o framm68a.o framay3.o
# [M6809G~[V\]
#FRAM_OBJS = framtop.o framm69.o framm69a.o
# [WSGvC[\]
#FRAM_OBJS = framtop.o framm69.o framm69a.o framwsg.o
# [HuC6280G~[V\]
#FRAM_OBJS = framtop.o framc62.o framc62a.o
# [HESvC[\]
#FRAM_OBJS = framtop.o framc62.o framc62a.o framp62.o framhes.o
# [YMvC[\]
#FRAM_OBJS = framtop.o framay3.o framym.o
# [SPCvC[V2\]
#FRAM_OBJS = framtop.o framsp2a.o
# [S3MvC[\]
#FRAM_OBJS = framtop.o frams3m.o
# [XMvC[\]
#FRAM_OBJS = framtop.o framxm.o
# [ITvC[\]
#FRAM_OBJS = framtop.o framit.o
# [GYMvC[\]
#FRAM_OBJS = framtop.o framn2.o framn2a.o framsn7.o framgym.o
# [xN^XL\]
#FRAM_OBJS = framtop.o framfix.o framline.o
# [TMS9918G~[V\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o framt18.o framt18a.o
# [PPUG~[V\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o framppu.o framppua.o
# [PPUG~[V(1/4𑜓x)\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o frampp4.o frampp4a.o
# [APUG~[V\]
#FRAM_OBJS = framtop.o framldir.o framapu.o framapua.o
# [DMG-VideoG~[V\]
#FRAM_OBJS = framtop.o framdmv.o framdmva.o
# [DMG-Sound()G~[V\]
#FRAM_OBJS = framtop.o framdms2.o
# [TIAG~[V\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o framtia.o framtiaa.o
# [SUPERVISION Video/SoundG~[V\]
#FRAM_OBJS = framtop.o framsv.o framsva.o
# [Signetics 2650G~[V\]
#FRAM_OBJS = framtop.o frams26.o frams26a.o
# [Signetics 2637 UVIG~[V\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o framuvi.o framuvia.o
# [CP1610G~[V\]
#FRAM_OBJS = framtop.o framc16.o framc16a.o
# [STICG~[V\(16~K{A`惋[`sv)]
#FRAM_OBJS = framtop.o framldir.o framsti.o framstia.o
# [ؑցE16F\\]
#FRAM_OBJS = framtop.o framldir.o framdraw.o
# [ؑցE16F\{tHg{MODhCo ̍\]
#FRAM_OBJS = framtop.o framldir.o framdraw.o framfont.o frammod1.o frammod2.o
FRAM_OBJS = framtop.o

# IuWFNgt@C񋓂ĂB
# - RAM]W[̊֐́AǂĂяoɂȂ̂ŁA
#   RAMɓ]ȂW[m̌ĂяoȂ悤A
#   W[Xg̒Ԃł͂Ȃ[iŏŌjɒûK؂łB
OBJS =	$(FRAM_OBJS) \
	joytoy.o \
	jtbinexpr.o \
	jtblock.o \
	jtbool.o \
	jtdotassign.o \
	jtdotcall.o \
	jtdotexpr.o \
	jtfun.o \
	jtfuncall.o \
	jtif.o \
	jtint.o \
	jtnew.o \
	jtobject.o \
	jtprim.o \
	jtprim_max.o \
	jtprim_print.o \
	jtstring.o \
	jtsymbol.o \
	jtunexpr.o \
	jtvar.o \
	jtwhile.o \
	lexer.o \
	parser.o \
	pcemain.o \
	string_buffer.o \
	token.o \

# FPKt@CɈk܂Ƃ߂f[^t@C񋓂ĂB
# f[^t@CȂFPK̒`RgAEgĂB
#FPK =	

# ZIPt@CɈkĂ܂Ƃ߂f[^t@C񋓂ĂB
# f[^t@CȂZIP̒`RgAEgĂB
#ZIP =	

# LZHt@CɈkĂ܂Ƃ߂f[^t@C񋓂ĂB
# f[^t@CȂLZH̒`RgAEgĂB
#LZH =	

# wb_t@C񋓂ĂB
HEADERS = *.h

## X^bNSRAMɎꍇ́AX^bNTCYw肵ĂB
## RAMɎꍇ́ASTACKLEN̒`RgAEgĂB
## * Tue Nov 19 12:30:00 JST 2002 Naoyuki Sawa
## - CLiPCuRAMɃR[h]悤ɂȂ̂ŁA
##   ASTACKLEN̒`RgAEgĂ͂܂B
##   X^bNTCY͕̒s\łB
##   2003/04/01 ς\łB̃RgǂłB
## * Tue Apr 1 20:00:00 JST 2003 Naoyuki Sawa
## - vWFNgɍRAM]W[Ił悤ɂȂ܂B
##   RAM]W[}΁ARAMɃX^bN܂B
##   RAMɃX^bNꍇ́ASTACKLEN̒`RgAEgĂB
##   X^bN̐R[ḧj󂵂Ȃ悤A[ӂĂB
#STACKLEN = 0x1000
#
## * Sun Sep 14 22:23:00 Naoyuki Sawa
## - VXeX^bNTCYύXꍇ́ASYSSTACK`ĂB
##   SYSSTACK`Ȃ΁AVXeX^bNTCY͊lp܂B
##   2003/09/14݂̂ƂAVXeX^bNTCY̊l1.5KBłB
## - SYSSTACKSTACKLEN𒴂Ȃ悤ӂĂB
##   STACKLEN`̃X^bNTCY4KBȂ̂ŁASTACKLEN`
##   SYSSTACK4KB(=0x1000)𒴂Ȃ悤ӂĂB
## - SX^bNTCYVXeX^bNc肪[U[X^bNƂȂ̂ŁA
##   ۂɂ́AVXeX^bNTCYSX^bNTCY̔𒴂Ɗ댯łB
##SYSSTACK = 0x0600
#
#2004/12/27 X^bNCAEg̑啝ȕύXs܂B
#
# * Mon Dec 27 12:13:00 JST 2004 Naoyuki Sawa
# - X^bNCAEg̑啝ȕύXs܂B
# - ܂ł́AVXeX^bNƃ[U[X^bN͗ƂRAMɔzu邩A
#   ܂͗ƂSRAMɔzu邵܂łB
#   ȂAVXeX^bN̓AvP[V̓ɂقƂǉeȂ߁A
#   VXeX^bNSRAMɔzuA[U[X^bNRAMɔzuƍl܂B
#   ŁÂ悤ɎdlύX܂B
# - VXeX^bN͏SRAMɔzu܂B
#   SRAM̃VXeX^bNTCÝASYSSTACKɂăoCgwĂB
#   SYSSTACK0Ƃ邱Ƃ͂ł܂B(NG[ƂȂ܂)
# - [U[X^bN͍RAM܂SRAMɔzu܂B
# - [U[X^bNSRAMɔzuꍇ́AUSRSTACKɂăoCgwĂB
# - [U[X^bNRAMɔzuꍇ́AUSRSTACK`ȂA܂0ƂĂB
#   RAM̑OɍRAM]R[hzuc肪A[U[X^bNƂȂ܂B
#   RAM]R[h傫āA[U[X^bN̈悪ꍇ́ANG[ƂȂ܂B
# - VvCȕꍇ́ASYSSTACKAUSRSTACKǂ`ȂłB
#   VXeX^bNRAMɔzuAʏ̃VvCũX^bNCAEgƂȂ܂B
#
# <> VXeX^bN=SRAM:1.5KBA[U[X^bN=SRAM:2.5KB
#	SYSSTACK = 0x600
#	USRSTACK = 0xa00
#
# <> VXeX^bN=SRAM:1.5KBA[U[X^bN=RAM
#	SYSSTACK = 0x600
#	(USRSTACK = 0x0) ... `ĂȂĂ
#
# [U[X^bNRAMɔzuꍇ́ARAM]R[hȂ߂ɂĂ!!
# RAM]R[hƃ[U[X^bN[mۂłANG[ƂȂ܂B 
#
SYSSTACK = 0x600
USRSTACK = 0xa00

# * Sun Sep 15 15:33:00 JST 2003 Naoyuki Sawa
# - P/ECEJt̃RpChCopcc33.exȇɁA
#   S1C33pGCC3.xRpChCoc33-pcc.exegꍇ́APCC33}N`ĂB
#   PCC33}N`ĂȂ΁Apcc33.exeg܂B
# - c33-pcc.exeɑ΂āAclip.mḱu-O2vł͂Ȃu-OsiTCYœKjvw肷ꍇ́A
#   APP_CFLAGSɁu-Osv̎wǉĂB
#   c33-pcc.exeoRc33-gcc.exeɁu-O2vu-Osṽ̗IvVn܂B
#   c33-gcc.exéA̍œKIvVw肳ꂽꍇAŎw肳ꂽ̗p܂B
#   u-O2vu-OsvŎw肳Ă̂ŁAu-O2v͖u-OsvLɂȂ܂B
#PCC33 = c33-pcc

# * Sun May 23 10:02:00 JST 2004 Naoyuki Sawa
# - ADPCMf[^16000[Hz]ȊỎō쐬ꍇ́AADPCM_V}N`ĂB
#   16000[Hz]ō쐬ꍇ́A`svłB
#ADPCM_V = 8000

# vWFNgʂ̃RpCEJIvV`ĂB
# iCN[hpXACupXACut@C̗񋓓j
# * Tue Nov 19 12:30:00 JST 2002 Naoyuki Sawa
# - Cuwu-ll$(CLIP) clip.libvu$(CLIP)\clip.libvɕύXB
#   libz.libAlibgsm.liblłB
# - RAMZNV̒`ǉB
#   CLiPCugpvWFNg͕KRAMg悤ɂȂ܂B
# * Mon Nov 26 07:39:00 JST 2002 Naoyuki Sawa
# - libz.libunzip.cfread/fopengĂ܂B
#   Wio.libfread/fopenł͂ȂAclip.lib:clipio.oŉ悤A
#   Kclip.lib̃NŌɎw肵Ă!!
# * Thu Feb 27 19:08:00 JST 2003 Naoyuki Sawa
# - Oq̕@iclip.libŌɃNjł͕sSłB
#   AvP[VzlibCLiP̌oHŎQƂ֐͂OKȂ̂łA
#   AvP[VCLiPzlib̌oHŎQƂ֐N܂B
#   Ⴆ΁Aclipzlib.omy_unzip()ȂǂŁA
#   AvP[VZIPt@CWĴ߂my_unzip()gA
#   zlibunzipCů֐xڎgȂ΁A
#   clip.lib̃NɊlibz.lib̃N͏IĂ܂Ă̂ŁA
#   my_unzip()QƂĂlibz.lib̊֐łAG[ɂȂ܂B
# - ̖h߁AϑIłAlibgsm.liblibz.lib̑O
#   clip.lib̃Nw肷邱Ƃɂ܂BĂ΁A
#   AvP[Vzlib(gsm)CLiP̌oHŎQƂ֐A
#   AvP[VCLiPzlib(gsm)̌oHŎQƂ֐A
#   Nł悤łB
# * Tue Apr 1 19:00:00 JST 2003 Naoyuki Sawa
# - RAMGÃAhXwAڎw肩FRAM_ADDRV{֕ύXB
#   ڂ́Aclip.mk̃RgQƂĂBit̃Rgłj
# * Tue Apr 1 20:00:00 JST 2003 Naoyuki Sawa
# - RAM]W[̃NẃAʂclip.mkֈڂ܂B
#   FRAM_OBJS`ĂAclip.mkœK؂ȃNw肪ǉ܂B
# * Wed Jun 01 20:49:00 JST 2005 Naoyuki Sawa
# - ܂őSẴW[clip.libɊ܂߂Ă̂Aclip.libfram.libɕ܂B
#   ̕ύXɔAAPP_LDFLAGSfram.lib̎wǉ܂B(clip.libƓlɓ񂩏)
# - fram.lib𕪗ŔAlibt@CɊ܂܂O[oV{ƁA
#   lib33.exeG[I݂łB
#   ܂ŁASW[clip.libɊ܂߂Ă܂AɃW[ǉƂ
#   lib33.exeG[I悤ɖ܂B
#   ֐ꕔstaticɂƃG[ł邽߁Aq̂悤ɐ܂B
# - Alibɕ߁A͑vƎv܂B
#   ܂O[oV{AɕKv邩m܂B
APP_CFLAGS  =	-I$(CLIP) -b
APP_LDFLAGS =	$(CLIP)\clip.lib \
		$(CLIP)\fram.lib \
		$(CLIP)\gsm\libgsm.lib \
		$(CLIP)\zlib\libz.lib \
		$(CLIP)\clip.lib \
		$(CLIP)\fram.lib \

#############################################################################
#	ANV
#############################################################################

# ^[Qbg
all: srf fpk zip lzh
srf: $(PROJECT).srf
pex: $(PROJECT).pex
fpk: $(PROJECT).fpk
zip: $(PROJECT).zip
lzh: $(PROJECT).lzh
run: srf
	run $(PROJECT).srf
install: pex
	isd =w $(PROJECT).pex
install_fpk: fpk
	isd =w $(PROJECT).fpk
install_zip: zip
	isd =w $(PROJECT).zip
install_lzh: lzh
	isd =w $(PROJECT).lzh
clean:
	@if exist *.$$  del *.$$
	@if exist *.ps  del *.ps
	@if exist *.ms  del *.ms
	@if exist *.o   del *.o
	@if exist *.sym del *.sym
	@if exist *.map del *.map
	@if exist *.srf del *.srf
	@if exist *.pex del *.pex
	@if exist *.fpk del *.fpk
	@if exist *.zip del *.zip
	@if exist *.lzh del *.lzh
#{{Win32vWFNgƋĂꍇ̂߂ɁAVisual C++̐t@C폜܂B
	@if exist *.aps del *.aps
	@if exist *.ncb del *.ncb
	@if exist *.opt del *.opt
	@if exist *.plg del *.plg
	@if exist Debug rmdir /s /q Debug
	@if exist Release rmdir /s /q Release
#}}Win32vWFNgƋĂꍇ̂߂ɁAVisual C++̐t@C폜܂B

# ANV
$(PROJECT).srf: $(OBJS)
	$(LD) -e$@ $(OBJS) $(LDFLAGS)
$(PROJECT).pex: $(PROJECT).srf $(ICON)
ifdef ICON
	ppack -e -o$@ -n$(CAPTION) -i$(ICON) $(PROJECT).srf
else
	ppack -e -o$@ -n$(CAPTION)           $(PROJECT).srf
endif
$(PROJECT).fpk: $(FPK)
ifdef FPK
	$(DFPCK) c $@ $(FPK)
endif
$(PROJECT).zip: $(ZIP)
ifdef ZIP
	$(MINIZIP) -o -l9 -w9 $@ $(ZIP)
endif
$(PROJECT).lzh: $(LZH)
ifdef LZH
	if exist $@ del $@
	$(LHA) a -xr2p $@ $(LZH)
endif

#############################################################################
#	ˑ֌W
#############################################################################

# * ^[Qbgɑ΂ˑ֌Ws͂`ł܂B
#   ^[Qbgˑt@ĆA}[WʂƂȂ܂B
#   clip.mk̒OBJS͑SĂ*.ht@CɈˑƐ錾Ă̂ŁA
#   ̏ꍇAclippce.o͑SĂ*.hɉāAclipxxxx.cɂˑ܂B
#clippce.o: clipxxxx.c

#############################################################################
# * clip.mk̒ŃV{`̗Lɂď𕪂Ă̂ŁA
#   clip.mk̃CN[h͍ŌɍsȂ΂܂B
include $(CLIP)\clip.mk
