-export CFLAGS_PPC = -arch ppc -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED
-export CFLAGS_I386 = -arch i386 -Di386 -DI386 -D__I386__ -DPAGE_SIZE_FIXED \
- -march=i686 -mpreferred-stack-boundary=2 -falign-functions=4 -mcpu=pentium4 -force_cpusubtype_ALL
+export CFLAGS_PPC = -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED \
+ -mno-altivec -force_cpusubtype_ALL
+export CFLAGS_I386 = -Di386 -DI386 -D__I386__ \
+ -DPAGE_SIZE_FIXED -force_cpusubtype_ALL
+export CFLAGS_ARM = -Darm -DARM -D__ARM__ -DPAGE_SIZE_FIXED \
+ -fno-strict-aliasing -fno-keep-inline-functions
+
+ifeq (-arch armv7,$(ARCH_FLAGS_ARM))
+CFLAGS_ARM += -mthumb
+endif
+ifeq (-arch armv6,$(ARCH_FLAGS_ARM))
+CFLAGS_ARM += -mthumb
+endif
+ifeq (-arch armv5,$(ARCH_FLAGS_ARM))
+#CFLAGS_ARM += -mthumb # <rdar://problem/6174175>
+endif
+ifeq (-arch xscale,$(ARCH_FLAGS_ARM))
+CFLAGS_ARM += -mthumb
+endif
+
+export CFLAGS_RELEASEPPC = -O2 -mcpu=750 -mmultiple
+export CFLAGS_RELEASE_TRACEPPC = -O2 -mcpu=750 -mmultiple
+export CFLAGS_DEVELOPMENTPPC = -O2 -mcpu=750 -mmultiple
+export CFLAGS_DEBUGPPC = -O2 -mcpu=750 -mmultiple
+export CFLAGS_PROFILEPPC = -O2 -mcpu=750 -mmultiple