Makefile 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #export CROSS = arm-none-linux-gnueabi-
  2. CROSS ?= $(CROSS_COMPILE)
  3. LIBROOT = /home/notaz/dev/pnd/libroot
  4. # settings
  5. use_cyclone = 1
  6. #use_musashi = 1
  7. use_drz80 = 1
  8. use_sh2drc = 1
  9. #use_sh2mame = 1
  10. asm_memory = 1
  11. asm_render = 1
  12. asm_ym2612 = 1
  13. asm_misc = 1
  14. asm_cdpico = 1
  15. asm_cdmemory = 1
  16. #profile = 1
  17. #drc_debug = 3
  18. -include Makefile.local
  19. ifeq "$(use_musashi)" "1"
  20. # due to CPU stop flag acces
  21. asm_cdpico = 0
  22. asm_cdmemory = 0
  23. endif
  24. ARCH = arm
  25. DEFINES += ARM PANDORA IN_EVDEV
  26. CFLAGS += -I../.. -I. -I$(LIBROOT)/include
  27. CFLAGS += -Wall -Winline -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a
  28. ifeq ($(DEBUG),)
  29. CFLAGS += -O2 -fomit-frame-pointer -fstrict-aliasing -ffast-math
  30. endif
  31. LDFLAGS += -L$(LIBROOT)/lib -Wl,-Bstatic -lpng -Wl,-Bdynamic -lm -lpthread -ldl
  32. ASFLAGS = -mcpu=cortex-a8
  33. CC = $(CROSS)gcc
  34. STRIP = $(CROSS)strip
  35. AS = $(CROSS)as
  36. LD = $(CROSS)ld
  37. OBJCOPY = $(CROSS)objcopy
  38. # frontend
  39. OBJS += pandora.o emu.o asm_utils.o
  40. # common
  41. OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o platform/common/config.o \
  42. platform/common/arm_utils.o platform/common/mp3_helix.o platform/common/arm_linux.o \
  43. platform/common/readpng.o platform/common/input.o platform/common/main.o \
  44. platform/linux/fbdev.o platform/linux/in_evdev.o platform/linux/sndout_oss.o \
  45. platform/linux/plat.o platform/linux/oshide.o
  46. # ARM stuff
  47. OBJS += pico/carthw/svp/compiler.o pico/carthw/svp/stub_arm.o
  48. OBJS += pico/sound/mix_arm.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
  52. # unzip
  53. OBJS += unzip/unzip.o unzip/unzip_stream.o
  54. vpath %.c = ../..
  55. vpath %.s = ../..
  56. vpath %.S = ../..
  57. DIRS += platform/linux zlib unzip
  58. all: mkdirs PicoDrive picorestore
  59. include ../common/common.mak
  60. include ../common/common_arm.mak
  61. include ../common/revision.mak
  62. CFLAGS += $(addprefix -D,$(DEFINES))
  63. PicoDrive : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a
  64. @echo ">>>" $@
  65. $(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) -Wl,-Map=PicoDrive.map
  66. ifeq ($(DEBUG),)
  67. $(STRIP) $@
  68. endif
  69. clean: tidy
  70. $(RM) PicoDrive
  71. tidy:
  72. $(RM) $(OBJS)
  73. readme.txt: ../../tools/textfilter ../base_readme.txt
  74. ../../tools/textfilter ../base_readme.txt $@ GP2X
  75. # ----------- release -----------
  76. ifneq ($(findstring rel,$(MAKECMDGOALS)),)
  77. $(error TODO)
  78. ifeq ($(VER),)
  79. $(error need VER)
  80. endif
  81. endif