]> git.saurik.com Git - apple/ld64.git/blobdiff - unit-tests/test-cases/no-uuid/Makefile
ld64-123.2.tar.gz
[apple/ld64.git] / unit-tests / test-cases / no-uuid / Makefile
index 223c8b8e7767540ab0600e4b2bbdd1e307ae5a7c..7c5304bd090343ef0ed094f48f87a94cc0f422fb 100644 (file)
@@ -31,31 +31,33 @@ run: all
 
 all:
 
 
 all:
 
-# Test with dwarf-2
-       ${CC} ${CCFLAGS} foo.c -o foo-${ARCH} -gdwarf-2
-       ${FAIL_IF_BAD_MACHO} foo-${ARCH}
-       ${OTOOL} -hlv foo-${ARCH} | grep LC_UUID | ${FAIL_IF_EMPTY}
-       rm -f foo-${ARCH}
-
-# Test with stabs
-       ${CC} ${CCFLAGS} foo.c -o foo-${ARCH} -gfull
-       ${FAIL_IF_BAD_MACHO} foo-${ARCH}
-       ${OTOOL} -hlv foo-${ARCH} | grep LC_UUID | ${FAIL_IF_STDIN}
-
-# Test with two files one with UUID
-       ${CC} ${CCFLAGS} bar.c -c -gdwarf-2
-       ${LD} -arch ${ARCH} bar.o -r -o bar-${ARCH}.o -no_uuid
-       ${CC} ${CCFLAGS} foo.c -c -gdwarf-2
-       ${LD} -arch ${ARCH} foo.o -r -o foo-${ARCH}.o
-       ${CC} ${CCFLAGS} foo-${ARCH}.o bar-${ARCH}.o -o temp-${ARCH}
-       ${FAIL_IF_BAD_MACHO} temp-${ARCH}
-       ${OTOOL} -hlv temp-${ARCH} | grep LC_UUID | ${FAIL_IF_EMPTY}
-       rm -f foo.o bar.o foo-${ARCH}.o bar-${ARCH}.o temp-${ARCH}
-
-# Test with with the flag disabling uuid
-       ${CC} ${CCFLAGS} foo.c -o foo-${ARCH} -Wl,-no_uuid -gdwarf-2
-       ${FAIL_IF_BAD_MACHO} foo-${ARCH}
-       ${OTOOL} -hlv foo-${ARCH} | grep LC_UUID | ${PASS_IFF_EMPTY}
+# Test main executable built with dwarf has uuid
+       ${CC} ${CCFLAGS} foo.c -o foo -gdwarf-2
+       ${FAIL_IF_BAD_MACHO} foo
+       ${OTOOL} -hlv foo | grep LC_UUID | ${FAIL_IF_EMPTY}
+       rm -f foo
+
+# Test main executable built with stabs has uuid
+       ${CC} ${CCFLAGS} foo.c -o foo -gfull -gstabs+
+       ${FAIL_IF_BAD_MACHO} foo
+       ${OTOOL} -hlv foo | grep LC_UUID | ${FAIL_IF_EMPTY}
+
+# Test main executable built with dwarf and -no_uuid does not have uuid
+       ${CC} ${CCFLAGS} foo.c -o foo -Wl,-no_uuid -gdwarf-2
+       ${FAIL_IF_BAD_MACHO} foo
+       ${OTOOL} -hlv foo | grep LC_UUID | ${FAIL_IF_STDIN}
+
+# Test ld -r of stabs file has no uuid (llvm does not support stabs, so use gcc)
+       gcc-4.2 -arch ${ARCH} ${CCFLAGS} foo.c -c -o foo.o -gfull -gstabs+
+       ${LD} -arch ${ARCH} foo.o -r -o foo2.o
+       ${OTOOL} -hlv foo2.o | grep LC_UUID | ${FAIL_IF_STDIN}
+
+# Test ld -r of two files one with uuid produces a uuid
+       ${CC} ${CCFLAGS} foo.c -c -o foo.o -gdwarf-2
+       ${LD} -arch ${ARCH} foo.o -r -o foo2.o
+       ${CC} ${CCFLAGS} bar.c -c -gstabs+ -o bar.o
+       ${LD} -arch ${ARCH} -r foo.o bar.o -o foobar.o
+       ${OTOOL} -hlv foobar.o | grep LC_UUID | ${PASS_IFF_STDIN}
 
 clean:
 
 clean:
-       rm -rf foo-${ARCH} bar-${ARCH}.dylib temp-${ARCH}.dylib
+       rm -rf foo foo.o foo2.o bar.o foobar.o foo.dSYM