Loading...
BSDmakefile Libc-763.13 Libc-498
--- Libc/Libc-763.13/BSDmakefile
+++ Libc/Libc-498/BSDmakefile
@@ -1,9 +1,4 @@
-.include <CoreOS/Standard/Commands.mk>
-.include <CoreOS/Standard/Variables.mk>
-
-ALLARCHS = arm i386 ppc ppc64 x86_64 # installsrc doesn't set RC_ARCHS
-CODESIGN != xcrun -find codesign
-TOP != ${PWD}
+PWD != pwd
 .ifdef DSTROOT
 DESTDIR = $(DSTROOT)
 .else
@@ -15,40 +10,28 @@
 .endif
 .endif
 .ifndef OBJROOT
-OBJROOT = $(TOP)/OBJROOT
+OBJROOT = $(PWD)/OBJROOT
 .endif
 .ifndef SRCROOT
-SRCROOT = $(TOP)
+SRCROOT = $(PWD)
 .endif
 .ifndef SYMROOT
-SYMROOT = $(TOP)/SYMROOT
-.endif
-MYARCH != ${ARCH}
+SYMROOT = $(PWD)/SYMROOT
+.endif
+ARCH != arch
 .ifndef RC_ARCHS
-RC_ARCHS = $(MYARCH)
+RC_ARCHS = $(ARCH)
 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
-.ifdef ALTUSRLIBSYSTEM
-LSYS = $(ALTUSRLIBSYSTEM)
-.else
-LSYS = $(SDKROOT)/usr/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)
+LIBSYS = $(NEXT_ROOT)/usr/local/lib/system
+.endif
+NJOBS != perl -e '$$n = `/usr/sbin/sysctl -n hw.ncpu`; printf "%d\n", $$n < 2 ? 2 : ($$n * 1.5)'
+BSDMAKE = bsdmake -f Makefile
+#BSDMAKEJ = $(BSDMAKE) -j $(NJOBS) -P
+BSDMAKEJ = $(BSDMAKE) -j $(NJOBS)
 
 # Set the DONT-BUILD-arch-form variable to non-empty to turn off building
 #DONT-BUILD-x86_64-static = 1
@@ -58,17 +41,10 @@
 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 }
+# Remove the arch stuff, since we know better here.
+LOCAL_CFLAGS != echo $(RC_CFLAGS) | sed 's/ *-arch [^ ][^ ]*//g'
 
 FORMS := dynamic debug profile static
-
-OBJSUFFIX-dynamic = So
-OBJSUFFIX-debug = do
-OBJSUFFIX-profile = po
-OBJSUFFIX-static = o
 
 all: build
 
@@ -76,13 +52,11 @@
 .for R in $(ROOTS) # {
 roots: $($(R))
 $($(R)):
-	${MKDIR} '$($(R))'
+	mkdir -p '$($(R))'
 .endfor # ROOTS }
 
 # These are the non B&I defaults
 .ifndef RC_ProjectName
-
-RC_ProjectName = Libc
 
 installhdrs: roots installhdrs-real
 build: roots build-static build-profile build-debug build-dynamic
@@ -90,41 +64,34 @@
 
 .else # RC_ProjectName
 
-RC_ProjectNameBase := $(RC_ProjectName:%_Sim=%)
-.if $(RC_ProjectName) == $(RC_ProjectNameBase)
-INSTALL_PREFIX =
-.else
-INSTALL_PREFIX = $(SDKROOT)
-.endif
-
 # And these are to deal with B&I building libc differently 
 # based on RC_ProjectName.
-.if $(RC_ProjectNameBase) == Libc
+.if $(RC_ProjectName) == Libc
 installhdrs:
 build: roots build-dynamic
 install: roots BI-install-dynamic
 .endif
-.if $(RC_ProjectNameBase) == Libc_headers
+.if $(RC_ProjectName) == Libc_headers
 installhdrs: roots installhdrs-real
 build:
 install: roots installhdrs-real
 .endif
-.if $(RC_ProjectNameBase) == Libc_man
+.if $(RC_ProjectName) == Libc_man
 installhdrs:
 build:
 install: roots install-man
 .endif
-.if $(RC_ProjectNameBase) == Libc_static
+.if $(RC_ProjectName) == Libc_static
 installhdrs:
 build: roots build-static
 install: roots BI-install-static
 .endif
-.if $(RC_ProjectNameBase) == Libc_debug
+.if $(RC_ProjectName) == Libc_debug
 installhdrs:
 build: roots build-debug
 install: roots BI-install-debug
 .endif
-.if $(RC_ProjectNameBase) == Libc_profile
+.if $(RC_ProjectName) == Libc_profile
 installhdrs:
 build: roots build-profile
 install: roots BI-install-profile
@@ -140,14 +107,14 @@
 .ifdef ALTFRAMEWORKSPATH
 FRAMEWORKPATH = ${ALTFRAMEWORKSPATH}
 .else
-FRAMEWORKPATH = ${SDKROOT}/System/Library/Frameworks
+FRAMEWORKPATH = ${NEXT_ROOT}/System/Library/Frameworks
 .endif
 $(FRAMEWORKS):
 	$(SRCROOT)/patchHeaders $(FRAMEWORKPATH)/$(PRIVATEHEADERPATH) $(FRAMEWORKS)/$(PRIVATEHEADERPATH:H)
-	${LN} -fs $(VERSIONSB)/PrivateHeaders $(FRAMEWORKS)/$(SYSTEMFRAMEWORK)/PrivateHeaders
+	ln -fs $(VERSIONSB)/PrivateHeaders $(FRAMEWORKS)/$(SYSTEMFRAMEWORK)/PrivateHeaders
 
 AUTOPATCHED = $(SRCROOT)/.autopatched
-PARTIAL = 
+PARTIAL = -partial
 .for F in $(FORMS) # {
 .if $(dynamic) == $(F) # {
 SUFFIX-$(F) =
@@ -160,19 +127,17 @@
 .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
+	mkdir -p $(OBJROOT)/obj.$(A) && \
+	MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH="$(A)" \
+	    DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+	    MAKEFLAGS="" CFLAGS="-arch $(A) $(LOCAL_CFLAGS)" $(BSDMAKEJ) 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
+NARCHS-$(F) != echo $(ARCHS-$(F)) | wc -w
 
 build-$(F): $(FRAMEWORKS) $(AUTOPATCHED)
 .for A in $(RC_ARCHS) # {
@@ -182,21 +147,12 @@
 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 # }
+LIPOARGS-$(F) != perl -e 'printf "%s\n", join(" ", map(qq(-arch $$_ \"$(OBJROOT)/obj.$$_/libc$(SUFFIX-$(F)).a\"), qw($(ARCHS-$(F)))))'
 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 # }
+	cp -p "$(OBJROOT)/obj.$(RC_ARCHS)/libc$(SUFFIX-$(F)).a" "$(SYMROOT)/libc$(PSUFFIX-$(F)).a"
+.else # } {
+	lipo -create $(LIPOARGS-$(F)) -output "$(SYMROOT)/libc$(PSUFFIX-$(F)).a"
 .endif # }
 .endif # }
 .endfor # FORMS }
@@ -204,76 +160,61 @@
 # 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 # }
+	@set -x && \
+	for m in `find $(SRCROOT) -name Makefile.inc`; do \
+	    cd `dirname $$m` && \
+	    bsdmake -I $(SRCROOT) -f $(SRCROOT)/Makefile.inc -f Makefile.inc -f $(SRCROOT)/Makefile.autopatch autopatch LIB=c SRCROOT=$(SRCROOT) || \
+	    exit 1; \
+	done
 	touch $(AUTOPATCHED)
 
 copysrc:
-	${TAR} -cp --exclude .git --exclude .svn --exclude CVS . | ${TAR} -pox -C "$(SRCROOT)"
+	pax -rw -p p . "$(SRCROOT)"
 
 installsrc: copysrc $(AUTOPATCHED)
 
 installhdrs-real:
-	MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)$(INSTALL_PREFIX)" MAKEFLAGS="" \
-	    DSTROOT="$(DSTROOT)$(INSTALL_PREFIX)" 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
+	MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" MAKEFLAGS="" \
+	    DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+	    $(BSDMAKEJ) installhdrs
+.for A in $(RC_ARCHS) # {
+	mkdir -p "$(OBJROOT)/obj.$(A)" && \
+	MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH="$(A)" \
+	    DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
+	    MAKEFLAGS="" $(BSDMAKEJ) installhdrs-md
 .endfor # RC_ARCHS # }
 
 .for F in $(FORMS) # {
 BI-install-$(F): build-$(F)
-	$(CC) -dynamiclib -o $(SYMROOT)/libsystem_c$(SUFFIX-$(F)).dylib $(RC_ARCHS:C/^/-arch /g) \
-		-compatibility_version 1 -current_version $(RC_ProjectSourceVersion) \
-		-install_name /usr/lib/system/libsystem_c$(SUFFIX-$(F)).dylib -nostdlib -Wl,-umbrella,System \
-		-all_load $(SYMROOT)/libc$(PSUFFIX-$(F)).a -Wl,-interposable_list,$(SRCROOT)/interposable.list \
-		-L$(LSYS) -L$(SDKROOT)/usr/lib -lSystem -lgcc
-	${MKDIR} $(DSTROOT)/usr/local/lib/system
-	${MKDIR} $(DSTROOT)/usr/lib/system
-	${INSTALL} $(SYMROOT)/libsystem_c$(SUFFIX-$(F)).dylib $(DSTROOT)/usr/lib/system
-	${STRIP} -S $(DSTROOT)/usr/lib/system/libsystem_c$(SUFFIX-$(F)).dylib
-	-${CODESIGN} -s - $(DSTROOT)/usr/lib/system/libsystem_c$(SUFFIX-$(F)).dylib
+	mkdir -p $(DSTROOT)/usr/local/lib/system
+	if [ -f "$(SYMROOT)/libc$(PSUFFIX-$(F)).a" ]; then \
+		echo "Installing libc$(PSUFFIX-$(F)).a" && \
+		install -c -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" && \
-		${MKDIR} $(DSTROOT)/usr/local/lib/dyld && \
-		${INSTALL} -m 444 "$(SYMROOT)/libc-dyld.a" \
-			$(DSTROOT)/usr/local/lib/dyld/libc.a && \
-		${LN} -sf "../dyld/libc.a" "$(DSTROOT)/usr/local/lib/system/libc-dyld.a" && \
-		${RANLIB} "$(DSTROOT)/usr/local/lib/dyld/libc.a" || exit 1; \
-	fi
-.for A in $(RC_ARCHS) # {
-	MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH=$(MACHINE_ARCH-$(A)) CCARCH=$(A) \
+.for A in $(RC_ARCHS) # {
+	MAKEOBJDIR="$(OBJROOT)/obj.$(A)" MACHINE_ARCH="$(A)" \
 	DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
 	    DSTROOT=$(DSTROOT) OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) \
-	    MAKEFLAGS="" RC_NONARCH_CFLAGS="$(RC_NONARCH_CFLAGS)" \
-	    $(MYBSDMAKE) copyfiles
+	    MAKEFLAGS="" $(BSDMAKE) 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
+MANARGS != test `id -u` -eq 0 || echo MINSTALL=/usr/bin/install
 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)$(INSTALL_PREFIX)" \
-		DSTROOT='$(DSTROOT)$(INSTALL_PREFIX)' 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)
+	mkdir -p $(DSTROOT)/usr/share/man/man2
+	mkdir -p $(DSTROOT)/usr/share/man/man3
+	mkdir -p $(DSTROOT)/usr/share/man/man4
+	mkdir -p $(DSTROOT)/usr/share/man/man5
+	mkdir -p $(DSTROOT)/usr/share/man/man7
+	MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" \
+		DSTROOT='$(DSTROOT)' OBJROOT='$(OBJROOT)' SYMROOT='$(SYMROOT)' \
+		MACHINE_ARCH="$(ARCH)" MAKEFLAGS="" \
+		$(BSDMAKE) autopatchman all-man maninstall $(MANARGS)
 
 install-all: build install-man
 .for F in $(FORMS) # {
@@ -282,8 +223,8 @@
 
 clean:
 .for F in $(FORMS) # {
-	${RM} $(SYMROOT)/libc$(PSUFFIX-$(F)).a
-.endfor # FORMS }
-.for A in $(RC_ARCHS) # {
-	${RMDIR} $(OBJROOT)/obj.$(A)
+	rm -f $(SYMROOT)/libc$(PSUFFIX-$(F)).a
+.endfor # FORMS }
+.for A in $(RC_ARCHS) # {
+	rm -rf $(OBJROOT)/obj.$(A)
 .endfor # RC_ARCHS # }