Makefile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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=zsnes
  8. EMU_DEBUG=/home/david/Devel/arch/snes/tools/zsnes_linux_debug151/src/zsnesd -d
  9. else
  10. # Mac Wine
  11. SDK=/Users/david/.wine/drive_c/65xx_FreeSDK
  12. WINE=wine
  13. EMU=zsnes
  14. endif
  15. CC=$(WINE) $(SDK)/bin/WDC816CC.exe
  16. AS=$(WINE) $(SDK)/bin/WDC816AS.exe
  17. LD=$(WINE) $(SDK)/bin/WDCLN.exe
  18. # Project
  19. INC=$(SDK)/include
  20. LIBS=$(SDK)/lib/cc
  21. OBJS=StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj
  22. APP=mmio.smc
  23. GFX=kungfu debugfont
  24. all: $(APP)
  25. run:
  26. $(EMU) $(APP)
  27. debugger:
  28. $(EMU_DEBUG) $(APP)
  29. upload:
  30. ucon64 -chk $(APP)
  31. cp -rv $(APP) /Volumes/SNES
  32. sync
  33. diskutil unmount /Volumes/SNES
  34. crc:
  35. python ../../scripts/crc_xmodem.py $(APP)
  36. StartupSnes.obj: StartupSnes.asm
  37. $(AS) -V $?
  38. ressource.obj: ressource.asm
  39. $(AS) -V $?
  40. %.obj: %.c
  41. $(CC) -wl -wp -sop -MC -I $(INC) $?
  42. $(APP): $(OBJS)
  43. $(LD) -HB -M21 -V -T -Pff \
  44. -C008000,0000 -U0000,0000 \
  45. -Avectors=FFE4,7FE4 \
  46. -Aregistration_data=FFB0,7FB0 \
  47. -Aressource=18000,8000 \
  48. -N $(OBJS) -L$(LIBS) -O $@
  49. ucon64 -snes -chk $(APP)
  50. clean:
  51. rm -vf $(APP) *.obj