Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. endif
  16. CC=$(WINE) $(SDK)/bin/WDC816CC.exe
  17. AS=$(WINE) $(SDK)/bin/WDC816AS.exe
  18. LD=$(WINE) $(SDK)/bin/WDCLN.exe
  19. # Project
  20. INC=$(SDK)/include
  21. LIBS=-L$(SDK)/lib/cl
  22. #-L$(SDK)/lib/c134
  23. OBJS=StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj diskio.obj ff.obj
  24. APP=fatfs.smc
  25. GFX=debugfont
  26. all: $(APP) repair
  27. run:
  28. $(EMU) $(APP)
  29. debugger:
  30. $(EMU_DEBUG) $(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 fatfs.asm
  38. $(DISASM) fatfs.smc > fatfs.asm
  39. StartupSnes.obj: StartupSnes.asm
  40. $(AS) -V $?
  41. ressource.obj: ressource.asm
  42. $(AS) -V $?
  43. hook.obj: hook.asm
  44. $(AS) -V $?
  45. %.obj: %.c
  46. $(CC) -wl -wp -sop -ML -I $(INC) $?
  47. #$(APP): $(OBJS)
  48. # $(LD) -HB -M21 -V -T -Pff \
  49. # -C008000,0000 -U0000,0000 \
  50. # -Avectors=FFE4,7FE4 \
  51. # -Aregistration_data=FFB0,7FB0 \
  52. # -Aressource=18000,8000 \
  53. # -N $(OBJS) $(LIBS) -O $@
  54. $(APP): $(OBJS) hook.obj
  55. $(LD) -B -HB -M21 -V -T -Pff \
  56. -C3e8000,1f0000 -U000000,000000 \
  57. -Avectors=FFE4,7FE4 \
  58. -Aregistration_data=FFB0,7FB0 \
  59. -Aressource=3f8000,1f8000 \
  60. -Ahook=008000,0000 \
  61. -N $(OBJS) hook.obj $(LIBS) -O $@
  62. repair: $(APP)
  63. $(UCON) -snes -chk $(APP) 2>&1 >/dev/null
  64. rm -rf fatfs.bak
  65. clean:
  66. rm -vf $(APP) *.obj *.TMP