TESTROOT = ../..
include ${TESTROOT}/include/common.makefile
CC_ARM = $(shell xcrun -find clang) -miphoneos-version-min=5.0 -isysroot ${IOS_SDK}
test: test-${ARCH}
test-ppc64:
${PASS_IFF} true
test-i386:
${PASS_IFF} true
test-x86_64:
${PASS_IFF} true
test-armv6: test-arm
test-armv7: test-arm
test-arm:
${CC_ARM} foo.c -arch armv4t -c -o foo-v4.o
${FAIL_IF_BAD_OBJ} foo-v4.o
${CC_ARM} foo.c -arch armv5 -c -o foo-v5.o
${FAIL_IF_BAD_OBJ} foo-v5.o
${CC_ARM} foo.c -arch armv6 -c -o foo-v6.o
${FAIL_IF_BAD_OBJ} foo-v6.o
${CC_ARM} foo.c -arch armv7 -c -o foo-v7.o
${FAIL_IF_BAD_OBJ} foo-v7.o
${CC_ARM} foo.c -arch xscale -c -o foo-xscale.o
${FAIL_IF_BAD_OBJ} foo-xscale.o
${CC_ARM} main.c -arch armv4t -c -o main-v4.o
${FAIL_IF_BAD_OBJ} main-v4.o
${CC_ARM} main.c -arch armv5 -c -o main-v5.o
${FAIL_IF_BAD_OBJ} main-v5.o
${CC_ARM} main.c -arch armv6 -c -o main-v6.o
${FAIL_IF_BAD_OBJ} main-v6.o
${CC_ARM} main.c -arch xscale -c -o main-xscale.o
${FAIL_IF_BAD_OBJ} main-xscale.o
${CC_ARM} main.c -arch armv7 -c -o main-v7.o
${FAIL_IF_BAD_OBJ} main-v7.o
${LD} -r main-v6.o foo-v6.o -o all.o
${FAIL_IF_BAD_OBJ} all.o
otool -hv all.o | grep V6 | ${FAIL_IF_EMPTY}
${LD} -r main-v7.o foo-v7.o -o all.o
${FAIL_IF_BAD_OBJ} all.o
otool -hv all.o | grep V7 | ${FAIL_IF_EMPTY}
${PASS_IFF} true
test-ppc:
gcc foo.c -arch ppc -mmacosx-version-min=10.4 -c -o foo.o
${FAIL_IF_BAD_OBJ} foo.o
gcc foo.c -arch ppc750 -c -o foo-G3.o
${FAIL_IF_BAD_OBJ} foo-G3.o
gcc foo.c -arch ppc7400 -c -o foo-G4.o
${FAIL_IF_BAD_OBJ} foo-G4.o
gcc foo.c -arch ppc970 -c -o foo-G5.o
${FAIL_IF_BAD_OBJ} foo-G5.o
gcc main.c -arch ppc -mmacosx-version-min=10.4 -c -o main.o
${FAIL_IF_BAD_OBJ} main.o
gcc main.c -arch ppc970 -c -o main-G5.o
${FAIL_IF_BAD_OBJ} main-G5.o
${LD} -r main.o foo.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ALL | ${FAIL_IF_EMPTY}
${LD} -r main.o foo-G3.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ppc750 | ${FAIL_IF_EMPTY}
${LD} -r main.o foo-G4.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ppc7400 | ${FAIL_IF_EMPTY}
${LD} -r main.o foo-G5.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ppc970 | ${FAIL_IF_EMPTY}
${LD} -r main-G5.o foo-G4.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ppc970 | ${FAIL_IF_EMPTY}
${LD} -r foo-G4.o main-G5.o -o main-r.o
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ppc970 | ${FAIL_IF_EMPTY}
${LD} -r main.o foo-G5.o -o main-r.o -force_cpusubtype_ALL
${FAIL_IF_BAD_OBJ} main-r.o
otool -hv main-r.o | grep ALL | ${PASS_IFF_STDIN}
clean:
rm -f *.o