Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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=hook.obj StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj diskio.obj ff.obj crc.obj
  24. APP=fatfs.smc
  25. GFX=debugfont
  26. all: $(APP) repair
  27. run:
  28. $(EMU) $(APP)
  29. upload:
  30. ucon64 -chk $(APP)
  31. cp -rv $(APP) /Volumes/SNES
  32. sync
  33. diskutil unmount /Volumes/SNES
  34. disasm: $(APP)
  35. rm -rf fatfs.asm
  36. $(DISASM) fatfs.smc > fatfs.asm
  37. repair: $(APP)
  38. $(UCON) -snes -chk $(APP) 2>&1 >/dev/null
  39. rm -rf fatfs.bak
  40. StartupSnes.obj: StartupSnes.asm
  41. $(AS) -V $?
  42. ressource.obj: ressource.asm
  43. $(AS) -V $?
  44. hook.obj: hook.asm
  45. $(AS) -V $?
  46. %.obj: %.c
  47. $(CC) -wl -wp -sop -ML -I $(INC) $?
  48. $(APP): $(OBJS)
  49. $(LD) -B -HB -M21 -V -T -Pff \
  50. -C3e8000,1f0000 -U000000,000000 \
  51. -Avectors=FFE4,7FE4 \
  52. -Aregistration_data=FFB0,7FB0 \
  53. -Aressource=18000,8000 \
  54. -Ahook=008000,0000 \
  55. -N $(OBJS) $(LIBS) -O $@
  56. clean:
  57. rm -vf $(APP) *.obj *.TMP