72 lines
1.8 KiB
Makefile
72 lines
1.8 KiB
Makefile
BUILD ?= arm_universal
|
|
OUTDIR = $(BUILD)
|
|
|
|
ifeq "$(wildcard /private)" ""
|
|
DYNAMICLIB = -shared
|
|
DYLIB = so
|
|
else
|
|
DYNAMICLIB = -dynamiclib -ldylib1.o
|
|
DYLIB = dylib
|
|
override CFLAGS += -DIMG3_SUPPORT
|
|
override LDFLAGS += -dead_strip
|
|
endif
|
|
override CFLAGS := -Os -Wall -Wextra -Wno-parentheses -Wreturn-type $(CFLAGS)
|
|
ifneq "$(NDEBUG)" "1"
|
|
override CFLAGS += -g3
|
|
endif
|
|
|
|
SDK_GCC = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 -isysroot $(lastword $(wildcard /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.sdk)) -miphoneos-version-min=4.0 -mapcs-frame -fomit-frame-pointer -mthumb
|
|
|
|
GCC_native = gcc
|
|
GCC_mp = gcc-mp-4.6
|
|
GCC_universal = gcc -arch i386 -arch x86_64
|
|
GCC_armv6 = $(SDK_GCC) -arch armv6
|
|
GCC_armv7 = $(SDK_GCC) -arch armv7
|
|
GCC_arm_universal = $(SDK_GCC) -arch armv6 -arch armv7
|
|
|
|
GXX_native = clang++
|
|
GXX_mp = g++-mp-4.6
|
|
|
|
# C++
|
|
|
|
GXX ?= $(GXX_$(BUILD))
|
|
|
|
override CXXFLAGS += $(CFLAGS) -std=gnu++0x -Werror -Wno-pointer-arith
|
|
ifneq "$(GXX)" ""
|
|
override GXXO := $(GXX) $(CXXFLAGS)
|
|
override GXX := $(GXXO) $(LDFLAGS)
|
|
endif
|
|
|
|
# C
|
|
|
|
GCC ?= $(GCC_$(BUILD))
|
|
|
|
ifneq "$(findstring g++,$(GCC))" ""
|
|
override CFLAGS += -std=gnu++0x -fpermissive -Drestrict=
|
|
else
|
|
override CFLAGS += -std=gnu99 -Werror -Wimplicit -Wno-multichar
|
|
endif
|
|
|
|
override GCCO := $(GCC) $(CFLAGS)
|
|
override GCC := $(GCCO) $(LDFLAGS)
|
|
|
|
AR ?= ar
|
|
ifneq "$(filter $(BUILD),armv6 armv7 arm_universal)" ""
|
|
DATADIR = $(dir $(lastword $(MAKEFILE_LIST)))
|
|
LDID = $(DATADIR)/ldid_wrapper
|
|
else
|
|
LDID =
|
|
endif
|
|
|
|
$(OUTDIR)/%.o: %.c *.h $(dir %)/*.h $(EXTRA_DEPS)
|
|
$(GCCO) -c -o $@ $<
|
|
|
|
$(OUTDIR)/%.o: %.cpp *.h $(dir %)/*.h $(EXTRA_DEPS)
|
|
$(GXXO) -c -o $@ $<
|
|
|
|
.clean:
|
|
rm -rf native universal armv6 armv7 arm_universal mp
|
|
|
|
.data:
|
|
make -C $(DATA) BUILD=$(BUILD)
|