Makefile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # SDK Config
  2. PLATFORM=$(shell uname)
  3. ifeq ($(PLATFORM),Linux)
  4. # Linux Wine
  5. SDK=/home/david/.wine/drive_c/65xx_FreeSDK
  6. WINE=wine
  7. EMU=../../tools/bsnes/bsnes
  8. DISASM=/home/david/Devel/arch/snes/devkit/bin/disasm
  9. UCON=ucon64
  10. else
  11. # Mac Wine
  12. SDK=/Users/david/.wine/drive_c/65xx_FreeSDK
  13. WINE=wine
  14. EMU=zsnes
  15. DISASM=/Users/david/Devel/arch/snes/devkit/bin/disasm
  16. UCON=ucon64
  17. endif
  18. CC=$(WINE) $(SDK)/bin/WDC816CC.exe
  19. AS=$(WINE) $(SDK)/bin/WDC816AS.exe
  20. LD=$(WINE) $(SDK)/bin/WDCLN.exe
  21. # Project
  22. INC=$(SDK)/include
  23. LIBS=-L$(SDK)/lib/cl
  24. #-L$(SDK)/lib/c134
  25. OBJS=hook.obj StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj diskio.obj ff.obj crc.obj
  26. APP=fatfs.smc
  27. GFX=debugfont
  28. all: $(APP) repair
  29. run:
  30. $(EMU) $(APP)
  31. upload:
  32. ucon64 -chk $(APP)
  33. cp -rv $(APP) /Volumes/SNES
  34. sync
  35. diskutil unmount /Volumes/SNES
  36. disasm: $(APP)
  37. rm -rf $(APP).asm
  38. $(DISASM) $(APP) > $(APP).asm
  39. repair: $(APP)
  40. $(UCON) -snes -chk $(APP) 2>&1 >/dev/null
  41. rm -rf fatfs.bak
  42. StartupSnes.obj: StartupSnes.asm
  43. $(AS) -V $?
  44. ressource.obj: ressource.asm
  45. $(AS) -V $?
  46. hook.obj: hook.asm
  47. $(AS) -V $?
  48. %.obj: %.c
  49. $(CC) -wl -wp -sop -ML -I $(INC) $?
  50. $(APP): $(OBJS)
  51. $(LD) -B -HB -M21 -V -T -Pff \
  52. -C3e8000,1f0000 -U000000,000000 \
  53. -Avectors=FFE4,7FE4 \
  54. -Aregistration_data=FFB0,7FB0 \
  55. -Aressource=18000,8000 \
  56. -Ahook=008000,0000 \
  57. -N $(OBJS) $(LIBS) -O $@
  58. clean:
  59. rm -vf $(APP) $(APP).asm *.obj *.TMP *.bnk *~