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}
clean:
- rm -rf libfoo.dylib main
-
\ No newline at end of file
+ rm -rf *.dylib main