Loading...
GNUmakefile Libc-391.4.2 Libc-320
--- Libc/Libc-391.4.2/GNUmakefile
+++ Libc/Libc-320/GNUmakefile
@@ -5,23 +5,17 @@
 SYMROOT = .
 endif
 ARCH = $(shell arch)
-ifndef RC_ARCHS 
-RC_$(ARCH) = 1
-RC_ARCHS = $(ARCH)
-endif
-ifdef ALTUSRLOCALLIBSYSTEM
-LIBSYS = $(ALTUSRLOCALLIBSYSTEM)
-else
-LIBSYS = $(NEXT_ROOT)/usr/local/lib/system
-endif
-NJOBS = $(shell perl -e '$$n = `/usr/sbin/sysctl -n hw.ncpu`; printf "%d\n", $$n < 2 ? 2 : ($$n * 1.5)')
-BSDMAKE = bsdmake -j $(NJOBS)
+ifndef RC_ppc 
+ifndef RC_i386
+RC_ppc = 1
+endif
+endif
+BSDMAKE = bsdmake -j 2
 
 # Remove the arch stuff, since we know better here.  
-LOCAL_CFLAGS = $(filter-out -arch ppc -arch ppc64 -arch i386,$(RC_CFLAGS))
+LOCAL_CFLAGS = $(filter-out -arch ppc -arch i386,$(RC_CFLAGS))
 
 all: build
-
 # These are the non B&I defaults
 ifndef RC_ProjectName
 installhdrs: installhdrs-real
@@ -32,19 +26,9 @@
 # And these are to deal with B&I building libc differently 
 # based on RC_ProjectName.
 ifeq ($(RC_ProjectName),Libc)
-installhdrs:
-build: build-dynamic
-install: BI-install-dynamic
-endif
-ifeq ($(RC_ProjectName),Libc_headers)
 installhdrs: installhdrs-real
-build:
-install: installhdrs-real
-endif
-ifeq ($(RC_ProjectName),Libc_man)
-installhdrs:
-build:
-install: install-man
+build: build-man build-dynamic
+install: installhdrs-real BI-install-dynamic install-man
 endif
 ifeq ($(RC_ProjectName),Libc_static)
 installhdrs:
@@ -62,175 +46,132 @@
 install: BI-install-profile
 endif
 
-# Because of 3780028, there are random failures on HFS because the
-# CC_PRINT_OPTIONS_FILE can't be created.  So we touch it first.
-ifneq ($(CC_PRINT_OPTIONS_FILE),)
-$(CC_PRINT_OPTIONS_FILE):
-	touch $(CC_PRINT_OPTIONS_FILE)
-endif
-
-build-static: autopatch $(CC_PRINT_OPTIONS_FILE) build-ppc-static build-ppc64-static build-i386-static
-	@echo "Creating final libc_static.a"
-ifeq ($(words $(RC_ARCHS)),1)
-	cp -p "$(OBJROOT)/obj.$(RC_ARCHS)/libc_static.a" "$(SYMROOT)"
-else
-	lipo -create \
-		$(foreach A,$(RC_ARCHS),-arch $(A) "$(OBJROOT)/obj.$(A)/libc_static.a") \
-		-output $(SYMROOT)/libc_static.a
-endif
-build-profile: autopatch $(CC_PRINT_OPTIONS_FILE) build-ppc-profile build-ppc64-profile build-i386-profile
-	@echo "Creating final libc_profile.a"
-ifeq ($(words $(RC_ARCHS)),1)
-	cp -p "$(OBJROOT)/obj.$(RC_ARCHS)/libc_profile.a" "$(SYMROOT)"
-else
-	lipo -create \
-		$(foreach A,$(RC_ARCHS),-arch $(A) "$(OBJROOT)/obj.$(A)/libc_profile.a") \
-		-output $(SYMROOT)/libc_profile.a
-endif
-build-debug: autopatch $(CC_PRINT_OPTIONS_FILE) build-ppc-debug build-ppc64-debug build-i386-debug
-	@echo "Creating final libc_debug.a"
-ifeq ($(words $(RC_ARCHS)),1)
-	cp -p "$(OBJROOT)/obj.$(RC_ARCHS)/libc_debug.a" "$(SYMROOT)"
-else
-	lipo -create \
-		$(foreach A,$(RC_ARCHS),-arch $(A) "$(OBJROOT)/obj.$(A)/libc_debug.a") \
-		-output $(SYMROOT)/libc_debug.a
-endif
-build-dynamic: autopatch $(CC_PRINT_OPTIONS_FILE) build-ppc-dynamic build-ppc64-dynamic build-i386-dynamic
-	@echo "Creating final libc.a"
-ifeq ($(words $(RC_ARCHS)),1)
-	cp -p "$(OBJROOT)/obj.$(RC_ARCHS)/libc.a" "$(SYMROOT)"
-else
-	lipo -create \
-		$(foreach A,$(RC_ARCHS),-arch $(A) "$(OBJROOT)/obj.$(A)/libc.a") \
-		-output $(SYMROOT)/libc.a
-endif
+build-man:
+	MAKEOBJDIR="$(OBJROOT)" MACHINE_ARCH="$(shell arch)" \
+		MAKEFLAGS="" $(BSDMAKE) buildman
+build-static: build-ppc-static build-i386-static
+	@echo "Checking for libc_static.a"
+	@if [ -f "$(OBJROOT)/obj.ppc/libc_static.a" -a -f "$(OBJROOT)/obj.i386/libc_static.a" ]; then\
+		lipo -create -arch ppc "$(OBJROOT)/obj.ppc/libc_static.a" \
+			-arch i386 "$(OBJROOT)/obj.i386/libc_static.a" \
+			-output $(SYMROOT)/libc_static.a;\
+	elif [ -f "$(OBJROOT)/obj.ppc/libc_static.a" ]; then \
+		cp -p "$(OBJROOT)/obj.ppc/libc_static.a" "$(SYMROOT)"; \
+	elif [ -f "$(OBJROOT)/obj.i386/libc_static.a" ]; then \
+		cp -p "$(OBJROOT)/obj.i386/libc_static.a" "$(SYMROOT)"; \
+	fi
+build-profile: build-ppc-profile build-i386-profile
+	@echo "Checking for libc_profile.a"
+	@if [ -f "$(OBJROOT)/obj.ppc/libc_profile.a" -a -f "$(OBJROOT)/obj.i386/libc_profile.a" ]; then\
+		lipo -create -arch ppc "$(OBJROOT)/obj.ppc/libc_profile.a" \
+			-arch i386 "$(OBJROOT)/obj.i386/libc_profile.a" \
+			-output $(SYMROOT)/libc_profile.a;\
+	elif [ -f "$(OBJROOT)/obj.ppc/libc_profile.a" ]; then \
+		cp -p "$(OBJROOT)/obj.ppc/libc_profile.a" "$(SYMROOT)"; \
+	elif [ -f "$(OBJROOT)/obj.i386/libc_profile.a" ]; then \
+		cp -p "$(OBJROOT)/obj.i386/libc_profile.a" "$(SYMROOT)"; \
+	fi
+build-debug: build-ppc-debug build-i386-debug
+	@echo "Checking for libc_debug.a"
+	@if [ -f "$(OBJROOT)/obj.ppc/libc_debug.a" -a -f "$(OBJROOT)/obj.i386/libc_debug.a" ]; then\
+		lipo -create -arch ppc "$(OBJROOT)/obj.ppc/libc_debug.a" \
+			-arch i386 "$(OBJROOT)/obj.i386/libc_debug.a" \
+			-output $(SYMROOT)/libc_debug.a;\
+	elif [ -f "$(OBJROOT)/obj.ppc/libc_debug.a" ]; then \
+		cp -p "$(OBJROOT)/obj.ppc/libc_debug.a" "$(SYMROOT)"; \
+	elif [ -f "$(OBJROOT)/obj.i386/libc_debug.a" ]; then \
+		cp -p "$(OBJROOT)/obj.i386/libc_debug.a" "$(SYMROOT)"; \
+	fi
+build-dynamic: build-ppc-dynamic build-i386-dynamic
+	@echo "Checking for libc.a"
+	@if [ -f "$(OBJROOT)/obj.ppc/libc.a" -a -f "$(OBJROOT)/obj.i386/libc.a" ]; then\
+		echo "Creating FAT libc.a"; \
+		lipo -create -arch ppc "$(OBJROOT)/obj.ppc/libc.a" -arch i386 \
+			"$(OBJROOT)/obj.i386/libc.a" -output $(SYMROOT)/libc.a;\
+	elif [ -f "$(OBJROOT)/obj.ppc/libc.a" ]; then \
+		echo "Using thin PPC libc.a" ;\
+		cp -p "$(OBJROOT)/obj.ppc/libc.a" "$(SYMROOT)"; \
+	elif [ -f "$(OBJROOT)/obj.i386/libc.a" ]; then \
+		echo "Using thin i386 libc.a" ;\
+		cp -p "$(OBJROOT)/obj.i386/libc.a" "$(SYMROOT)"; \
+	fi
 build-ppc-static:
-ifneq ($(RC_ppc),)
-	mkdir -p $(OBJROOT)/obj.ppc ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-		MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_static.a
-endif
-build-ppc64-static:
-ifneq ($(RC_ppc64),)
-	mkdir -p $(OBJROOT)/obj.ppc64 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-		MAKEFLAGS="" CFLAGS="-arch ppc64 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_static.a
-endif
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p $(OBJROOT)/obj.ppc ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+			MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_static.a;\
+	fi
 build-i386-static:
-ifneq ($(RC_i386),)
-	mkdir -p $(OBJROOT)/obj.i386 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-		MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_static.a
-endif
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p $(OBJROOT)/obj.i386 ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+			MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_static.a;\
+	fi
 build-ppc-profile:
-ifneq ($(RC_ppc),)
-	mkdir -p $(OBJROOT)/obj.ppc ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-		MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_profile.a
-endif
-build-ppc64-profile:
-ifneq ($(RC_ppc64),)
-	mkdir -p $(OBJROOT)/obj.ppc64 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-		MAKEFLAGS="" CFLAGS="-arch ppc64 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_profile.a
-endif
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p $(OBJROOT)/obj.ppc ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+			MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_profile.a;\
+	fi
 build-i386-profile:
-ifneq ($(RC_i386),)
-	mkdir -p $(OBJROOT)/obj.i386 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-		MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_profile.a
-endif
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p $(OBJROOT)/obj.i386 ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+			MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_profile.a;\
+	fi
 build-ppc-debug:
-ifneq ($(RC_ppc),)
-	mkdir -p $(OBJROOT)/obj.ppc ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-		MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_debug.a
-endif
-build-ppc64-debug:
-ifneq ($(RC_ppc64),)
-	mkdir -p $(OBJROOT)/obj.ppc64 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-		MAKEFLAGS="" CFLAGS="-arch ppc64 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_debug.a
-endif
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p $(OBJROOT)/obj.ppc ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+			MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc_debug.a;\
+	fi
 build-i386-debug:
-ifneq ($(RC_i386),)
-	mkdir -p $(OBJROOT)/obj.i386 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-		MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_debug.a
-endif
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p $(OBJROOT)/obj.i386 ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+			MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc_debug.a;\
+	fi
 build-ppc-dynamic:
-ifneq ($(RC_ppc),)
-	mkdir -p $(OBJROOT)/obj.ppc ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-		MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc.a
-endif
-build-ppc64-dynamic:
-ifneq ($(RC_ppc64),)
-	mkdir -p $(OBJROOT)/obj.ppc64 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-		MAKEFLAGS="" CFLAGS="-arch ppc64 $(LOCAL_CFLAGS)" $(BSDMAKE) libc.a
-endif
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p $(OBJROOT)/obj.ppc ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+			MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) libc.a;\
+	fi
 build-i386-dynamic:
-ifneq ($(RC_i386),)
-	mkdir -p $(OBJROOT)/obj.i386 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-		MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc.a
-endif
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p $(OBJROOT)/obj.i386 ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+			MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) libc.a;\
+	fi
+
 build-ppc:
-ifneq ($(RC_ppc),)
-	mkdir -p $(OBJROOT)/obj.ppc ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-		MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) build
-endif
-build-ppc64:
-ifneq ($(RC_ppc64),)
-	mkdir -p $(OBJROOT)/obj.ppc64 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-		MAKEFLAGS="" CFLAGS="-arch ppc64 $(LOCAL_CFLAGS)" $(BSDMAKE) build
-endif
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p $(OBJROOT)/obj.ppc ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+			MAKEFLAGS="" CFLAGS="-arch ppc $(LOCAL_CFLAGS)" $(BSDMAKE) build;\
+	fi
 build-i386:
-ifneq ($(RC_i386),)
-	mkdir -p $(OBJROOT)/obj.i386 ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-		MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) build
-endif
-
-# We have to separately call bsdmake to patch the FreeBSD files, because of
-# the way its cache works, it would otherwise pick a file in ${SYMROOT}, even
-# over a .s file.
-autopatch:
-ifneq ($(RC_i386),)
-	MACHINE_ARCH="i386" $(BSDMAKE) autopatch
-endif
-ifneq ($(RC_ppc),)
-	MACHINE_ARCH="ppc" $(BSDMAKE) autopatch
-endif
-ifneq ($(RC_ppc64),)
-	MACHINE_ARCH="ppc64" $(BSDMAKE) autopatch
-endif
-
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p $(OBJROOT)/obj.i386 ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+			MAKEFLAGS="" CFLAGS="-arch i386 $(LOCAL_CFLAGS)" $(BSDMAKE) build;\
+	fi
 installsrc:
 	$(_v) pax -rw . "$(SRCROOT)"
 
-installhdrs-real: $(CC_PRINT_OPTIONS_FILE)
+installhdrs-real:
 	MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" MAKEFLAGS="" \
 		$(BSDMAKE) installhdrs
-ifneq ($(RC_i386),)
-	mkdir -p "$(OBJROOT)/obj.i386" ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
-	    MAKEFLAGS="" $(BSDMAKE) installhdrs-md
-endif
-ifneq ($(RC_ppc),)
-	mkdir -p "$(OBJROOT)/obj.ppc" ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
-	    MAKEFLAGS="" $(BSDMAKE) installhdrs-md
-endif
-ifneq ($(RC_ppc64),)
-	mkdir -p "$(OBJROOT)/obj.ppc64" ; \
-	MAKEOBJDIR="$(OBJROOT)/obj.ppc64" MACHINE_ARCH="ppc64" \
-	    MAKEFLAGS="" $(BSDMAKE) installhdrs-md
-endif
+	@if [ ! -z "$(RC_i386)" ]; then \
+		mkdir -p "$(OBJROOT)/obj.i386" ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.i386" MACHINE_ARCH="i386" \
+		MAKEFLAGS="" $(BSDMAKE) installhdrs-md ; \
+	fi
+	@if [ ! -z "$(RC_ppc)" ]; then \
+		mkdir -p "$(OBJROOT)/obj.ppc" ; \
+		MAKEOBJDIR="$(OBJROOT)/obj.ppc" MACHINE_ARCH="ppc" \
+		MAKEFLAGS="" $(BSDMAKE) installhdrs-md ; \
+	fi
 
 BI-install-static: build-static
 	mkdir -p $(DSTROOT)/usr/local/lib/system
@@ -248,13 +189,6 @@
 			$(DSTROOT)/usr/local/lib/system; \
 		ranlib "$(DSTROOT)/usr/local/lib/system/libc_profile.a"; \
 	fi
-ifneq ($(RC_ppc),)
-	if [ -f "$(OBJROOT)/obj.ppc/libc-ldbl128_profile.a" ]; then \
-		echo "Installing libldbl128_profile.a" ; \
-		$(SRCROOT)/make_libldbl128 "$(OBJROOT)/obj.ppc/libc-ldbl128_profile.a" \
-			"_profile" "$(DSTROOT)/usr/local/lib/system" $(LIBSYS) ; \
-	fi
-endif
 BI-install-debug: build-debug
 	mkdir -p $(DSTROOT)/usr/local/lib/system
 	if [ -f "$(SYMROOT)/libc_debug.a" ]; then \
@@ -263,13 +197,6 @@
 			$(DSTROOT)/usr/local/lib/system; \
 		ranlib "$(DSTROOT)/usr/local/lib/system/libc_debug.a"; \
 	fi
-ifneq ($(RC_ppc),)
-	if [ -f "$(OBJROOT)/obj.ppc/libc-ldbl128_debug.a" ]; then \
-		echo "Installing libldbl128_debug.a" ; \
-		$(SRCROOT)/make_libldbl128 "$(OBJROOT)/obj.ppc/libc-ldbl128_debug.a" \
-			"_debug" "$(DSTROOT)/usr/local/lib/system" $(LIBSYS) ; \
-	fi
-endif
 BI-install-dynamic: build-dynamic
 	mkdir -p $(DSTROOT)/usr/local/lib/system
 	if [ -f "$(SYMROOT)/libc.a" ]; then \
@@ -278,13 +205,6 @@
 			$(DSTROOT)/usr/local/lib/system; \
 		ranlib "$(DSTROOT)/usr/local/lib/system/libc.a"; \
 	fi
-ifneq ($(RC_ppc),)
-	if [ -f "$(OBJROOT)/obj.ppc/libc-ldbl128.a" ]; then \
-		echo "Installing libldbl128.a" ; \
-		$(SRCROOT)/make_libldbl128 "$(OBJROOT)/obj.ppc/libc-ldbl128.a" \
-			"" "$(DSTROOT)/usr/local/lib/system" $(LIBSYS) ; \
-	fi
-endif
 
 # Don't use -j here; it may try to make links before the files are copied
 install-man:
@@ -294,9 +214,9 @@
 	mkdir -p $(DSTROOT)/usr/share/man/man5
 	mkdir -p $(DSTROOT)/usr/share/man/man7
 	MAKEOBJDIR="$(OBJROOT)" DESTDIR="$(DSTROOT)" NOMANCOMPRESS=1 \
-		MACHINE_ARCH="$(shell arch)" MAKEFLAGS="" bsdmake autopatchman maninstall
-
-install-all: build install-man BI-install-dynamic BI-install-static BI-install-profile BI-install-debug
+		MACHINE_ARCH="$(shell arch)" MAKEFLAGS="" bsdmake fbsdman maninstall
+
+install-all: build install-man BI-install-dynamic BI-install-static BI-install-profile
 
 clean:
 	rm -rf $(OBJROOT)/obj.ppc $(OBJROOT)/obj.i386 $(OBJROOT)/libc.a \