Loading...
--- /dev/null
+++ Libc/Libc-594.1.4/BSDmakefile
@@ -0,0 +1,269 @@
+.include <CoreOS/Standard/Commands.mk>
+.include <CoreOS/Standard/Variables.mk>
+
+ALLARCHS = arm i386 ppc ppc64 x86_64 # installsrc doesn't set RC_ARCHS
+TOP != ${PWD}
+.ifdef DSTROOT
+DESTDIR = $(DSTROOT)
+.else
+.ifdef DESTDIR
+DSTROOT = $(DESTDIR)
+.else
+DSTROOT = /
+DESTDIR = /
+.endif
+.endif
+.ifndef OBJROOT
+OBJROOT = $(TOP)/OBJROOT
+.endif
+.ifndef SRCROOT
+SRCROOT = $(TOP)
+.endif
+.ifndef SYMROOT
+SYMROOT = $(TOP)/SYMROOT
+.endif
+MYARCH != ${ARCH}
+.ifndef RC_ARCHS
+RC_ARCHS = $(MYARCH)
+RC_$(RC_ARCHS) = 1
+.endif
+FIRST_ARCH != ${PERL} -e 'print $$ARGV[0]' ${RC_ARCHS}
+.ifndef RC_NONARCH_CFLAGS
+RC_NONARCH_CFLAGS = -pipe
+.endif
+.ifdef ALTUSRLOCALLIBSYSTEM
+LIBSYS = $(ALTUSRLOCALLIBSYSTEM)
+.else
+LIBSYS = $(SDKROOT)/usr/local/lib/system
+.endif
+NJOBS != ${PERL} -e '$$n = `$(SYSCTL) -n hw.ncpu`; printf "%d\n", $$n < 2 ? 2 : ($$n * 1.5)'
+.ifdef DEBUG
+MYBSDMAKE = $(BSDMAKE) -f Makefile -P
+.else
+MYBSDMAKE = $(BSDMAKE) -f Makefile
+.endif
+MYBSDMAKEJ = $(MYBSDMAKE) -j $(NJOBS)
+
+# Set the DONT-BUILD-arch-form variable to non-empty to turn off building
+#DONT-BUILD-x86_64-static = 1
+
+# These variables are to guarantee that the left-hand side of an expression is
+# always a variable
+dynamic = dynamic
+static = static
+
+# Map RC_ARCHS to MACHINE_ARCH
+.for A in $(RC_ARCHS) $(MYARCH) # {
+MACHINE_ARCH-$(A) = $(A:C/^armv.*/arm/)
+.endfor # RC_ARCHS }
+
+FORMS := dynamic debug profile static
+
+OBJSUFFIX-dynamic = So
+OBJSUFFIX-debug = do
+OBJSUFFIX-profile = po
+OBJSUFFIX-static = o
+
+all: build
+
+ROOTS := DSTROOT OBJROOT SYMROOT
+.for R in $(ROOTS) # {
+roots: $($(R))
+$($(R)):
+ ${MKDIR} '$($(R))'
+.endfor # ROOTS }
+
+# These are the non B&I defaults
+.ifndef RC_ProjectName
+
+installhdrs: roots installhdrs-real
+build: roots build-static build-profile build-debug build-dynamic
+install: roots installhdrs install-all
+
+.else # RC_ProjectName
+
+# And these are to deal with B&I building libc differently
+# based on RC_ProjectName.
+.if $(RC_ProjectName) == Libc
+installhdrs:
+build: roots build-dynamic
+install: roots BI-install-dynamic
+.endif
+.if $(RC_ProjectName) == Libc_headers
+installhdrs: roots installhdrs-real
+build:
+install: roots installhdrs-real
+.endif
+.if $(RC_ProjectName) == Libc_man
+installhdrs:
+build:
+install: roots install-man
+.endif
+.if $(RC_ProjectName) == Libc_static
+installhdrs:
+build: roots build-static
+install: roots BI-install-static
+.endif
+.if $(RC_ProjectName) == Libc_debug
+installhdrs:
+build: roots build-debug
+install: roots BI-install-debug
+.endif
+.if $(RC_ProjectName) == Libc_profile
+installhdrs:
+build: roots build-profile
+install: roots BI-install-profile
+.endif
+.endif # RC_ProjectName
+
+# Make a copy of System.framework/Versions/B/PrivateHeaders, with headers
+# patched so that we can build variant symbols independently
+SYSTEMFRAMEWORK = System.framework
+VERSIONSB = Versions/B
+PRIVATEHEADERPATH = $(SYSTEMFRAMEWORK)/$(VERSIONSB)/PrivateHeaders
+FRAMEWORKS = $(OBJROOT)/Frameworks
+.ifdef ALTFRAMEWORKSPATH
+FRAMEWORKPATH = ${ALTFRAMEWORKSPATH}
+.else
+FRAMEWORKPATH = ${SDKROOT}/System/Library/Frameworks
+.endif
+$(FRAMEWORKS):
+ $(SRCROOT)/patchHeaders $(FRAMEWORKPATH)/$(PRIVATEHEADERPATH) $(FRAMEWORKS)/$(PRIVATEHEADERPATH:H)
+ ${LN} -fs $(VERSIONSB)/PrivateHeaders $(FRAMEWORKS)/$(SYSTEMFRAMEWORK)/PrivateHeaders
+
+AUTOPATCHED = $(SRCROOT)/.autopatched
+PARTIAL = -partial
+.for F in $(FORMS) # {
+.if $(dynamic) == $(F) # {
+SUFFIX-$(F) =
+.else # } {
+SUFFIX-$(F) = _$(F)
+.endif # }
+PSUFFIX-$(F) = $(PARTIAL)$(SUFFIX-$(F))
+
+.for A in $(RC_ARCHS) # {
+.if empty(DONT-BUILD-$(A)-$(F)) # {
+ARCHS-$(F) += $(A)
+build-$(A)-$(F):
+ ${MKDIR} $(OBJROOT)/obj.$(A) && \
+ MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH=$(MACHINE_ARCH-$(A)) CCARCH=$(A) \
+ DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+ RC_NONARCH_CFLAGS="$(RC_NONARCH_CFLAGS)" MAKEFLAGS="" \
+ OBJSUFFIX="$(OBJSUFFIX-$(F))" \
+ $(MYBSDMAKEJ) libc$(SUFFIX-$(F)).a
+.else # } {
+build-$(A)-$(F):
+ @echo Not building libc$(PSUFFIX-$(F)).a for $(A)
+.endif # }
+.endfor # RC_ARCHS }
+
+NARCHS-$(F) != ${ECHO} $(ARCHS-$(F)) | ${WC} -w
+
+build-$(F): $(FRAMEWORKS) $(AUTOPATCHED)
+.for A in $(RC_ARCHS) # {
+build-$(F): build-$(A)-$(F)
+.endfor # RC_ARCHS }
+.if $(NARCHS-$(F)) == 0 # {
+build-$(F):
+ @echo No libc$(PSUFFIX-$(F)).a built
+.else # } {
+LIPOARGS-$(F) != ${PERL} -e 'printf "%s\n", join(" ", map(qq(-arch $$_ \"$(OBJROOT)/obj.$$_/libc$(SUFFIX-$(F)).a\"), qw($(ARCHS-$(F)))))'
+.if $(dynamic) == $(F) # {
+LIPODYLDARGS-$(F) != ${PERL} -e 'printf "%s\n", join(" ", map(qq(-arch $$_ \"$(OBJROOT)/obj.$$_/libc-dyld.a\"), qw($(ARCHS-$(F)))))'
+.endif # }
+build-$(F):
+.if $(NARCHS-$(F)) == 1 # {
+ ${CP} "$(OBJROOT)/obj.$(RC_ARCHS)/libc$(SUFFIX-$(F)).a" "$(SYMROOT)/libc$(PSUFFIX-$(F)).a"
+.if $(dynamic) == $(F) # {
+ ${CP} "$(OBJROOT)/obj.$(RC_ARCHS)/libc-dyld.a" "$(SYMROOT)/libc-dyld.a"
+.endif # }
+.else # } {
+ ${LIPO} -create $(LIPOARGS-$(F)) -output "$(SYMROOT)/libc$(PSUFFIX-$(F)).a"
+.if $(dynamic) == $(F) # {
+ ${LIPO} -create $(LIPODYLDARGS-$(F)) -output "$(SYMROOT)/libc-dyld.a"
+.endif # }
+.endif # }
+.endif # }
+.endfor # FORMS }
+
+# We autopatch the files into the directory containing the Makefile.inc. This
+# will happen at installsrc.
+$(AUTOPATCHED):
+.for A in $(ALLARCHS) # {
+ MACHINE_ARCH=$(A) SRCROOT="$(SRCROOT)" \
+ $(MYBSDMAKE) -C "$(SRCROOT)" autopatch
+.endfor # ALLARCHS # }
+ touch $(AUTOPATCHED)
+
+copysrc:
+ ${PAX} -rw -p p . "$(SRCROOT)"
+
+installsrc: copysrc $(AUTOPATCHED)
+
+installhdrs-real:
+ MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" MAKEFLAGS="" \
+ DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+ $(MYBSDMAKEJ) installhdrs
+.for A in $(RC_ARCHS) # {
+ ${MKDIR} "$(OBJROOT)/obj.$(A)" && \
+ MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH=$(MACHINE_ARCH-$(A)) CCARCH=$(A) \
+ DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+ MAKEFLAGS="" RC_NONARCH_CFLAGS="$(RC_NONARCH_CFLAGS)" \
+ $(MYBSDMAKEJ) installhdrs-md
+.endfor # RC_ARCHS # }
+
+.for F in $(FORMS) # {
+BI-install-$(F): build-$(F)
+ ${MKDIR} $(DSTROOT)/usr/local/lib/system
+ if [ -f "$(SYMROOT)/libc$(PSUFFIX-$(F)).a" ]; then \
+ ${ECHO} "Installing libc$(PSUFFIX-$(F)).a" && \
+ ${INSTALL} -m 444 "$(SYMROOT)/libc$(PSUFFIX-$(F)).a" \
+ $(DSTROOT)/usr/local/lib/system && \
+ ${RANLIB} "$(DSTROOT)/usr/local/lib/system/libc$(PSUFFIX-$(F)).a" || exit 1; \
+ fi
+.if $(dynamic) == $(F) # {
+ if [ -f "$(SYMROOT)/libc-dyld.a" ]; then \
+ ${ECHO} "Installing libc-dyld.a" && \
+ ${INSTALL} -m 444 "$(SYMROOT)/libc-dyld.a" \
+ $(DSTROOT)/usr/local/lib/system && \
+ ${RANLIB} "$(DSTROOT)/usr/local/lib/system/libc-dyld.a" || exit 1; \
+ fi
+.for A in $(RC_ARCHS) # {
+ MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH=$(MACHINE_ARCH-$(A)) CCARCH=$(A) \
+ DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+ DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+ MAKEFLAGS="" RC_NONARCH_CFLAGS="$(RC_NONARCH_CFLAGS)" \
+ $(MYBSDMAKE) copyfiles
+.endfor # RC_ARCHS # }
+.endif # }
+.endfor # FORMS }
+
+# Don't use -j here; it may try to make links before the files are copied
+MANARGS != ${TEST} `id -u` -eq 0 || ${ECHO} MINSTALL=/usr/bin/install
+# Variables.mk defines MANDIR=${SHAREDIR}/man, but bsd.man.mk expects that
+# MANDIR=${SHAREDIR}/man/man, so we override.
+MANARGS += MANDIR=${SHAREDIR}/man/man
+install-man:
+ ${MKDIR} $(DSTROOT)/usr/share/man/man2
+ ${MKDIR} $(DSTROOT)/usr/share/man/man3
+ ${MKDIR} $(DSTROOT)/usr/share/man/man4
+ ${MKDIR} $(DSTROOT)/usr/share/man/man5
+ ${MKDIR} $(DSTROOT)/usr/share/man/man7
+ MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" \
+ DSTROOT='$(DSTROOT)' OBJROOT='$(OBJROOT)' SYMROOT='$(SYMROOT)' \
+ MACHINE_ARCH="$(MACHINE_ARCH-$(FIRST_ARCH))" CCARCH=$(FIRST_ARCH) MAKEFLAGS="" \
+ RC_NONARCH_CFLAGS="$(RC_NONARCH_CFLAGS)" \
+ $(MYBSDMAKE) all-man maninstall $(MANARGS)
+
+install-all: build install-man
+.for F in $(FORMS) # {
+install-all: BI-install-$(F)
+.endfor # FORMS }
+
+clean:
+.for F in $(FORMS) # {
+ ${RM} $(SYMROOT)/libc$(PSUFFIX-$(F)).a
+.endfor # FORMS }
+.for A in $(RC_ARCHS) # {
+ ${RMDIR} $(OBJROOT)/obj.$(A)
+.endfor # RC_ARCHS # }