summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2012-07-05 03:52:29 +0200
committerGravatar Nikias Bassen2012-07-05 03:52:29 +0200
commit8123786ff4209cc2849bf0d14cd2f4b3e762883e (patch)
tree7ad1480777a6ea62f484cc155ee25f79ae7e85ea
parenta047c7f2779cb9d6ae68b281f5d74e835c045ba6 (diff)
downloadlibirecovery-8123786ff4209cc2849bf0d14cd2f4b3e762883e.tar.gz
libirecovery-8123786ff4209cc2849bf0d14cd2f4b3e762883e.tar.bz2
Makefile: better system/compiler detection
-rw-r--r--Makefile98
1 files changed, 52 insertions, 46 deletions
diff --git a/Makefile b/Makefile
index a1b98b3..a564b1d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,53 +1,59 @@
1AR := ar 1MACHINE := $(shell $(CC) -dumpmachine)
2CP := cp
3CC := gcc
4 2
5UNAME := $(shell uname -s) 3ifeq ($(findstring darwin,$(MACHINE)), darwin)
4 CFLAGS = -I./include -I/usr/local/include -I/opt/local/include
5 LDFLAGS = -L/usr/lib -L/opt/local/lib
6 LIBS = -lusb-1.0 -framework CoreFoundation -framework IOKit
6 7
7ifeq ($(UNAME),Darwin) 8 IRECOVERY_TARGET = irecovery
8 CFLAGS = -I./include -I/usr/local/include -I/opt/local/include 9 IRECOVERY_LDFLAGS = $(LDFLAGS)
9 LDFLAGS = -L/usr/lib -L/opt/local/lib 10 IRECOVERY_LIBS = $(LIBS) -lreadline
10 LIBS = -lusb-1.0 -framework CoreFoundation -framework IOKit 11
11 12 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
12 IRECOVERY_TARGET = irecovery 13
13 IRECOVERY_LDFLAGS = $(LDFLAGS) 14 LIBIRECOVERY_SHARED_TARGET = libirecovery.dylib
14 IRECOVERY_LIBS = $(LIBS) -lreadline 15 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -dynamiclib
15 16 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
16 LIBIRECOVERY_STATIC_TARGET = libirecovery.a 17endif
17
18 LIBIRECOVERY_SHARED_TARGET = libirecovery.dylib
19 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -dynamiclib
20 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
21else
22 ifeq ($(UNAME),MINGW32_NT-5.1)
23 CFLAGS = -O3 -I include -I c:\mingw\include
24 LDFLAGS = -static-libgcc -L c:\mingw\lib -L c:\mingw\bin
25 LIBS = -lkernel32 -lmsvcrt -lsetupapi
26
27 IRECOVERY_TARGET = irecovery.exe
28 IRECOVERY_LDFLAGS = $(LDFLAGS)
29 IRECOVERY_LIBS = $(LIBS) -lreadline
30
31 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
32
33 LIBIRECOVERY_SHARED_TARGET = libirecovery.dll
34 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared
35 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
36 else
37 CFLAGS = -fPIC -O3 -I./include -I/usr/include -I/usr/local/include
38 LDFLAGS = -L/usr/lib -L/usr/local/lib
39 LIBS = -lusb-1.0
40
41 IRECOVERY_TARGET = irecovery
42 IRECOVERY_LDFLAGS = $(LDFLAGS)
43 IRECOVERY_LIBS = $(LIBS) -lreadline
44 18
45 LIBIRECOVERY_STATIC_TARGET = libirecovery.a 19ifeq ($(findstring linux,$(MACHINE)), linux)
20 CFLAGS = -fPIC -O3 -I./include -I/usr/include -I/usr/local/include
21 LDFLAGS = -L/usr/lib -L/usr/local/lib
22 LIBS = -lusb-1.0
46 23
47 LIBIRECOVERY_SHARED_TARGET = libirecovery.so 24 IRECOVERY_TARGET = irecovery
48 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared -W1,-soname,$(LIBIRECOVERY_SHARED_TARGET) 25 IRECOVERY_LDFLAGS = $(LDFLAGS)
49 LIBIRECOVERY_SHARED_LIBS = $(LIBS) 26 IRECOVERY_LIBS = $(LIBS) -lreadline
50 endif 27
28 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
29
30 LIBIRECOVERY_SHARED_TARGET = libirecovery.so
31 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared -W1,-soname,$(LIBIRECOVERY_SHARED_TARGET)
32 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
33endif
34
35WIN32=
36ifeq ($(findstring cygwin,$(MACHINE)), cygwin)
37 WIN32=1
38 CC=gcc-3
39endif
40ifeq ($(findstring mingw32,$(MACHINE)), mingw32)
41 WIN32=1
42endif
43ifdef WIN32
44 CFLAGS = -O3 -DWIN32 -I include -I c:\mingw\include
45 LDFLAGS = -static-libgcc -L c:\mingw\lib -L c:\mingw\bin
46 LIBS = -lkernel32 -lmsvcrt -lsetupapi
47
48 IRECOVERY_TARGET = irecovery.exe
49 IRECOVERY_LDFLAGS = $(LDFLAGS)
50 IRECOVERY_LIBS = $(LIBS) -lreadline
51
52 LIBIRECOVERY_STATIC_TARGET = libirecovery.a
53
54 LIBIRECOVERY_SHARED_TARGET = libirecovery.dll
55 LIBIRECOVERY_SHARED_LDFLAGS = $(LDFLAGS) -shared
56 LIBIRECOVERY_SHARED_LIBS = $(LIBS)
51endif 57endif
52 58
53LIBIRECOVERY_OBJECTS = libirecovery.o 59LIBIRECOVERY_OBJECTS = libirecovery.o