ALLARCHS = hppa i386 m68k ppc ppc64 sparc x86_64
NARCHS = $(words $(RC_ARCHS))
USRLIB = /usr/lib
+ifdef ALTUSRLOCALLIBSYSTEM
+LIBSYS = $(ALTUSRLOCALLIBSYSTEM)
+else
+LIBSYS = $(NEXT_ROOT)/usr/local/lib/system
+endif
-install: $(RC_ARCHS)
+install: fake $(DSTROOT)/usr/local/lib/system/libc.a $(RC_ARCHS)
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 && \
+ @set -x && \
+ for i in libSystem.B.dylib libSystem.B_debug.dylib libSystem.B_profile.dylib; do \
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); \
+ lipo -create -o $(SYMROOT)/$$i $(foreach ARCH,$(RC_ARCHS),$(OBJROOT)/$(ARCH)/symroot/$$i) || exit 1; \
done
endif
+ @set -x && \
+ for i in libSystem.B.dylib libSystem.B_debug.dylib libSystem.B_profile.dylib; do \
+ dsymutil $(SYMROOT)/$$i || exit 1; \
+ done
+
+# 4993197: force dependency generation for libsyscall.a
+fake:
+ @set -x && \
+ cd $(OBJROOT) && \
+ echo 'main() { __getpid(); return 0; }' > fake.c && \
+ cc -c fake.c && \
+ ld -r -o fake fake.o -lsyscall -L$(LIBSYS)
+
+$(DSTROOT)/usr/local/lib/system/libc.a:
+ bsdmake -C libsys install
$(ALLARCHS):
ifneq "$(NARCHS)" "1"
mkdir -p $(OBJROOT)/$@/objroot $(OBJROOT)/$@/dstroot $(OBJROOT)/$@/symroot
$(MAKE) -f Makefile install \
OBJROOT='$(OBJROOT)/$@/objroot' \
+ TOPOBJROOT='$(OBJROOT)' \
DSTROOT='$(OBJROOT)/$@/dstroot' \
SYMROOT='$(OBJROOT)/$@/symroot' \
+ DESTDIR='$(DSTROOT)' \
RC_CFLAGS='-arch $@ $(RC_NONARCH_CFLAGS)' \
RC_ARCHS='$@' \
RC_$@=YES $(foreach ARCH,$(filter-out $@,$(ALLARCHS)),RC_$(ARCH)=)
else # NARCHS == 1
- $(MAKE) -f Makefile install
+ $(MAKE) -f Makefile install TOPOBJROOT='$(OBJROOT)' DESTDIR='$(DSTROOT)'
endif # NARCHS != 1
.DEFAULT: