blob: a564b1d1463a214d1680a5bbee4e86611b24ebff (
plain)
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
|
MACHINE := $(shell $(CC) -dumpmachine)
ifeq ($(findstring darwin,$(MACHINE)), darwin)
CFLAGS = -I./include -I/usr/local/include -I/opt/local/include
LDFLAGS = -L/usr/lib -L/opt/local/lib
LIBS = -lusb-1.0 -framework CoreFoundation -framework IOKit
IRECOVERY_TARGET = irecovery
IRECOVERY_LDFLAGS = $(LDFLAGS)
IRECOVERY_LIBS = $(LIBS) -lreadline
LIBIRECOVERY_STATIC_TARGET = libirecovery.a
LIBIRECOVERY_SHARED_TARGET = libirecovery.dylib
LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -dynamiclib
LIBIRECOVERY_SHARED_LIBS = $(LIBS)
endif
ifeq ($(findstring linux,$(MACHINE)), linux)
CFLAGS = -fPIC -O3 -I./include -I/usr/include -I/usr/local/include
LDFLAGS = -L/usr/lib -L/usr/local/lib
LIBS = -lusb-1.0
IRECOVERY_TARGET = irecovery
IRECOVERY_LDFLAGS = $(LDFLAGS)
IRECOVERY_LIBS = $(LIBS) -lreadline
LIBIRECOVERY_STATIC_TARGET = libirecovery.a
LIBIRECOVERY_SHARED_TARGET = libirecovery.so
LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared -W1,-soname,$(LIBIRECOVERY_SHARED_TARGET)
LIBIRECOVERY_SHARED_LIBS = $(LIBS)
endif
WIN32=
ifeq ($(findstring cygwin,$(MACHINE)), cygwin)
WIN32=1
CC=gcc-3
endif
ifeq ($(findstring mingw32,$(MACHINE)), mingw32)
WIN32=1
endif
ifdef WIN32
CFLAGS = -O3 -DWIN32 -I include -I c:\mingw\include
LDFLAGS = -static-libgcc -L c:\mingw\lib -L c:\mingw\bin
LIBS = -lkernel32 -lmsvcrt -lsetupapi
IRECOVERY_TARGET = irecovery.exe
IRECOVERY_LDFLAGS = $(LDFLAGS)
IRECOVERY_LIBS = $(LIBS) -lreadline
LIBIRECOVERY_STATIC_TARGET = libirecovery.a
LIBIRECOVERY_SHARED_TARGET = libirecovery.dll
LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared
LIBIRECOVERY_SHARED_LIBS = $(LIBS)
endif
LIBIRECOVERY_OBJECTS = libirecovery.o
IRECOVERY_OBJECTS = irecovery.o libirecovery.a
TARGETS = $(LIBIRECOVERY_SHARED_TARGET) $(LIBIRECOVERY_STATIC_TARGET) $(IRECOVERY_TARGET)
OBJECTS = libirecovery.o irecovery.o
all: $(TARGETS)
%.o: %.S
$(CC) -c $(<) -o $(@) $(CFLAGS)
%.o: %.c
$(CC) -c $(<) -o $(@) $(CFLAGS)
$(LIBIRECOVERY_STATIC_TARGET): $(LIBIRECOVERY_OBJECTS)
$(AR) rs $@ $^
$(LIBIRECOVERY_SHARED_TARGET): $(LIBIRECOVERY_OBJECTS)
$(CC) -o $@ $^ $(LIBIRECOVERY_SHARED_LDFLAGS) $(LIBIRECOVERY_SHARED_LIBS)
$(IRECOVERY_TARGET): $(IRECOVERY_OBJECTS)
$(CC) -o $@ $^ $(IRECOVERY_LDFLAGS) $(IRECOVERY_LIBS)
clean:
$(RM) $(LIBIRECOVERY_STATIC_TARGET) $(LIBIRECOVERY_SHARED_TARGET) $(IRECOVERY_TARGET) *.o
|