#
#	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
#
#       * 2004/04/12 Madoka
#       - MMĈ߁Ammcif.c/h usbif.c/hǉ
#         ܂AKvŏMakeFileɕύX
#
#       * 2005/05/01 Madoka
#       - MMCCuJ[l̃\[Xɓ
#         mmc_api.c/h mmc_fram.c𗘗p܂ 
#

#DEBUG=1
CLIP=.\CLip
#CLIP=..\clip
#CLIP=..

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

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

# j[ɕ\^Cgw肵ĂB
#CAPTION = $(PROJECT)
CAPTION = "MP3 Player MMC"

# ACRt@Cw肵ĂB
# ACRt@CȂICON̒`RgAEgĂB
ICON = mp3ico.pid

# RAMɓ]郂W[񋓂ĂB
# K擪framtop.oLqĂB̑̃W[͑I\łB
# [ŏ\]
#FRAM_OBJS = framtop.o
# [ő\iۂɂ͑SRAMɒû͖łj]
#FRAM_OBJS = framtop.o framfix.o framdobj.o framfont.o frammod1.o frammod2.o framds11.o framds14.o framds15.o
# [pceLCDDrawObject{tHg{MODhCo ̍\]
#FRAM_OBJS = framtop.o framdobj.o framfont.o frammod1.o frammod2.o
FRAM_OBJS = framtop.o frammp3.o mmc_fram.o

# IuWFNgt@C񋓂ĂB
# - RAM]W[̊֐́AǂĂяoɂȂ̂ŁA
#   RAMɓ]ȂW[m̌ĂяoȂ悤A
#   W[Xg̒Ԃł͂Ȃ[iŏŌjɒûK؂łB
OBJS =	$(FRAM_OBJS) \
	main.o \
	clipmp3.o \
	clipmp3a.o \
	mmc_api.o

# 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
STACKLEN = 0x2000

# * 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
SYSSTACK = 0x1000

# * 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

# 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
# * 23:42 2005/05/01 Madoka
# - MMCCułpceFilenAPItbN̂߁Avector.hCN[ĥ
#   -I.ǉ܂B
# * 23:56 2005/05/04 Madoka
# - AvŗpMMCCuł́A[NGAO[ozŒ`
#   悤ɕύX̂ŁA-D__MMC_WORK_GLOBAL__ `܂B
APP_CFLAGS  =	-I$(CLIP) -I. -D__MMC_WORK_GLOBAL__
APP_LDFLAGS =	$(CLIP)\clip.lib \
#		$(CLIP)\gsm\libgsm.lib \
#		$(CLIP)\zlib\libz.lib \
#		$(CLIP)\clip.lib

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

# ^[Qbg
#all: srf fpk zip
all: srf
srf: $(PROJECT).srf
pex: $(PROJECT).pex
#fpk: $(PROJECT).fpk
#zip: $(PROJECT).zip
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
clean:
	-del *.o
	-del *.sym
	-del *.map
	-del *.srf
	-del *.pex
#	-del *.fpk
#	-del *.zip

# 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

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

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

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

#includesɁAKvȒ`ȉɋLq

#############################################################################
#	`FSẴvWFNgŋʂȕiAPP/LIBʁj
#############################################################################

# CC,AS,LD̏l"cc","as","ld"łB
# WindowsP/ECEJł"gcc33","as33","lk33"g܂B
# ̃R}h𖾎Ă̂łA
# "pcc33"gΎIɓK؂ȃR}hĂяoĂ܂B
# CC,AS,LDSĂɋʂ"pcc33"w肷邱Ƃɂ܂B
# * Sun Sep 15 15:33:00 JST 2003 Naoyuki Sawa
# - S1C33pGCC3.xRpChCo(c33-pcc.exe)g߂ɁA}NPCC33`܂B
#   AvP[VMakefileŁÂ悤ɒ`ĂB
#	PCC33 = c33-pcc
#   }NPCC33`ĂȂꍇ̊ĺAP/ECEJtpcc33.exeƂȂ܂B
ifndef PCC33
PCC33 = pcc33
endif
CC = $(PCC33)
AS = $(PCC33)
LD = $(PCC33)
# CuA(lib33)"pcc33"玩ŌĂ΂Ȃ̂ŁA
# 邱Ƃɂ܂B
LIB = lib33

# TtBbNXXg͏l̂܂܂ł\܂񂪁A
# svȃTtBbNXӂ܂Ă̂ŁA
# ÔߕKvȃTtBbNX݂̂𖾎邱Ƃɂ܂B
.SUFFIXES:
.SUFFIXES: .o .s .c

# gݍ݃["-o"IvVŏo̓t@Cw肵Ă܂B
# pcc33"-o"IvVŏo̓t@CwłȂ̂ŁA
# TtBbNX[𖾎Kv܂B
# * Tue Nov 19 12:30:00 JST 2002 Naoyuki Sawa
# - $(AS)ւ̃tOA$(ASFLAGS)$(CFLAGS)ɓꂵ܂B
#   $(ASFLAGS)ʂɎw肷邱Ƃ͂܂Ȃ̂ŁAp~܂B
.c.o:
	$(CC) -c $(CFLAGS) $<
.s.o:
	$(AS) -c $(CFLAGS) $<

# ɗLȃRpCIvVw肵܂B
# * GCCW̃IvV:
#	-Wall		SĂ̌xLɂ
#	-Werror		xG[ƂĈ
#	-ansi		GCCg@𖳌ɂ  -> O
#	-pedantic	ANSIs -> O
# * S1C33L̃IvV:
#	-gp=0x0		O[o|C^gp
#	-near		򖽗߂2߂ɓWJ
# * Thu Dec  6 21:50:15 JST 2001 Naoyuki Sawa
# - -pedanticpcc33(gcc33)ɂ͂ȂAG[ɂȂ̂ŏȂ܂B
#   -ansi͎g悤łA}jAɌ܂B
#   Ƃ肠A-pedanticƋɏȂƂɂ܂B
# * Sat Oct 12 16:42:00 JST 2002 Naoyuki Sawa
# - -WerrorO܂B
#   ̃\[XR[hڐAۂɁA֐錾Ōxo邱ƂA
#   SŎĂƋtɃGoOĂ܂ꂪƎvłB
#CFLAGS  = -Wall -Werror -gp=0x0 -near -DPIECE
CFLAGS  = -Wall -gp=0x0 -near -DPIECE

# * Wed Dec 12 05:04:06 JST 2001 Naoyuki Sawa
# - NɃV{t@Cƃ}bvt@C𐶐悤A
#   LDFLAGS -lm-lsIvVǉ܂B
LDFLAGS = -lm -ls

# * Tue Apr 1 19:00:00 JST 2003 Naoyuki Sawa
# - RAM̋󂫃GA擪AhX FRAM_ADDR ̒`ǉ܂B
#   RAMւ̃R[h]𗘗pȂꍇAɒ`ĂĊQ͂܂B
# - vWFNgMakefileÂ悤ɗp܂B
#	+addr FRAM_ADDR {@FRAMC}
#   ̗́AvWFNgev[gtest.pceMakefileQƂĂB
# - ܂Aclippce.cł̍RAM]TCYƂ__SIZEOF_FRAM_ADDR𗘗p܂B
#   +defaddr`ŃAhX`ĂȂƁA__SIZEOF_`܂B
# * Tue Apr 1 20:00:00 JST 2003 Naoyuki Sawa
# - FRAM_OBJS`ꂽꍇ̂݁ARAMΉ̃Nwǉ悤ύXB
ifdef FRAM_OBJS
LDFLAGS += +defaddr FRAM_ADDR=0x1000 \
	   +codeblock FRAMC {$(FRAM_OBJS)} \
	   +addr FRAM_ADDR {@FRAMC}
endif

# * Sun Nov 10 19:01:00 JST 2002 Naoyuki Sawa
# - AvP[VMakefileSTACKLEN`ĂA
#   V{_stacklenݒ肵āAX^bNSRAMɎ悤ɂ܂B
#   STACKLEN`ĂȂ΁A܂ŒʂX^bN͍RAMɎ܂B
ifdef STACKLEN
LDFLAGS += +defsym _stacklen=$(STACKLEN)
endif

# * Sun Sep 14 21:44:00 JST 2003 Naoyuki Sawa
# - AvP[VMakefileSYSSTACK`ĂA
#   V{_sysstackݒ肵āAVXeX^bNTCYύX܂B
#   SYSSTACK`̃VXeX^bNTCY̊ĺAsysstack.sɂĒ`܂B
#   2003/09/14݁AVXeX^bNTCY̊l1.5KBłB
# - STACKLEN`SYSSTACK݂̂`邱Ƃł܂B
#   4KB̃X^bNRAMɊmۂÂSYSSTACKoCgVXeX^bNƂȂ܂B
ifdef SYSSTACK
LDFLAGS += +defsym _sysstack=$(SYSSTACK)
endif

# ωRpCIvVw肵܂B
ifdef DEBUG
CFLAGS  += -g  -DDEBUG
LDFLAGS += -g
else
CFLAGS  += -O2 -DNDEBUG
endif

# Add by Madoka
# 48MHz[hœ삳鍡MP3vC[ł
# MMCƂ̒ʐMxEl𒴂Ă܂A퓮
# Ȃꍇ̂ŁAȉ̃IvV
# EGCg悤ɂ܂B
# MP3vC[łSanDisk64MBMMĈݓ
# ΏۂƂĂ܂BMMC(ႦIODATA128MB
# MMCȂ)ł́ÃEGCgĂʐM
# Ԃɍ킸Atł܂BӂB
#CFLAGS += -DMMC_MP3_MODE
#2005/05/05 Deleted by Madoka
#svȂ̂ō폜܂B

# vWFNgʂ̃RpCEJIvVǉ܂B
CFLAGS  += $(APP_CFLAGS)
LDFLAGS += $(APP_LDFLAGS)

# mȂǁAu*.o: *.hvwł݂łB
#   Ⴆsample.öˑ֌W𒲂ׂꍇA
#   * sample.o݂ȂAmakes*.o*.hWJāA
#     sample.oꂩ.ht@CV΍ăRpC܂B
#   * sample.o݂ĂȂ΁Amakefiles*.oWJĂA
#     sample.o͊܂܂ȂA܂sample.öˑ֌W̎w͂ȂǁA
#     sample.oȂ̂ŁAsample.cRpCB
#   Ƃӂɓ삷݂łB
#   SĂ.cSĂ.hɈˑ鎞́A̎w@ȒPłłB
#   .hƓWJG[ɂȂ̂ŁARgAEgĂB
# ɂ܂Ȃ̂ŁAu$(OBJS): *.hvɏC܂B
# * Mon Jul 23 04:25:00 JST 2002 Naoyuki Sawa
# - vWFNgɂĂ.ht@CȂƂA
#   u*.hvG[ɂȂ̂ŁAHEADERS}Nɒu܂B
#   ʏ́uHEADERS = *.hvA..hȂꍇ́uHEADERS = vƂĂB
$(OBJS): $(HEADERS)

# * Tue Nov 19 12:30:00 JST 2002 Naoyuki Sawa
# - Cu̒ɂ郂W[́ARAMɓ]ł܂B
#   dȂ̂ŁA񃉃Cu璊oāAN܂B
# - wS1C33 Family CRpCpbP[W}jAx(Ver.4)
#   \usr\PIECE\docs\datasheet\EPSON\S5U1C33000C_J.pdf 
#   p.214(PDFł230y[W)A-addrR}h̐QƁB
#   uw肳ꂽzubN̒"xxx.lib:xxx.o"`̃t@C
#     [jOɂȂÃubN`͖܂v
# * Tue Apr 1 19:00:00 JST 2003 Naoyuki Sawa
# - vWFNgMakefileɋLqĂ̂Aʂclip.mkֈڂ܂B
#   clipCuMMakefileɃCN[hꍇ́A
#   FRAM_OBJS`ĂȂ̂ŁA̋Lq͖ƂȂ܂B
#   iȂƁAfram`.o̐Kd`G[ɂȂĂ܂̂Łj
# - RAM]⃂W[AɒǋLĂB
#   clipCuMakefileɁAOBJSƐ@ǉ̂YꂸɁI
ifdef FRAM_OBJS
framtop.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framfix.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framdobj.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framfont.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
frammod1.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
frammod2.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framds11.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framds14.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
framds15.o: $(CLIP)\clip.lib
	$(LIB) -x $(CLIP)\clip.lib $@
endif
