9 ifeq ($(shell uname -a),)
11 else ifneq ($(findstring MINGW,$(shell uname -a)),)
13 else ifneq ($(findstring Darwin,$(shell uname -a)),)
16 ifeq ($(shell uname -p),powerpc)
19 else ifneq ($(findstring win,$(shell uname -a)),)
24 ifeq ($(compiler),gcc)
25 extra_rules_gcc := $(shell $(compiler) -dumpmachine)
28 ifneq (,$(findstring armv7,$(extra_rules_gcc)))
29 extra_flags += -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon
33 ifneq (,$(findstring hardfloat,$(extra_rules_gcc)))
34 extra_flags += -mfloat-abi=hard
37 ifeq (release,$(build))
48 ifeq ($(platform), unix)
49 else ifeq ($(platform), osx)
56 LIBRETRO_COMM_DIR := ../..
57 CORE_DIR := $(LIBRETRO_COMM_DIR)/utils
60 CXX := $(subst CC,++,$(compiler))
61 flags := -I$(LIBRETRO_COMM_DIR)/include
62 asflags := $(extra_flags)
64 flags += -std=c99 -DMD5_BUILD_UTILITY -DSHA1_BUILD_UTILITY
67 ASMFLAGS := -INEON/asm
71 DJB2_OBJS := $(CORE_DIR)/djb2.o
73 MD5_OBJS := $(CORE_DIR)/md5.o \
76 SHA1_OBJS := $(CORE_DIR)/sha1.o \
77 $(PWD_DIR)/sha1_main.o
79 CRC32_OBJS := $(PWD_DIR)/crc32.o \
80 $(LIBRETRO_COMM_DIR)/compat/fopen_utf8.o \
81 $(LIBRETRO_COMM_DIR)/compat/compat_strl.o \
82 $(LIBRETRO_COMM_DIR)/encodings/encoding_utf.o \
83 $(LIBRETRO_COMM_DIR)/streams/file_stream.o \
84 $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.o \
85 $(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.o
87 UTILS := djb2$(EXE_EXT) md5$(EXE_EXT) sha1$(EXE_EXT) crc32$(EXE_EXT)
91 djb2$(EXE_EXT): $(DJB2_OBJS)
93 md5$(EXE_EXT): $(MD5_OBJS)
95 sha1$(EXE_EXT): $(SHA1_OBJS)
97 crc32$(EXE_EXT): $(CRC32_OBJS)
100 $(CC) -c -o $@ $(asflags) $(LDFLAGS) $(ASMFLAGS) $<
103 $(CC) -c -o $@ $(flags) $<
106 $(CC) -o $@ $(ldflags) $(flags) $^
109 rm -f $(CORE_DIR)/*.o