X-Git-Url: https://git.saurik.com/apple/libsystem.git/blobdiff_plain/8594eb270bddd0a37c00c0c537d17af03093737f..10dba534384a4d0d4d4608e019d0b04a9a81958b:/GNUmakefile diff --git a/GNUmakefile b/GNUmakefile index b232b02..b21054b 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -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 $@