Skip to content

Commit

Permalink
Universal binary on OS X when building with PUBLISH=1 make; moved com…
Browse files Browse the repository at this point in the history
…mon defs to Makefile.common
  • Loading branch information
msftguy authored and msftguy committed Nov 22, 2010
1 parent 2186757 commit 4e5ff45
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 100 deletions.
51 changes: 2 additions & 49 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,51 +1,4 @@
CC = gcc
AR = ar
CP = cp
ARMCC = arm-elf-gcc
ARMAS = arm-elf-as
#ARMAS = arm-linux-as
OBJCOPY = arm-elf-objcopy
BIN2C = bin2c
UNAME := $(shell uname -s)
ADDOBJ = ""
EXPLOITS = exploits/limera1n/limera1n.o exploits/steaks4uce/steaks4uce.o

ifeq ($(UNAME),Darwin)
CFLAGS = -I./include -I./resources -I/usr/local/include -I/opt/local/include
# MacPorts
MACPORTS_LIB = /opt/local/lib
ifneq ($(wildcard $(MACPORTS_LIB)),)
OPT_LIB = $(MACPORTS_LIB)
LUSB_LIB_NAME = usb-1.0
else
# Fink
FINK_LIB = /sw/lib
ifneq ($(wildcard $(FINK_LIB)),)
OPT_LIB = $(FINK_LIB)
LUSB_LIB_NAME = usb
ARMAS = arm-linux-as
# FIXME: fix Fink 32bit build
CFLAGS := $(CFLAGS) -m32
else
ERROR = Need MacPorts of Fink to link with libusb
endif
endif

LDFLAGS = -L/usr/lib -L$(OPT_LIB) -l$(LUSB_LIB_NAME) -lcurl -lz -framework CoreFoundation -framework IOKit
LDFLAGS_STATIC = -L/usr/lib $(OPT_LIB)/lib$(LUSB_LIB_NAME).a -lcurl -lz -framework CoreFoundation -framework IOKit
ADDOBJ =
else
ifeq ($(UNAME),MINGW32_NT-5.1)
CFLAGS = -O3 -I./resources -DCURL_STATICLIB
LDFLAGS = -lcurl -lz
ADDOBJ = /mingw/lib/libcurl.a /mingw/lib/libwsock32.a /mingw/lib/libwldap32.a /mingw/lib/libpenwin32.a /mingw/lib/libz.a /mingw/lib/libsetupapi.a
else
CFLAGS = -O3 -I./resources -I./include
LDFLAGS = -lusb-1.0 -lcurl -lz
ADDOBJ =
endif
endif

include Makefile.common

all:
ifdef ERROR
Expand All @@ -55,7 +8,7 @@ endif
make -C tools
make -C exploits
$(CC) $(CFLAGS) -c libpois0n.c libirecovery.c libpartial.c common.c
$(AR) rs libpois0n.a libpois0n.o libirecovery.o libpartial.o common.o $(EXPLOITS)
$(AR_RS) libpois0n.a libpois0n.o libirecovery.o libpartial.o common.o $(EXPLOITS)
$(CC) $(CFLAGS) $(LDFLAGS) -o injectpois0n injectpois0n.c libpois0n.a $(ADDOBJ)
$(CC) $(CFLAGS) $(LDFLAGS_STATIC) -o tetheredboot tetheredboot.c libpois0n.a $(ADDOBJ)

Expand Down
58 changes: 58 additions & 0 deletions Makefile.common
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
BASEDIR = $(dir $(lastword $(MAKEFILE_LIST)))
CC = gcc
AR_RS = ar rs
CP = cp
ARMCC = arm-elf-gcc
ARMAS = arm-elf-as
#ARMAS = arm-linux-as
OBJCOPY = arm-elf-objcopy
BIN2C = $(BASEDIR)/tools/bin2c
UNAME := $(shell uname -s)
ADDOBJ = ""
EXPLOITS = $(BASEDIR)/exploits/limera1n/limera1n.o $(BASEDIR)/exploits/steaks4uce/steaks4uce.o
CFLAGS_PROJECT_INCLUDES = -I$(BASEDIR)/include -I$(BASEDIR)/resources -I$(BASEDIR)

ifeq ($(UNAME),Darwin)
ifdef PUBLISH
UNIVERSAL = 1
endif
ifdef UNIVERSAL
UNIVERSAL_CFLAGS = -force_cpusubtype_ALL -arch ppc -arch i386 -arch x86_64
AR_RS = libtool -static -o
else
UNIVERSAL_CFLAGS =
endif
CFLAGS = $(UNIVERSAL_CFLAGS) $(CFLAGS_PROJECT_INCLUDES) -I/usr/local/include -I/opt/local/include
# MacPorts
MACPORTS_LIB = /opt/local/lib
ifneq ($(wildcard $(MACPORTS_LIB)),)
OPT_LIB = $(MACPORTS_LIB)
LUSB_LIB_NAME = usb-1.0
else
# Fink
FINK_LIB = /sw/lib
ifneq ($(wildcard $(FINK_LIB)),)
OPT_LIB = $(FINK_LIB)
LUSB_LIB_NAME = usb
ARMAS = arm-linux-as
# FIXME: fix Fink 32bit build
CFLAGS := $(CFLAGS) -m32
else
ERROR = Need MacPorts of Fink to link with libusb
endif
endif

LDFLAGS = -L/usr/lib -L$(OPT_LIB) -l$(LUSB_LIB_NAME) -lcurl -lz -framework CoreFoundation -framework IOKit
LDFLAGS_STATIC = -L/usr/lib $(OPT_LIB)/lib$(LUSB_LIB_NAME).a -lcurl -lz -framework CoreFoundation -framework IOKit
ADDOBJ =
else
ifeq ($(UNAME),MINGW32_NT-5.1)
CFLAGS = -O3 $(CFLAGS_PROJECT_INCLUDES) -DCURL_STATICLIB
LDFLAGS = -lcurl -lz
ADDOBJ = /mingw/lib/libcurl.a /mingw/lib/libwsock32.a /mingw/lib/libwldap32.a /mingw/lib/libpenwin32.a /mingw/lib/libz.a /mingw/lib/libsetupapi.a
else
CFLAGS = -O3 $(CFLAGS_PROJECT_INCLUDES)
LDFLAGS = -lusb-1.0 -lcurl -lz
ADDOBJ =
endif
endif
2 changes: 2 additions & 0 deletions exploits/Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include ../Makefile.common

all:
make -C limera1n
make -C steaks4uce
Expand Down
26 changes: 1 addition & 25 deletions exploits/limera1n/Makefile
Original file line number Diff line number Diff line change
@@ -1,28 +1,4 @@
CC = gcc
AR = ar
CP = cp
ARMCC = arm-elf-gcc
ARMAS = arm-elf-as
OBJCOPY = arm-elf-objcopy
UNAME := $(shell uname -s)
BIN2C = ../../tools/bin2c
INCLUDE = -I./../..

ifeq ($(UNAME),Darwin)
CFLAGS = -I./include -I./resources -I/usr/local/include -I/opt/local/include# -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
LDFLAGS = -L/usr/lib -L/opt/local/lib -lusb-1.0 -lcurl -lz -framework CoreFoundation -framework IOKit# -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -Wl,-no_compact_linkedit
ADDOBJ =
else
ifeq ($(UNAME),MINGW32_NT-5.1)
CFLAGS = -O3 -I./resources -DCURL_STATICLIB
LDFLAGS = -lcurl -lz
ADDOBJ = /mingw/lib/libcurl.a /mingw/lib/libwsock32.a /mingw/lib/libwldap32.a /mingw/lib/libpenwin32.a /mingw/lib/libz.a /mingw/lib/libsetupapi.a
else
CFLAGS = -O3 -I./resources -I./include
LDFLAGS = -lusb-1.0 -lcurl -lz
ADDOBJ =
endif
endif
include ../../Makefile.common

all: compile stage

Expand Down
27 changes: 1 addition & 26 deletions exploits/steaks4uce/Makefile
Original file line number Diff line number Diff line change
@@ -1,29 +1,4 @@
CC = gcc
AR = ar
CP = cp
ARMCC = arm-elf-gcc
ARMAS = arm-elf-as
OBJCOPY = arm-elf-objcopy
BIN2C = ../tools/bin2c
UNAME := $(shell uname -s)
BIN2C = ../../tools/bin2c
INCLUDE = -I./../..

ifeq ($(UNAME),Darwin)
CFLAGS = -I./include -I./resources -I/usr/local/include -I/opt/local/include# -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
LDFLAGS = -L/usr/lib -L/opt/local/lib -lusb-1.0 -lcurl -lz -framework CoreFoundation -framework IOKit# -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -Wl,-no_compact_linkedit
ADDOBJ =
else
ifeq ($(UNAME),MINGW32_NT-5.1)
CFLAGS = -O3 -I./resources -DCURL_STATICLIB
LDFLAGS = -lcurl -lz
ADDOBJ = /mingw/lib/libcurl.a /mingw/lib/libwsock32.a /mingw/lib/libwldap32.a /mingw/lib/libpenwin32.a /mingw/lib/libz.a /mingw/lib/libsetupapi.a
else
CFLAGS = -O3 -I./resources -I./include
LDFLAGS = -lusb-1.0 -lcurl -lz
ADDOBJ =
endif
endif
include ../../Makefile.common

all: compile stage

Expand Down

0 comments on commit 4e5ff45

Please sign in to comment.