]> git.saurik.com Git - apple/libsystem.git/blobdiff - GNUmakefile
Libsystem-88.tar.gz
[apple/libsystem.git] / GNUmakefile
index b232b02d767ee463181ffedb46c8345365ca7b17..b21054b43a37d00fd13ad79565943896edaa0c92 100644 (file)
@@ -12,33 +12,43 @@ no_target:
 
 ##---------------------------------------------------------------------
 # For each arch, we setup the independent OBJROOT and DSTROOT, and adjust
-# the other flags.  After all the archs are built, we ditto over one on
+# the other flags.  After all the archs are built, we copy over one on
 # time (for the non-dylib files), and then call lipo to create fat files
 # for the three dylibs.
 ##---------------------------------------------------------------------
-ALLARCHS = hppa i386 m68k ppc sparc
+ALLARCHS = hppa i386 m68k ppc ppc64 sparc
 NARCHS = $(words $(RC_ARCHS))
 USRLIB = /usr/lib
 
 install: $(RC_ARCHS)
-       ditto $(OBJROOT)/$(word 1,$(RC_ARCHS))/dstroot $(DSTROOT)
 ifneq "$(NARCHS)" "1"
+       rsync -aH $(OBJROOT)/$(word 1,$(RC_ARCHS))/dstroot/ $(DSTROOT)
+       rsync -aH $(OBJROOT)/$(word 1,$(RC_ARCHS))/symroot/ $(SYMROOT)
        @for i in libSystem.B.dylib libSystem.B_debug.dylib libSystem.B_profile.dylib; do \
-           echo rm -f $(DSTROOT)$(USRLIB)/$$i; \
-           rm -f $(DSTROOT)$(USRLIB)/$$i; \
-           echo lipo -create -o $(DSTROOT)$(USRLIB)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/dstroot$(USRLIB)/$$i); \
-           lipo -create -o $(DSTROOT)$(USRLIB)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/dstroot$(USRLIB)/$$i); \
+           echo rm -f $(DSTROOT)$(USRLIB)/$$i && \
+           rm -f $(DSTROOT)$(USRLIB)/$$i && \
+           echo lipo -create -o $(DSTROOT)$(USRLIB)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/dstroot$(USRLIB)/$$i) && \
+           lipo -create -o $(DSTROOT)$(USRLIB)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/dstroot$(USRLIB)/$$i) && \
+           echo rm -f $(SYMROOT)/$$i && \
+           rm -f $(SYMROOT)/$$i && \
+           echo lipo -create -o $(SYMROOT)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/symroot/$$i) && \
+           lipo -create -o $(SYMROOT)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/symroot/$$i); \
        done
 endif
 
 $(ALLARCHS):
-       mkdir -p $(OBJROOT)/$@/objroot $(OBJROOT)/$@/dstroot
+ifneq "$(NARCHS)" "1"
+       mkdir -p $(OBJROOT)/$@/objroot $(OBJROOT)/$@/dstroot $(OBJROOT)/$@/symroot
        $(MAKE) -f Makefile install \
            OBJROOT='$(OBJROOT)/$@/objroot' \
            DSTROOT='$(OBJROOT)/$@/dstroot' \
+           SYMROOT='$(OBJROOT)/$@/symroot' \
            RC_CFLAGS='-arch $@ $(RC_NONARCH_CFLAGS)' \
            RC_ARCHS='$@' \
            RC_$@=YES $(foreach ARCH,$(filter-out $@,$(ALLARCHS)),RC_$(ARCH)=)
+else # NARCHS == 1
+       $(MAKE) -f Makefile install
+endif # NARCHS != 1
 
 .DEFAULT:
        @$(MAKE) -f Makefile $@