Makefile 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # settings
  2. #use_fbdev = 1
  3. #fake_in_gp2x = 1
  4. use_musashi = 1
  5. #use_fame = 1
  6. use_cz80 = 1
  7. use_sh2drc = 1
  8. #use_sh2mame = 1
  9. #drc_debug = 3
  10. #drc_debug_interp = 1
  11. #profile = 1
  12. all: mkdirs PicoDrive
  13. -include Makefile.local
  14. ifndef ARCH
  15. ARCH = x86
  16. endif
  17. DEFINES = _UNZIP_SUPPORT IO_STATS IN_EVDEV
  18. CFLAGS += -ggdb -Wall -falign-functions=2
  19. CFLAGS += -I../.. -I.
  20. LDFLAGS += -lm -lpng
  21. ifeq "$(ARCH)" "arm"
  22. CFLAGS += -mcpu=arm920t
  23. DEFINES += ARM
  24. endif
  25. CC ?= $(CROSS)gcc
  26. # frontend
  27. OBJS += io.o emu.o blit.o in_evdev.o plat.o sndout_oss.o log_io.o
  28. # common
  29. OBJS += platform/common/main.o platform/common/emu.o platform/common/menu.o \
  30. platform/common/config.o platform/common/fonts.o platform/common/readpng.o \
  31. platform/common/input.o
  32. ifeq "$(use_fbdev)" "1"
  33. DEFINES += FBDEV
  34. OBJS += fbdev.o
  35. else
  36. LDFLAGS += -lpthread
  37. LDFLAGS += -lX11
  38. endif
  39. ifeq "$(fake_in_gp2x)" "1"
  40. DEFINES += IN_GP2X FAKE_IN_GP2X
  41. OBJS += platform/gp2x/in_gp2x.o
  42. DIRS += platform/gp2x
  43. endif
  44. ifeq "$(ARCH)" "arm"
  45. OBJS += pico/carthw/svp/stub_arm.o
  46. endif
  47. OBJS += pico/sound/mix.o
  48. OBJS += pico/carthw/svp/compiler.o
  49. # zlib
  50. OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
  51. zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o
  52. # unzip
  53. OBJS += unzip/unzip.o unzip/unzip_stream.o
  54. vpath %.c = ../..
  55. vpath %.s = ../..
  56. vpath %.S = ../..
  57. vpath %.asm = ../..
  58. DIRS += platform/linux zlib unzip
  59. include ../common/common.mak
  60. include ../common/revision.mak
  61. CFLAGS += $(addprefix -D,$(DEFINES))
  62. clean: tidy
  63. @$(RM) PicoDrive
  64. tidy:
  65. $(RM) $(OBJS)
  66. rm -rf $(DIRS)
  67. @make -C ../../cpu/mz80/ clean
  68. PicoDrive : $(OBJS)
  69. @echo ">>>" $@
  70. $(CC) $(CFLAGS) $^ $(LDFLAGS) -Wl,-Map=PicoDrive.map -o $@
  71. pprof: pprof.c
  72. $(CROSS)gcc -O2 -ggdb -DPPROF -DPPROF_TOOL -I../../ -I. $^ -o $@
  73. %.o : %.asm
  74. @echo ">>>" $<
  75. nasm -f elf $< -o $@