]> git.saurik.com Git - apple/ld64.git/blobdiff - unit-tests/test-cases/blank-stubs/Makefile
ld64-77.tar.gz
[apple/ld64.git] / unit-tests / test-cases / blank-stubs / Makefile
index 514fd8b30f2e15f44ace85ea71ac25295a1f8c6d..b99e0858ced6054df4781f11963362902e8fa172 100644 (file)
@@ -34,8 +34,24 @@ run: all
 
 all:
 # build example fully fat dylib
-       ${CC} `echo ${ALL_ARCH_OPTIONS}` -dynamiclib foo.c -o libfoo.dylib -install_name libfoo.dylib
-       lipo libfoo.dylib -remove ${ARCH} -output libfoo.dylib
+
+       gcc `echo ${ALL_ARCH_OPTIONS}` -dynamiclib foo.c -o libfoo.dylib -install_name libfoo.dylib
+       ${FAIL_IF_BAD_MACHO} libfoo.dylib
+
+       # handle the case of a native ppc compile--this sets the subtype, which must be passed to lipo
+       if [ x${ARCH} != xppc ]; \
+       then \
+               SUB_ARCH=${ARCH}; \
+       else \
+               SUB_ARCH=`lipo -info libfoo.dylib | sed 's/.*://;s/ppc64 //;s/.* \(ppc[^ ]*\).*/\1/'`; \
+               echo SUB_ARCH $$SUB_ARCH; \
+               if [ x$$SUB_ARCH = xALL ]; \
+               then \
+                       SUB_ARCH=ppc; \
+               fi \
+       fi; \
+       lipo libfoo.dylib -remove $$SUB_ARCH -output libfoo.dylib
+
        lipo -create libfoo.dylib -arch_blank ${ARCH} -output libfoo.dylib
        ${CC} ${CCFLAGS} main.c libfoo.dylib -o main
        ${OTOOL} -L main | grep libfoo | ${FAIL_IF_STDIN}
@@ -43,5 +59,4 @@ all:
        
 
 clean:
-       rm -rf libfoo.dylib main
-       
\ No newline at end of file
+       rm -rf *.dylib main