113 lines
2.2 KiB
Makefile
Raw Normal View History

compiler := gcc
extra_flags :=
use_neon := 0
release := release
EXE_EXT :=
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
arch = intel
ifeq ($(shell uname -p),powerpc)
arch = ppc
endif
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
ifeq ($(compiler),gcc)
extra_rules_gcc := $(shell $(compiler) -dumpmachine)
endif
ifneq (,$(findstring armv7,$(extra_rules_gcc)))
extra_flags += -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon
use_neon := 1
endif
ifneq (,$(findstring hardfloat,$(extra_rules_gcc)))
extra_flags += -mfloat-abi=hard
endif
ifeq (release,$(build))
extra_flags += -O2
endif
ifeq (debug,$(build))
extra_flags += -O0 -g
endif
ldflags :=
EXE_EXT :=
ifeq ($(platform), unix)
else ifeq ($(platform), osx)
compiler := $(CC)
else
EXE_EXT = .exe
endif
2020-01-30 17:41:38 +01:00
PWD_DIR := .
LIBRETRO_COMM_DIR := ../..
CORE_DIR := $(LIBRETRO_COMM_DIR)/utils
CC := $(compiler)
CXX := $(subst CC,++,$(compiler))
flags := -I$(LIBRETRO_COMM_DIR)/include
asflags := $(extra_flags)
2019-02-03 15:49:35 -08:00
LDFLAGS :=
flags += -std=c99 -DMD5_BUILD_UTILITY -DSHA1_BUILD_UTILITY
ifeq (1,$(use_neon))
ASMFLAGS := -INEON/asm
asflags += -mfpu=neon
endif
2020-01-30 17:41:38 +01:00
DJB2_OBJS := $(CORE_DIR)/djb2.o
MD5_OBJS := $(CORE_DIR)/md5.o
SHA1_OBJS := $(CORE_DIR)/sha1.o \
$(PWD_DIR)/sha1_main.o
CRC32_OBJS := $(CORE_DIR)/crc32.o \
$(LIBRETRO_COMM_DIR)/compat/fopen_utf8.o \
$(LIBRETRO_COMM_DIR)/compat/compat_strl.o \
$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.o \
$(LIBRETRO_COMM_DIR)/streams/file_stream.o \
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.o \
$(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.o
UTILS := djb2$(EXE_EXT) md5$(EXE_EXT) sha1$(EXE_EXT) crc32$(EXE_EXT)
all: $(UTILS)
2020-01-30 17:41:38 +01:00
djb2$(EXE_EXT): $(DJB2_OBJS)
2020-01-30 17:41:38 +01:00
md5$(EXE_EXT): $(MD5_OBJS)
2020-01-30 17:41:38 +01:00
sha1$(EXE_EXT): $(SHA1_OBJS)
2020-01-30 17:41:38 +01:00
crc32$(EXE_EXT): $(CRC32_OBJS)
%.o: %.S
$(CC) -c -o $@ $(asflags) $(LDFLAGS) $(ASMFLAGS) $<
%.o: %.c
$(CC) -c -o $@ $(flags) $<
$(UTILS):
$(CC) -o $@ $(ldflags) $(flags) $^
clean:
rm -f $(CORE_DIR)/*.o
rm -f $(UTILS)
strip:
strip -s $(UTILS)