File: Makefile

package info (click to toggle)
mrboom 5.2%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 34,372 kB
  • sloc: cpp: 106,150; ansic: 59,845; makefile: 1,033; python: 322; asm: 125; xml: 60; sh: 1
file content (113 lines) | stat: -rw-r--r-- 2,277 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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

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)
LDFLAGS :=
flags   += -std=c99 -DMD5_BUILD_UTILITY -DSHA1_BUILD_UTILITY

ifeq (1,$(use_neon))
ASMFLAGS := -INEON/asm
asflags += -mfpu=neon
endif

DJB2_OBJS := $(CORE_DIR)/djb2.o

MD5_OBJS  := $(CORE_DIR)/md5.o \
				 $(PWD_DIR)/md5_test.o

SHA1_OBJS := $(CORE_DIR)/sha1.o \
				 $(PWD_DIR)/sha1_main.o

CRC32_OBJS := $(PWD_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)

djb2$(EXE_EXT): $(DJB2_OBJS)

md5$(EXE_EXT): $(MD5_OBJS)

sha1$(EXE_EXT): $(SHA1_OBJS)

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)