summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile132
1 files changed, 98 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index b7f3522..941dfdd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,101 @@
1all: linux 1AR := ar
2 @echo "Please choose either macosx, linux, or windows" 2CP := cp
3 3CC := gcc
4static: 4
5 gcc -o libirecovery.o -c src/libirecovery.c -g -I./include 5UNAME := $(shell uname -s)
6 ar rs libirecovery.a libirecovery.o 6
7 gcc -o irecovery src/irecovery.c -g -I./include -L. -lirecovery -lreadline -lusb-1.0 7ifeq ($(UNAME),Darwin)
8 8 CFLAGS = -I./include -I/usr/local/include -I/opt/local/include
9linux: 9 LDFLAGS = -L/usr/lib -L/opt/local/lib
10 gcc -o libirecovery.o -c src/libirecovery.c -g -I./include -lreadline -fPIC 10 LIBS = -lreadline -lusb-1.0 -framework CoreFoundation -framework IOKit
11 gcc -o libirecovery.so libirecovery.o -g -shared -Wl,-soname,libirecovery.so -lusb-1.0 11
12 gcc -o irecovery src/irecovery.c -g -I./include -L. -lirecovery -lreadline 12 IRECOVERY_TARGET = irecovery
13 13 IRECOVERY_OBJECTS = irecovery.o libirecovery.a
14macosx: 14 IRECOVERY_CFLAGS = $(CFLAGS)
15 gcc -o libirecovery.dylib -c src/libirecovery.c -dynamiclib 15 IRECOVERY_LDFLAGS = $(LDFLAGS)
16 gcc -o irecovery src/irecovery.c -I./include -L. -lirecovery -lreadline -lusb-1.0 16 IRECOVERY_LIBS = $(LIBS)
17 17
18windows: 18 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
19 gcc -o libirecovery.dll -c src/libirecovery.c -I. -lusb-1.0 -lreadline -shared -fPIC 19 LIBIRECOVERY_STATIC_OBJECTS = libirecovery.o
20 gcc -o irecovery irecovery.c -I. -lirecovery -lreadline 20 LIBIRECOVERY_STATIC_CFLAGS = $(CFLAGS)
21 21 LIBIRECOVERY_STATIC_LDFLAGS = $(LDFLAGS)
22install: 22 LIBIRECOVERY_STATIC_LIBS = $(LIBS)
23 cp libirecovery.so /usr/local/lib/libirecovery.so 23
24 cp include/libirecovery.h /usr/local/include/libirecovery.h 24 LIBIRECOVERY_SHARED_TARGET = libirecovery.dylib
25 cp irecovery /usr/local/bin/irecovery 25 LIBIRECOVERY_SHARED_OBJECTS = libirecovery.o
26 ldconfig 26 LIBIRECOVERY_SHARED_CFLAGS = $(CFLAGS)
27 27 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS)
28uninstall: 28 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
29 rm -rf /usr/local/lib/libirecovery.so 29else
30 rm -rf /usr/local/include/libirecovery.h 30 ifeq ($(UNAME),MINGW32_NT-5.1)
31 rm -rf /usr/local/bin/irecovery 31 CFLAGS = -O3 -I include -I c:\mingw\include
32 32 LDFLAGS = -L c:\mingw\lib -lreadline
33clean: 33 LIBS = -lreadline -lusb-1.0 -framework CoreFoundation -framework IOKit
34 rm -rf irecovery libirecovery.o libirecovery.so libirecovery.a 34
35 IRECOVERY_TARGET = irecovery.exe
36 IRECOVERY_OBJECTS = irecovery.o
37 IRECOVERY_CFLAGS = $(CFLAGS)
38 IRECOVERY_LDFLAGS = $(LDFLAGS)
39 IRECOVERY_LIBS = $(LIBS) libirecovery.a
40
41 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
42 LIBIRECOVERY_STATIC_OBJECTS = libirecovery.o
43 LIBIRECOVERY_STATIC_CFLAGS = $(CFLAGS)
44 LIBIRECOVERY_STATIC_LDFLAGS = $(LDFLAGS)
45 LIBIRECOVERY_STATIC_LIBS = $(LIBS)
46
47 LIBIRECOVERY_SHARED_TARGET = libirecovery.dll
48 LIBIRECOVERY_SHARED_OBJECTS = libirecovery.o
49 LIBIRECOVERY_SHARED_CFLAGS = $(CFLAGS)
50 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS)
51 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
52 else
53 CFLAGS = -O3 -I./include -I/usr/include -I/usr/local/include
54 LDFLAGS = -L/usr/lib -L/usr/local/lib
55 LIBS = -lusb-1.0 -lreadline
35 56
57 IRECOVERY_TARGET = irecovery
58 IRECOVERY_OBJECTS = irecovery.o
59 IRECOVERY_CFLAGS = $(CFLAGS)
60 IRECOVERY_LDFLAGS = $(LDFLAGS)
61 IRECOVERY_LIBS = $(LIBS)
62
63 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
64 LIBIRECOVERY_STATIC_OBJECTS = libirecovery.o
65 LIBIRECOVERY_STATIC_CFLAGS = $(CLFAGS)
66 LIBIRECOVERY_STATIC_LDFLAGS = $(LDFLAGS)
67 LIBIRECOVERY_STATIC_LIBS = $(LIBS)
68
69 LIBIRECOVERY_SHARED_TARGET = libirecovery.so
70 LIBIRECOVERY_SHARED_OBJECTS = libirecovery.o
71 LIBIRECOVERY_SHARED_CFLAGS = $(CFLAGS)
72 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS)
73 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
74 endif
75endif
76
77LIBIRECOVERY_OBJECTS = libirecovery.o
78IRECOVERY_OBJECTS = irecovery.o libirecovery.a
79
80TARGETS = $(LIBIRECOVERY_STATIC_TARGET) $(IRECOVERY_TARGET)
81OBJECTS = libirecovery.o irecovery.o
82
83%.o: %.S
84 $(CC) -c $(<) -o $(@) $(CFLAGS)
85
86%.o: %.c
87 $(CC) -c $(<) -o $(@) $(CFLAGS)
36 88
89$(LIBIRECOVERY_STATIC_TARGET): $(LIBIRECOVERY_STATIC_OBJECTS)
90 $(AR) rs $(LIBIRECOVERY_STATIC_TARGET) $(LIBIRECOVERY_STATIC_OBJECTS)
91
92$(LIBIRECOVERY_SHARED_TARGET): $(LIBIRECOVERY_SHARED_OBJECTS)
93
94$(IRECOVERY_TARGET): $(IRECOVERY_OBJECTS)
95 $(CC) -o $(IRECOVERY_TARGET) $(IRECOVERY_OBJECTS) $(IRECOVERY_CFLAGS) $(IRECOVERY_LDFLAGS) $(IRECOVERY_LIBS)
96
97all: $(TARGETS)
98
37 99
100clean:
101 $(RM) $(LIBIRECOVERY_STATIC_TARGET) $(IRECOVERY_TARGET) *.o \ No newline at end of file